元のデータを入力として使用する場合、Rのpredict()関数によって返される予測値は何ですか?


11

reg <- lm(y ~ x1 + x2, data=example)データセットでフォームの回帰を実行した後、次を使用して予測値を取得できます

predict(reg, example, interval="prediction", level=0.95)

回帰を使用して実際のデータセットを予測しているときに、予測値が実際に何を参照しているのか疑問に思っています。元の値を取得すべきではありませんか?

回答:


18

使用しているモデルは次の形式を取ります

yi=μ+β1x1i+β2x2i+ϵi (1)

ここで、はゼロ平均正規分布に由来すると想定される誤差項です。ϵi

μ^β^1β^2

x1ix2iyi

yi=μ^+β^1x1i+β^2x2i (2)

yxyiyi

編集する

あなたのコメントで、あなたはpredict()実際に何をするかを尋ねました。簡単な例を示します。

    #generate a simple illustrative data set
> x <- runif(10)
> y <- 5 + 2.7 * x + rnorm(10, mean=0, sd=sqrt(0.15))
> 
>   #fit the model and store the coefficients
> regLin <- lm(y~x)
> coef <- coef(regLin)
> 
>   #use the predict() function
> y_star2 <- predict(regLin)
>   #use equation (2)
> y_star1 <- coef[1] + coef[2] * x
>   #compare
> cbind(y, y_star1, y_star2) 
          y  y_star1  y_star2
1  7.100217 6.813616 6.813616
2  6.186333 5.785473 5.785473
3  7.141016 7.492979 7.492979
4  5.121265 5.282990 5.282990
5  4.681924 4.849776 4.849776
6  6.102339 6.106751 6.106751
7  7.223215 7.156512 7.156512
8  5.158546 5.253380 5.253380
9  7.160201 7.198074 7.198074
10 5.555289 5.490793 5.490793

1
x1x2β0

@ocramでは、同じデータセットと対応する回帰方程式を使用しているときに、予測関数は正確に何をしているのでしょうか。
upabove

@chl、それは、予測がカテゴリー予測子をもつglm(またはglm.nb)モデルにあるべきでないことを意味しますか?例:dat <-data.frame(y = as.numeric(c(10,15,12,1,0,2,180,200,188,181,300,288))、p = as.factor(c(rep( "yes"、6)、rep ( "no"、6)))、t = as.factor(c(rep( "tp1"、3)、rep( "tp2"、3)、rep( "tp1"、3)、rep( "tp2" 、3))))を必要とする(MASS)nb_fit < - glm.nb(Y〜P * T、データ= DAT)pre_fit < -予測(nb_fit、タイプ= "応答")
アルン

μβ0

1
kk1
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.