2016-09-01 10 views
0

내가 내 모델 코드는 다음과 같습니다 R.에서 mgcv 패키지의 gam 기능을 사용하여 간격 (0,1)에 할머니의 데이터를 피팅하고 있습니다 :gam 모델의 베타 제품군은 1보다 크고 0보다 작은 값을 나타냅니다. (mgcv)

mod <- gam(y ~ x1 + x2 + s(latitude, longitude), faimly=betar(link='logit'), data = data) 

모델이 잘 맞는하지만 때를 나는 장착 대 값을 관찰 플롯은 다음과 같습니다

plot(data$y ~ fitted(mod), ylab='observed',xlab='fitted') 
분명히

enter image description here

, 모델 피팅 값이 1보다 크고 0보다 작은이가 하 안된다 ppen. 베타 배포판의 가정을 위반합니다. R에 대한 betareg 패키지의 동일한 데이터를 모델링 할 때 발생하지 않습니다.이 불일치의 원인은 무엇입니까?

+3

? 'predict'를 사용하고 있다면,'type = "response"'인자를 사용하기를 원할 것입니다. 그렇지 않으면, 범위를 벗어날 것입니다. 'fitted' 함수를 사용한다면 확실하지 않습니다. – Wayne

+0

@Wayne 'fitted (mod)'을 사용하여 적합한 값을 구합니다. 플롯팅은'plot (y ~ fitted (mod))' – colin

답변

2

mod <- gam(y ~ x1 + x2 + s(latitude, longitude), faimly=betar(link='logit'), data = data)

당신이 faimly (오타)를 사용하는 경우가 나타납니다, gam 불평 앞서 가고 가우스을 수행하지 않습니다.

print (mod)

을 그리고 말한다 "가족 : 베타 회귀"경우 참조하십시오 시도하거나 "가족 : 가우스"어떻게 "장착"를 결정하는

+0

wooof, 감사합니다. 이게 그거야. 그것이 경고를 던졌다면 좋았을 것입니다! – colin