2016-09-01 7 views
0

私は私のモデルのコードは次のようになりますR.にmgcvパッケージのgam機能を使用して間隔上のデータへの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未満である。これは、HAに想定されていない:私は観測値対フィットをプロットし、それはこのようになります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

関連する問題