2012-08-30 5 views

답변

48

예, 있습니다. 선형 예측자를 응답의 예상 값 (예 : 포아송 회귀 또는 로지스틱 회귀에 대한 로그)과 연결하는 link function이있는 경우 은 앞에 맞는 값을 반환합니다. 링크 함수의 역함수가 적용됩니다. 데이터는 응답 변수와 동일한 축척으로), fitted은이 적용된 후에 을 표시합니다. 예를 들어

:

x = rnorm(10) 
y = rpois(10, exp(x)) 
m = glm(y ~ x, family="poisson") 

print(fitted(m)) 
#   1   2   3   4   5   6   7   8 
# 0.3668989 0.6083009 0.4677463 0.8685777 0.8047078 0.6116263 0.5688551 0.4909217 
#   9  10 
# 0.5583372 0.6540281 
print(predict(m)) 
#   1   2   3   4   5   6   7 
# -1.0026690 -0.4970857 -0.7598292 -0.1408982 -0.2172761 -0.4916338 -0.5641295 
#   8   9   10 
# -0.7114706 -0.5827923 -0.4246050 
print(all.equal(log(fitted(m)), predict(m))) 
# [1] TRUE 

이것은 fittedpredict과 차이가 없다 선형 회귀 (lm)에 의해 생성 된 모델에 대한 것을 의미한다.

실제로는 원래 데이터와 피트를 비교하려면 fitted을 사용해야 함을 의미합니다.

+13

멀리까지 좋은 대답 그러나,'predict (m, type = "응답")을 사용하여 원래의 (응답) 규모에 대한 예측을 할 수 있으며, @GregSnow가 아래에서 지적했듯이'predict'에는 경우에 따라). r-forge에서'lme4'의 개발 버전은'predict()'메소드를 가지고 있습니다. –

16

fitted 함수는 모델에 맞는 데이터와 연관된 y-hat 값을 반환합니다. predict 함수는 새로운 예측 변수 집합에 대한 예측을 반환합니다. 새 예측 변수 세트를 지정하지 않으면 기본적으로 원래 데이터를 사용하여 일부 모델의 경우 fitted과 동일한 결과를 얻지 만 새로운 값 세트를 예측하려면 predict이 필요합니다. 또한 predict 함수에는 반환 할 예측 유형, 선형 예측 자, 응답 눈금으로 변환 된 예측, 가장 가능성있는 범주, 모델의 각 용어의 기여도 등에 대한 옵션이 있습니다.

관련 문제