範囲で連続従属変数をモデル化するにはどうすればよいですか?


9

0から無限大までの範囲の従属変数があり、0は実際には正しい観測値です。打ち切りとTobitモデルは、の実際の値が部分的に不明または欠落している場合にのみ適用されることを理解しています。この場合、データは切り捨てられると言われます。このスレッドの打ち切りデータに関するいくつかの詳細。Y

しかし、ここで0は母集団に属する真の値です。このデータでOLSを実行すると、負の推定を行うのに特に厄介な問題があります。をモデル化するにはどうすればよいですか?Y

> summary(data$Y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00    0.00    0.00    7.66    5.20  193.00 
> summary(predict(m))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  -4.46    2.01    4.10    7.66    7.82  240.00 
> sum(predict(m) < 0) / length(data$Y)
[1] 0.0972098

開発

回答を読んだ後、少し異なる推定関数を使用して、ガンマハードルモデルの適合を報告します。結果は私にはかなり驚くべきものです。まず、DVを見てみましょう。明らかなのは、非常に太い尾のデータです。これは、以下でコメントする、適合度の評価に興味深い結果をもたらします。

ここに画像の説明を入力してください

quantile(d$Y, probs=seq(0, 1, 0.1))
        0%        10%        20%        30%        40%        50%        60%        70%        80%        90%       100% 
  0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.286533   3.566165  11.764706  27.286630 198.184818 

ガンマハードルモデルを次のように作成しました。

d$zero_one = (d$Y > 0)
logit = glm(zero_one ~ X1*log(X2) + X1*X3, data=d, family=binomial(link = logit))
gamma = glm(Y ~ X1*log(X2) + X1*X3, data=subset(d, Y>0), family=Gamma(link = log))

最後に、3つの異なる手法を使用してサンプル内フィットを評価しました

# logit probability * gamma estimate
predict1 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(prob*Yhat)
}

# if logit probability < 0.5 then 0, else logit prob * gamma estimate 
predict2 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, prob)*Yhat)
}

# if logit probability < 0.5 then 0, else gamma estimate
predict3 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, Yhat))
}

最初、私は通常の測度(AIC、ヌル逸脱、平均絶対誤差など)でフィットを評価していました。しかし、上記の関数の分位絶対誤差を見ると、0の結果の高い確率と極値に脂肪の尾。もちろん、Yの値が大きくなるとエラーは指数関数的に増加します(最大値には非常に大きなY値もあります)。しかし、興味深いのは、ロジットモデルに大きく依存して0を推定すると、より良い分布適合が得られることです(私はこの現象をよりよく説明する方法を知っている):Y

quantile(abs(d$Y - predict1(logit, gamma, d)), probs=seq(0, 1, 0.1))
           0%           10%           20%           30%           40%           50%           60%           70%           80%           90%          100% 
   0.00320459    1.45525439    2.15327192    2.72230527    3.28279766    4.07428682    5.36259988    7.82389110   12.46936416   22.90710769 1015.46203281 
quantile(abs(d$Y - predict2(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.309598    3.903533    8.195128   13.260107   24.691358 1015.462033 
quantile(abs(d$Y - predict3(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.307692    3.557285    9.039548   16.036379   28.863912 1169.321773 

3
変数は0以外で連続ですか?もしそうなら、ゼロ膨張モデル(例えば、ゼロ膨張ガンマ/ゼロ膨張対数正規などが使用される可能性があります)
Glen_b -Reinstate Monica

はい。確かにプロビットモデルではありません。0が過大に報告されていて、IV分布がいわば「問題がある」ことを示唆しているように見えるため、私の場合はすべてのIV値が正しいので、私はゼロインフレモデルについて少し躊躇しています。
Robert Kubrick

そして、切片を削除するのはどうですか(わかっています、わかっています...しかし、ここでは原点は本当に0です)?
Robert Kubrick

データ生成メカニズムについて少し教えていただけますか?たとえば、複合ポアソン分布はこのタイプのデータを処理できますが、実際には、ランダムイベントのコレクションに適用される統計の合計(つまり、保険証券の保険金の合計)をモデル化するために設計されています。
jlimahaverford 2015年

2
ロバート、ゼロインフレモデルの抽象化されたモデルのいくつかの具体的な例(およびそれらが「問題のある」データについて本当にない理由を説明するのに役立つ):(1)過去に1日に喫煙したタバコの数数が0を超えるには、タバコ吸う習慣がなければならないため、30日間は空気を抜いたモデルが必要になる場合があります。(2)この船旅で釣った魚の数が0を超えるために釣り行ったことが必要です。
Alexis

回答:


14

検閲vs膨張vsハードル

打ち切りモデル、ハードルモデル、インフレートモデルは、既存の確率密度の上に点質量を追加することで機能します。違いは、質量が追加される場所と方法にあります。とりあえず、0にポイントマスを追加することを検討してください。ただし、この概念は他のケースにも簡単に一般化できます。

Y

  1. Y=0Y>0
  2. Y>0Y

膨張モデルとハードルモデル

Pr(Y=0)=π

  1. ZBernoulli(π)z
  2. 場合、設定し。z=0y=z=0
  3. 場合、から回描画し、を設定します。z=1YD(θ)y=y

膨張モデルでは、です。ハードルモデルでは、です。それが唯一の違いです。Pr(Y=0)>0Pr(Y=0)=0

これらのモデルはどちらも、次の形式の密度になります

fD(y)=I(y=0)Pr(Y=0)+I(y0)Pr(Y0)fD(y)

ここで、はインジケーター関数です。つまり、点の質量は単にゼロで追加され、この場合、その質量は単にです。直接推定することも、ロジット関数のようないくつかの可逆に対してを設定する ことも自由です。はも依存します。その場合、モデルは、別の回帰モデルの下にロジスティック回帰を「階層化」することによって機能します。IPr(Z=0)=1πpg(π)=XβgDXβZY

検閲モデル

YDFDPr(Yy)=FD(y)FDXβ

YY

Y={0Y0YY>0

fD(y)=I(y=0)FD(0)+I(y0)(1FD(0))fD(y)

簡単に拡張できます。

それを一緒に入れて

fD(y)=I(y=0)π+I(y0)(1π)fD(y)fD(y)=I(y=0)FD(0)+I(y0)(1FD(0))fD(y)

I(y=0)δ+I(y0)(1δ)fD(y)

YδYδδY

Dμ=XβZg(π)=Xβg=FD1

ZY

あなたはどちらを使うべきですか?

説得力のある「検閲ストーリー」がある場合は、検閲モデルを使用します。Tobitモデル(検閲されたガウス線形回帰の計量経済学上の名前)の古典的な使用法の1つは、「トップコード化された」調査回答をモデル化することです。賃金はしばしばこのように報告され、あるカットオフ、例えば100,000を超えるすべての賃金は100,000としてコード化されます。これは、賃金が100,000を超える個人がまったく観察さない切り捨てと同じではありません。これは、賃金が10万人未満の個人にのみ実施される調査で発生する可能性があります。

ϵϵ

それ以外の場合は、ハードルまたは膨張モデルが安全な選択です。通常、一般的な2ステップのデータ生成プロセスを仮定するのは間違いではありません。そうでないと、データに対する洞察が得られます。

[0,1]

切り捨て

編集:このソリューションが正しくなかったため、削除されました


2
ϵϵ

XcPr(Xc)=0

数学的には違いはありません。概念的には、打ち切り分布が仮説の打ち切られていない結果の分布が何であるかを私たちに示唆する一方で、打ち切り分布の境界に原子を貼り付けることはそれについての仮定を立てないので、微妙な違いがあるかもしれないことを認めてもかまいません架空の分布。打ち切り限界が変化する場合など、より複雑な打ち切り状況では、数学的な(つまり、実際の)違いが生じる可能性があります。
whuber

@whuberアトムがどのようにパラメーター化されているかにかかっていますよね?のように、ゼロ打ち切られたガウスは、プロビットの「リンク関数」を
備えたゼロインフレートさ

1
yθ=XβFθ(y)=F(yθ)=F(yXβ)Fθ(0)=F(Xβ)

0

まず、OLSの適用は完全に可能であると言いましょう。多くの実際のアプリケーションがこれを実行します。これは、(時々)0未満の近似値で終了する可能性がある問題を引き起こします-これがあなたが心配していることだと思いますか?しかし、非常に少数の適合値が0未満である場合、私はそれについて心配しません。

tobitモデルは、(あなたが言うように)打ち切りモデルまたは切り捨てモデルの場合に使用できます。しかし、それは直接あなたのケースにも当てはまります。実際、tobitモデルはあなたのケースを発明したものです。Yは0で「パイル」になり、そうでなければ乱雑に連続します。覚えておくべきことは、tobitモデルは解釈が難しいため、APEとPEAに依存する必要があるということです。以下のコメントを参照してください。

また、解釈に近いOLSを持つ位置回帰モデルを適用することもできますが、通常はカウントデータで使用されます。Wooldridge 2012 CHAP 17には、主題に関する非常にきちんとした議論が含まれています。


「tobitモデルには実際の解釈がありません」これについてもう少し説明してもらえますか?その文言にそのまま同意することはできません。
シャドウトーカー2015年

cY

@ssdecontrol tobitモデルでは、\ beta_jはx_jのE(y * | x)に対する部分的な効果を測定します。ここで、y *は(いわゆる)潜在変数です。OPがモデルに必要とする変数はyで、これは観測された結果(労働時間、慈善寄付など)です。これが、平均部分効果(APE)と平均での部分効果(PEA)に依存する必要がある理由です。打ち切りモデルは使用しないでください。データが打ち切られた場合、つまり、収入について質問があり、最後の答えが「$ x以上を稼いでいる」である場合、その情報は推定に「入力」できます->打ち切り。
Repmat 2015年

@ user3551644確か、私はあなたが、モデルがゆえ、「本当の解釈を」持っていないと言うことができますどのように表示されない
shadowtalker

うーん、わかりました。回答を更新します。
Repmat 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.