ポアソン回帰モデルを検証するためのコスト関数


11

収集したカウントデータについては、ポアソン回帰を使用してモデルを構築しています。これはglm、私が使用するR の関数を使用して行いますfamily = "poisson"。可能なモデルを評価するために(私はいくつかの予測子を持っています)、AICを使用します。ここまでは順調ですね。次に、相互検証を実行します。私はすでにパッケージのcv.glm関数を使用してこれに成功していbootます。ドキュメントcv.glmIあなたが意味のある予測誤差を取得するには、特定のコスト関数を使用する必要が二項データのためにその例を参照してください。ただし、どのコスト関数がに適しているのかはまだわかりませんfamily = poisson。Googleを広範囲に検索しても、特定の結果は得られませんでした。私の質問はcv.glm、ポアソンglmの場合にどのコスト関数が適切であるかを当てる光が誰にもあるということです。


1
cv.glmnetパッケージ内の関数は、ポアソンファミリでglmnet使用しますtype.measure="deviance"
rcs 2013年

厳密には、ドキュメントでは、バイナリデータに対して特定のコスト関数を使用することが理にかなっていることを示しています。
Corone 2013年

@corone ofは連続データでもバイナリデータでもありません。そこで、カウントデータに適したコスト関数を探していました。
Paul Hiemstra 2013年

1
カウントが非常に少ない場合を除いて、ここではデータの離散性が大きな違いを生むとは思いません。問題は、むしろデータの分布についてです。バイナリデータの場合、予測は0と1の間の連続確率ですが、応答は常に0または1です。これらの例では、コストは「正しい」または「間違った」であり、権利と誤りの数を数えます。特に継続性について心配していますか?継続性に対処するためにPSを私の回答に追加します
Corone 2013年

回答:


12

特定のケースで特別なことは何もないと仮定すると、デフォルト(平均二乗誤差)を使用するか、ログの誤差の平均を使用するか、カイ2乗誤差を使用する場合にも、適切な議論があると思います。

コスト関数の目的は、誤った予測であなたがどれほど「動揺」しているか、具体的にはどの「間違い」があなたを最も悩ませているかを表すことです。これはバイナリ応答にとって特に重要ですが、どのような状況でも問題になる可能性があります。

平均二乗誤差(応答)

C=1ni(YiY^i)2

MSEを使用すると、上と下のエラーに等しく敏感で、大小の予測に対して等しく敏感です。これはかなり標準的なことなので、ほとんどの状況で眉をひそめられるとは思いません。

平均二乗誤差(ログ応答の)

C=1ni(lnYilnY^i)2

カウントデータを使用しているので、対称性もサイズも無関心ではないと主張できます。10の予測で10カウント外れることは、1000の予測とは大きく異なります。これは、リンク関数までのコストを一致させているため、多少「標準的な」コスト関数です。これにより、コストがモデルで想定されている分散分布と確実に一致します。

カイ二乗誤差

C=1ni(YiY^i)2Y^i

3番目の方法は、カイ2乗誤差を使用することです。これは、GLMを他のカウントベースのモデルと比較する場合、特にGLMに要素がある場合に特に魅力的です。エラーログレスポンスと同様に、これはサイズに応じて変化しますが、予測カウントを中心に対称です。パーセンテージエラーに基づいて適合度を評価しています。


離散性について

質問は、バイナリ応答変数があるドキュメントの例を引用しているため、別のコスト関数を使用します。バイナリ応答の問題は、応答が常に正確に0または1であっても、GLMが0と1の間の実数を予測することです。その数が正しい応答に近いほど、より良いと言えます。予測しますが、多くの場合、これは望まれません。その理由は、0または1のように振る舞うことが多いため、0の予測として0.5未満の値をとることになります。その場合、「誤った」予測の数を数えることは理にかなっています。ここでの議論は、真/偽の質問に対しては、あなたが正しいか間違っているかしかできないということです-間違っている段階はありません。

あなたのケースでは、カウントデータがあります。ここでは、応答と同じサポートにない予測を受け入れることがはるかに一般的です。たとえば、家族あたり2.4人の子供、または年間9.7人の死亡の予測。通常、これは「正しい」または「間違っている」ということではなく、できる限り近いため、何もしようとはしません。ただし、カウント率が非常に低いためか、整数である予測が本当に必要な場合は、最初に予測を四捨五入して「整数」またはエラーをカウントできない理由はありません。この場合、上記の3つの式が引き続き適用されますが、最初にを丸めるだけで済みます。Y^


対数変換された応答の平均二乗誤差の平均二乗誤差を処理す​​る代わりに、GLMが1 /分散重みを使用して加重平均二乗誤差を使用するほうがよい場合があります(Rのglm出力の$ weightsスロットによって与えられるpoisson = 1 / E(Y))。これは、あらゆるタイプのGLMに当てはまると思います。
Tom Wenseleers、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.