4

私のデータセットには多くの冗長な観測があります (ただし、各観測をカウントする必要があります)。そのため、GAM で 'weights' オプションを使用することを検討します。これにより、計算時間が大幅に短縮されます。

gam関数(mgcvパッケージ内)は、それらが「同等」であることを説明しています(?gam引数からweights):

「たとえば、重み 2 は、まったく同じ観測を 2 回行ったことに相当することに注意してください。」

しかし、それは正しくないようです。

yy = c(5,2,8,9)
xx = 1:4
wgts = c(3,2,4,1)
yy2 = rep(yy, wgts)
xx2 = rep(xx, wgts)
mod1 = gam(yy2 ~ xx2)
mod2 = gam(yy ~ xx, weights = wgts)
mod3 = gam(yy ~ xx, weights = wgts / mean(wgts))

predict(mod1,data.frame(xx2=1:4))
predict(mod2,data.frame(xx=1:4))
predict(mod3,data.frame(xx=1:4))

推定値は 3 つのモデルすべてで同じです。標準誤差はモデル 2 と 3 で同じですが、モデル 1 では異なります。GCV は 3 つのモデルすべてで異なります。

GCV が異なる可能性があることは理解しています。しかし、標準誤差が異なる場合、どのようにしてモデルが同一であると言えますか? これはエラーですか、それとも何か良い説明はありますか?

4

1 に答える 1