ポアソンモデルの相互検証のエラーメトリック


29

カウントを予測しようとしているモデルを相互検証しています。これがバイナリ分類の問題である場合は、フォールドアウトAUCを計算し、これが回帰問題である場合は、フォールドアウトRMSEまたはMAEを計算します。

ポアソンモデルの場合、サンプル外予測の「精度」を評価するためにどのエラーメトリックを使用できますか?AUCのポアソン拡張で、予測が実際の値をどの程度適切に並べるかを調べますか?

カウントのための多くのKaggleコンテスト(たとえば、yelpレビューで得られる有用な投票数、または患者が病院で過ごす日数)は、二乗平均平方根誤差、またはRMLSEを使用しているようです。


/編集:私がやっていることの1つは、予測値の10分の1を計算してから、十分な数でビニングされた実際のカウントを調べることです。十分位数1が低く、十分位数10が高く、その間の十分位数が厳密に増加している場合、モデルを「良い」と呼んでいますが、このプロセスを定量化するのに苦労しており、より良い方法があると確信していますアプローチ。

/編集2:予測値と実際の値を取得し、「エラー」または「精度」メトリックを返す数式を探しています。私の計画は、交差検証中にフォールド外データでこの関数を計算し、それを使用してさまざまなモデル(ポアソン回帰、ランダムフォレスト、GBMなど)を比較することです。

たとえば、そのような関数の1つですRMSE = sqrt(mean((predicted-actual)^2))。別のそのような関数はAUCです。どちらの関数もポアソンデータには適切でないようです。


ポアソンモデルの場合、偏差を使用できます。これはMSEに似ていますが、ポアソンに適しています。サンプルサイズが小さくない場合、加重MSEは非常に似ています。
Glen_b-モニカの復活2013

@Glen_b逸脱の式は何ですか?
ザック

1
逸脱。ポアソンモデルをどのように適合させますか?
Glen_b

ペナルティポアソン回帰からgbmまで、いくつかの異なる方法。さまざまなモデルを比較するための適切なエラーメトリックを探しています。アドバイスをありがとう。
ザック

ポアソン回帰は、少なくとも自動的に逸脱を与える必要があります
グレン_b-モニカを復元

回答:


37

使用できるカウントデータには、適切なスコア規則と厳密に適切なスコア規則がいくつかあります。スコアリングルールはペナルティであるを導入し、Pは予測分布とされるYの観測値。それらには多くの望ましい特性があります。何よりもまず、真の確率に近い予測は常にペナルティが少なく、(一意の)最良の予測があり、予測される確率が真の確率と一致する場合です。したがって、s y P 期待値を最小化することは、真の確率を報告することを意味します。ウィキペディアも参照してください。syPPysyP

多くの場合、すべての予測値の平均を次のように取ります。

S=1n=1nsyP

どのルールを採用するかは目的によって異なりますが、それぞれのルールを使用するのが適切な場合の大まかな特性を示します。

fyF Y Σ K 0 1 ... I μ σPrY=yFyk01μσ

厳密に適切なスコアリングルール

  • ブライアースコア:(カテゴリー予測子のサイズの不均衡に対して安定)syP=2fy+kf2k
  • Dawid-Sebastianiスコア:(一般的な予測モデルの選択に適しています;カテゴリー予測子のサイズ不均衡に対して安定)syP=yμσ2+2ログσ
  • 逸脱スコア:(はのみに依存する正規化項です。ポアソンモデルでは、通常、飽和逸脱とみなされます。 MLフレームワーク)g y ysyP=2ログfy+gygyy
  • 対数スコア:(非常に簡単に計算されます;カテゴリー予測変数のサイズ不均衡に対して安定)syP=ログfy
  • ランク付けされた確率スコア:(非常に高いカウントのさまざまな予測の対比に適しています;カテゴリー予測子のサイズの不均衡に影響されやすい)syP=k{Fkyk}2
  • 球状スコア:(カテゴリー予測子のサイズ不均衡に対して安定)syP=fykf2k

その他のスコアリングルール(あまり適切ではないが、よく使用される)

  • 絶対誤差スコア:(適切ではない)syP=|yμ|
  • 二乗誤差スコア:(厳密に適切ではない;外れ値の影響を受けやすい;カテゴリー予測子のサイズの不均衡の影響を受けやすい)syP=yμ2
  • ピアソンの正規化された二乗誤差スコア:(厳密には適切ではありません。外れ値の影響を受けやすい。モデルが平均スコアをチェックするかどうかのチェックに使用できます1とは大きく異なり、カテゴリカル予測子のサイズの不均衡に対して安定)syP=yμσ2

厳密に適切なルールのRコードの例:

library(vcdExtra)
m1 <- glm(Freq ~ mental, family=poisson, data=Mental) 

# scores for the first observation
mu <- predict(m1, type="response")[1]
x  <- Mental$Freq[1]

# logarithmic (equivalent to deviance score up to a constant) 
-log(dpois(x, lambda=mu))

# quadratic (brier)
-2*dpois(x,lambda=mu) + sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) })

# spherical
- dpois(x,mu) / sqrt(sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) }))

# ranked probability score
sum(ppois((-1):(x-1), mu)^2) + sum((ppois(x:10000,mu)-1)^2)

# Dawid Sebastiani
(x-mu)^2/mu + log(mu)

@Momo、これは古いスレッドですが、非常に便利で便利です。ただし、対数スコアについては質問してください。関数を使用しました-log(f(y))。ある-記号は、実際にそこにすべきですか?スコアリングルールのウィキペディアリンク(en.wikipedia.org/wiki/Scoring_rule#Logarithmic_scoring_rule)で、負の兆候がない対数スコア:L(r,i)=ln(ri)それは正常ですか?最後に、その場合、スコアが高いほど良いですか、それとも悪いですか?
バスティアン

モデルの推定に使用されたデータの一部ではなかった検証データセットでこれらの測定値を計算する方が良いですか(少なくともより保守的で現実的ですか)?
フレッド

GLMSはのように、繰り返し再重み付け最小二乗法を使用してフィットされていることを考えるとbwlewis.github.io/GLM、どのような背中を与えるGLM(重みとして1 /分散の重みを使用して、GLMリンク規模で加重R2を算出し、実際に異議だろうGLMフィットのスロットウェイト)これは、ポアソンglmでも動作しますか?
トムウェンセリアーズ

stats.stackexchange.com/questions/412580 / ...を参照してください。再現可能な例については…
Tom Wenseleers
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.