y
通常の予測子からカウントデータを予測するハードルモデルを考えますx
。
set.seed(1839)
# simulate poisson with many zeros
x <- rnorm(100)
e <- rnorm(100)
y <- rpois(100, exp(-1.5 + x + e))
# how many zeroes?
table(y == 0)
FALSE TRUE
31 69
この場合、69個のゼロと31個の正のカウントを持つカウントデータがあります。私の質問はハードルモデルに関するものであるため、これはデータ生成手順の定義によりポアソンプロセスであるということは今のところ気にしないでください。
これらの過剰なゼロをハードルモデルで処理したいとします。それらについての私の読書から、ハードルモデルはそれ自体が実際のモデルではないように思われました。彼らはただ2つの異なる分析を連続して行っているだけです。最初に、値が正であるかゼロであるかを予測するロジスティック回帰。第二に、ゼロ以外のケースのみを含むゼロ切り捨てポアソン回帰。この2番目のステップは、(a)完全に適切なデータを破棄し、(b)データの多くがゼロであるため電力の問題につながる可能性があり、(c)基本的にそれ自体が「モデル」ではないため、間違っていると感じました、ただし2つの異なるモデルを順番に実行するだけです。
そこで、ロジスティックとゼロ打ち切りポアソン回帰を別々に実行するのではなく、「ハードルモデル」を試しました。彼らは私に同じ答えを与えました(簡潔にするために出力を省略しています):
> # hurdle output
> summary(pscl::hurdle(y ~ x))
Count model coefficients (truncated poisson with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.5182 0.3597 -1.441 0.1497
x 0.7180 0.2834 2.533 0.0113 *
Zero hurdle model coefficients (binomial with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.7772 0.2400 -3.238 0.001204 **
x 1.1173 0.2945 3.794 0.000148 ***
> # separate models output
> summary(VGAM::vglm(y[y > 0] ~ x[y > 0], family = pospoisson()))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.5182 0.3597 -1.441 0.1497
x[y > 0] 0.7180 0.2834 2.533 0.0113 *
> summary(glm(I(y == 0) ~ x, family = binomial))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.7772 0.2400 3.238 0.001204 **
x -1.1173 0.2945 -3.794 0.000148 ***
---
モデルのさまざまな数学的表現には、正のカウントケースの推定で観測値がゼロ以外の確率が含まれているため、これは私には思えますが、上で実行したモデルは互いに完全に無視します。たとえば、これは、スミソン&マークルのカテゴリー限定および連続限定従属変数の一般化線形モデルの128ページの第5章からのものです。
...次に、が任意の値(ゼロと正の整数)をとる確率は1に等しくなければなりません。これは式(5.33)では保証されません。この問題に対処するために、ポアソン確率にベルヌーイの成功確率πを掛けます。 これらの問題により、上記のハードルモデルをとして表現する必要があり ここで、、、
はポアソンモデルの共変量、はロジスティック回帰モデルの共変量、およびはそれぞれの回帰係数です... 。
2つのモデルを互いに完全に分離することにより(ハードルモデルが行うことのように思われます)、がポジティブカウントケースの予測にどのように組み込まれるかわかりません。しかし、2つの異なるモデルを実行するだけで関数を複製できた方法に基づいて、切り捨てられたポアソンでがどのように役割を果たすかわかりません全く回帰。hurdle
ハードルモデルを正しく理解していますか?2つは2つのシーケンシャルモデルを実行しているように見えます。1つ目はロジスティックです。第二に、場合を完全に無視するポアソン。誰かがビジネスとの混乱を解消できれば幸いです。
それがハードルモデルであると私が正しい場合、より一般的に「ハードル」モデルの定義は何ですか?2つの異なるシナリオを想像してください。
競争力スコア(1-(投票の勝者の割合-次点の投票の割合))を見て、選挙競争の競争力をモデル化することを想像してください。同順位がないため、これは[0、1)です(たとえば、1)。ハードルモデルはここで理にかなっています。なぜなら、1つのプロセス(a)が争われなかったからです。(b)そうでない場合、競争力を予測したものは何ですか?そのため、最初に0対(0、1)を分析するためにロジスティック回帰を行います。次に、ベータ回帰を実行して(0、1)ケースを分析します。
典型的な心理学的研究を想像してください。応答は、従来のリッカートスケールと同様に[1、7]であり、7の巨大な天井効果があります。[1、7)対7のロジスティック回帰であるハードルモデルを実行し、すべてのケースでTobit回帰を実行できます観察された応答は7未満です。
これらの状況の両方を「ハードル」モデルと呼んでも、 2つのシーケンシャルモデル(最初のケースではロジスティック、次にベータ、ロジスティック、次に2番目のTobit)で推定しても安全でしょうか?
pscl::hurdle
が、ここの方程式5でも同じように見えます:cran.r-project.org/web/packages/pscl/vignettes/countreg.pdfまたは多分私は「クリックしてくれる基本的なものがまだ足りないのですか?
hurdle()
。これはのデフォルトです。ペア/ビネットでは、より一般的なビルディングブロックを強調しようとします。