원래 데이터를 입력으로 사용할 때 R의 predict () 함수가 반환하는 예측 값은 무엇입니까?


11

reg <- lm(y ~ x1 + x2, data=example)데이터 집합 에서 양식의 회귀를 실행 한 후 다음을 사용하여 예측 값을 얻을 수 있습니다

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

실제 데이터 세트를 예측하기 위해 회귀를 사용할 때 예측 값이 실제로 무엇을 나타내는 지 궁금합니다. 원래 값을 얻어야합니까?

답변:


18

작업중인 모델이 형식을 취합니다.

와이나는=μ+β1엑스1나는+β2엑스2나는+ϵ나는 (1)

여기서 은 평균 제로 정규 분포에서 나온 것으로 가정되는 오류 항입니다.ϵ나는

모델을 피팅했으며 , 및 추정값을 얻었습니다 .μ^β^1β^2

이제 공변량 값을 및 범위 내에서 수정하면 대한 예측 값을 계산하여 얻을 수 있습니다엑스1나는엑스2나는와이나는

와이나는=μ^+β^1엑스1나는+β^2엑스2나는 (2)

모형이 데이터에 완벽하게 들어 맞으면 예측 값이 실제 값입니다. 그러나 일반적 으로 값 의 간단한 선형 조합으로 값을 정확하게 얻을 수는 없습니다 ( " 모든 모델이 잘못되었지만 일부는 유용합니다 "). 다른 말로하면, (1)의 오차항의 분산은 일반적으로 0이 아닙니다. 그러나 기본적으로 모형 (1)은 잔차 (또는 이들의 축척 된 버전)가 "작은" 경우의 근사치 입니다.와이엑스와이나는와이나는

편집하다

당신의 의견에서, 당신은 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)))) require (MASS) nb_fit <-glm.nb (y ~ p * t, data = dat) pre_fit <-predict (nb_fit, type = "response")
Arun

μβ0

1
케이케이1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.