13

対数関係にあると思われるデータポイント (x と y) がいくつかあります。

> mydata
    x   y
1   0 123
2   2 116
3   4 113
4  15 100
5  48  87
6  75  84
7 122  77

> qplot(x, y, data=mydata, geom="line")

プロット

3ここで、グラフに適合し、他のデータポイント (または)を推測できる基になる関数を見つけたいと思います82。私はについて読みましたがlmnls実際にはどこにも行きません。

最初に、プロットに最も似ていると思われる関数を作成しました。

f <- function(x, a, b) {
    a * exp(b *-x)
}
x <- seq(0:100)
y <- f(seq(0:100), 1,1)
qplot(x,y, geom="line")

プロット2

その後、以下を使用してフィッティング モデルを生成しようとしましたnls

> fit <- nls(y ~ f(x, a, b), data=mydata, start=list(a=1, b=1))
   Error in numericDeriv(form[[3]], names(ind), env) :
   Missing value or an Infinity produced when evaluating the model

ここから何をすべきかについて、誰かが私を正しい方向に向けることができますか?

ファローアップ

あなたのコメントを読み、もう少しグーグルで調べた後、 の開始パラメータを調整するとa、突然モデルが収束しました。bc

fit <- nls(y~f(x,a,b,c), data=data.frame(mydata), start=list(a=1, b=30, c=-0.3))
x <- seq(0,120)
fitted.data <- data.frame(x=x, y=predict(fit, list(x=x))
ggplot(mydata, aes(x, y)) + geom_point(color="red", alpha=.5) + geom_line(alpha=.5) + geom_line(data=fitted.data)

プロット3

4

3 に答える 3

10

おそらく、モデルに 3 次仕様を使用し、ビアを推定するlmと、適切な適合が得られるでしょう。

# Importing your data
dataset <- read.table(text='
    x   y
1   0 123
2   2 116
3   4 113
4  15 100
5  48  87
6  75  84
7 122  77', header=T)

# I think one possible specification would be a cubic linear model
y.hat <- predict(lm(y~x+I(x^2)+I(x^3), data=dataset)) # estimating the model and obtaining the fitted values from the model

qplot(x, y, data=dataset, geom="line") # your plot black lines
last_plot() + geom_line(aes(x=x, y=y.hat), col=2) # the fitted values red lines

# It fits good.

ここに画像の説明を入力

于 2012-08-07T12:42:28.240 に答える
3

応答変数のログを取り、それを使用lmして線形モデルを適合させてみてください。

fit <- lm(log(y) ~ x, data=mydata)

調整された R-2 乗は 0.8486 で、額面通りでは悪くありません。たとえば、プロットを使用して適合を確認できます。

plot(fit, which=2)

しかし、結局のところ、それはそれほど適切ではありません。

last_plot() + geom_line(aes(x=x, y=exp(fit$fitted.values)))
于 2012-08-07T11:32:06.017 に答える
2

このドキュメントをチェックしてください: http://cran.r-project.org/doc/contrib/Ricci-distributions-en.pdf

簡単に言えば、最初にデータに適合するモデル (指数モデルなど) を決定し、次にそのパラメーターを推定する必要があります。

広く使用されているディストリビューションを次に示します: http://www.itl.nist.gov/div898/handbook/eda/section3/eda366.htm

于 2012-08-07T11:34:42.983 に答える