fitted()
関数との間に違いはありpredict()
ますか? lme4 の混合モデルは では動作しますfitted()
が、 では動作しないことに気付きましたpredict()
。
52100 次
2 に答える
79
はいあります。線形予測子を応答の期待値に関連付けるリンク関数(ポアソン回帰のlogやロジスティック回帰のlogitなど)がある場合、リンク関数の逆関数が適用される前predict
に近似値を返します(データを応答変数と同じスケール)、適用後に表示されます。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
これは、線形回帰()によって作成されたモデルの場合、との間にlm
違いがないことを意味します。fitted
predict
実際には、これは、元のデータとの近似を比較する場合は、を使用する必要があることを意味しますfitted
。
于 2012-08-30T16:32:56.947 に答える
33
このfitted
関数は、モデルの適合に使用されたデータに関連付けられた y ハット値を返します。このpredict
関数は、予測子変数の新しいセットの予測を返します。予測変数の新しいセットを指定しない場合、デフォルトで元のデータが使用されfitted
、一部のモデルと同じ結果が得られますが、新しい値のセットを予測する場合は が必要predict
です。多くの場合、predict
関数には、返す予測のタイプ、線形予測子、応答スケールに変換された予測、最も可能性の高いカテゴリ、モデル内の各項の寄与などのオプションもあります。
于 2012-08-30T16:55:19.883 に答える