1

gamRのパッケージの関数を使用して、区間 (0,1) のデータに gam を当てはめていmgcvます。私のモデル コードは次のようになります。

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

モデルはうまく適合しますが、適合値と観測値をプロットすると、次のようになります。

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

ここに画像の説明を入力

明らかに、モデルは 1 より大きく 0 より小さい値を当てはめています。これは想定されていません。これは、ベータ分布の前提に違反しています。betaregRのパッケージで同じデータをモデル化した場合は発生しません。この不一致の原因は何ですか?

4

1 に答える 1

7

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

faimly(タイプミス)を使用すると表示され、gam文句を言わずに先に進み、Gaussianを実行します。試す:

print (mod)

そして、「ファミリー: ベータ回帰」または「ファミリー: ガウス」と表示されているかどうかを確認します。

于 2016-09-01T16:18:20.240 に答える