0

いくつかのデータがあり、R を使用してそれらをプロットに描画します。その後、そのデータについて黄土関数を描画します。コードは次のとおりです。

data <- read.table("D:/data.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
ur <- subset(data, select = c(users,responseTime))
ur <- ur[with(ur, order(users, responseTime)), ]

plot(ur, xlab="Users", ylab="Response Time (ms)")
lines(ur)
loess_fit <- loess(responseTime ~ users, ur)
lines(ur$users, predict(loess_fit), col = "blue")

これが私のプロットのイメージです: http://tinypic.com/r/2ziqa2x/8

この回帰の関数を取得するにはどうすればよいですか? 例: responseTime = 68 + 45 * ユーザー。

ありがとう。

4

2 に答える 2

1

コードのオブジェクトを使用してloess_fit、応答時間を予測できます。230 人のユーザーの平均応答時間を見積もる場合は、次のようにします。

predict(loess_fit, newdata=data.frame(users=230))

このテーマに関する興味深いブログ記事を次に示します。

編集: データ外の値を予測したい場合は、理論またはさらなる仮定が必要です。最も単純な仮定は線形フィットです。

lm_fit <- lm(responseTime ~ users, data=ur)
predict(lm_fit, newdata=data.frame(users=400))

ただし、データは不均一性 (一定でない分散) を示し、非正規の残差を示す場合があります。その場合は確認してみるといいかもしれません。rlmそうである場合は、パッケージなどの堅牢な線形フィッティング手順MASS、または一般化された線形モデルglmを試してみる価値があります。私はその専門家ではありません。他の誰かまたはCross Validatedの誰かがより良い助けを提供できるかもしれません。

于 2014-03-16T22:27:29.343 に答える