Wie soll ich eine stetige abhängige Variable im Bereich

9

Ich habe eine abhängige Variable, die von 0 bis unendlich reichen kann, wobei Nullen tatsächlich korrekte Beobachtungen sind. Ich verstehe zensieren und Tobit Modelle gelten nur , wenn der tatsächliche Wert von ist teilweise unbekannt ist oder fehlt, wobei in diesem Fall Daten , die abgeschnitten werden. Weitere Informationen zu zensierten Daten in diesem Thread .Y

Aber hier ist 0 ein wahrer Wert, der zur Bevölkerung gehört. Das Ausführen von OLS für diese Daten hat das besonders ärgerliche Problem, negative Schätzungen vorzunehmen. Wie soll ich modellieren ?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

Entwicklungen

Nachdem ich die Antworten gelesen habe, berichte ich über die Anpassung eines Gamma-Hürdenmodells mit leicht unterschiedlichen Schätzfunktionen. Die Ergebnisse sind für mich ziemlich überraschend. Schauen wir uns zuerst den DV an. Was offensichtlich ist, sind die extrem fetten Schwanzdaten. Dies hat einige interessante Konsequenzen für die Bewertung der Passform, die ich unten kommentieren werde:

Geben Sie hier die Bildbeschreibung ein

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 

Ich habe das Gamma-Hürdenmodell wie folgt gebaut:

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))

Schließlich habe ich die In-Sample- Anpassung mit drei verschiedenen Techniken bewertet :

# 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))
}

Zuerst bewertete ich die Anpassung anhand der üblichen Maßnahmen: AIC, Nullabweichung, mittlerer absoluter Fehler usw. Bei Betrachtung der quantilen absoluten Fehler der obigen Funktionen werden jedoch einige Probleme im Zusammenhang mit der hohen Wahrscheinlichkeit eines 0-Ergebnisses und dem Extrem hervorgehoben fetter Schwanz. Natürlich wächst der Fehler exponentiell mit höheren Werten von Y (es gibt auch einen sehr großen Y-Wert bei Max), aber was interessanter ist, ist, dass eine starke Verwendung des Logit-Modells zur Schätzung von Nullen eine bessere Verteilungsanpassung ergibt (ich würde nicht ' Ich weiß nicht, wie ich dieses Phänomen besser beschreiben kann.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 
Robert Kubrick
quelle
3
Ist die Variable stetig anders als bei 0? In
diesem Fall
Ja. Es ist sicher kein Probit-Modell. Ich bin etwas zögerlich in Bezug auf Modelle mit Null-Inflation, da dies darauf hindeutet, dass Nullen übermeldet wurden und die IV-Verteilung sozusagen "ein Problem" hat, wobei in meinem Fall alle IV-Werte korrekt sind.
Robert Kubrick
Und wie wäre es mit dem Entfernen des Abschnitts (ich weiß, ich weiß ... aber hier ist der Ursprung wirklich 0)?
Robert Kubrick
Können Sie uns einen Einblick in den Datengenerierungsmechanismus geben? Zum Beispiel können zusammengesetzte Poisson-Verteilungen diese Art von Daten verarbeiten, aber dies ist wirklich dazu gedacht, die Summe einiger Statistiken zu modellieren, die auf eine Sammlung zufälliger Ereignisse angewendet werden (dh die Summe der Kosten von Versicherungsansprüchen für eine Police).
jlimahaverford
2
Robert, einige konkrete Beispiele für Modelle ohne Inflation, um sie aus dem Abstraktionsland zu entfernen (und um zu erklären, warum es nicht wirklich um Daten geht, die "ein Problem haben"): (1) Wie viele Zigaretten hat man in der Vergangenheit pro Tag geraucht? 30 Tage können ein Modell ohne Inflation erfordern, da man die Gewohnheit haben muss, Zigaretten zu rauchen, damit die Zahl> 0 ist. (2) Wie viele Fische man auf dieser Bootsfahrt gefangen hat, setzt voraus, dass man fischt, damit die Zahl> 0 ist.
Alexis

Antworten:

14

Zensiert gegen aufgeblasen gegen Hürde

Zensierte, Hürden- und aufgeblasene Modelle addieren eine Punktmasse zu einer vorhandenen Wahrscheinlichkeitsdichte. Der Unterschied liegt darin, wo und wie die Masse hinzugefügt wird. Erwägen Sie zunächst, eine Punktmasse bei 0 hinzuzufügen, aber das Konzept lässt sich leicht auf andere Fälle übertragen.

Alle von ihnen implizieren einen zweistufigen Datenerzeugungsprozess für eine Variable :Y

  1. Zeichnen Sie, um festzustellen, ob oder Y > 0 ist .Y=0Y>0
  2. Wenn , zeichnen Sie, um den Wert von Y zu bestimmen .Y>0Y

Aufgeblasene und Hürdenmodelle

Sowohl aufgeblasene (normalerweise null aufgeblasene) als auch Hürdenmodelle arbeiten durch explizite und separate Angabe von , so dass der DGP:Pr(Y=0)=π

  1. Zeichnen Sie einmal aus , um die Realisierung z zu erhalten .ZBernoulli(π)z
  2. Wenn , setze y = z = 0 .z=0y=z=0
  3. Wenn , zeichne einmal aus Y D ( θ ) und setze y = y .z=1YD(θ)y=y

In einem aufgeblasenen Modell ist . In einem Hürdenmodell ist Pr ( Y = 0 ) = 0 . Das ist der einzige Unterschied .Pr(Y=0)>0Pr(Y=0)=0

Beide Modelle führen zu einer Dichte mit der folgenden Form:

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

wo eine Anzeigefunktion bin . Das heißt, eine Punktmasse wird einfach bei Null addiert und in diesem Fall ist diese Masse einfach Pr ( Z = 0 ) = 1 - π . Es steht Ihnen frei, p direkt zu schätzen oder g ( π ) = X β für ein invertierbares g wie die Logit-Funktion zu setzen. D kann auch von X β abhängen . In diesem Fall "schichtet" das Modell eine logistische Regression für Z unter ein anderes Regressionsmodell für Y .IPr(Z=0)=1πpg(π)=XβgDXβZY

Zensierte Modelle

YDFDPr(Yy)=FD(y)FDXβ

YY

Y={0Y0YY>0

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

und kann leicht erweitert werden.

Etwas zusammensetzen

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

Welches solltest du verwenden?

Wenn Sie eine überzeugende "Zensurgeschichte" haben, verwenden Sie ein zensiertes Modell. Eine klassische Verwendung des Tobit-Modells - der ökonometrische Name für zensierte lineare Gaußsche Regression - ist die Modellierung von Umfrageantworten, die "top-codiert" sind. Löhne werden oft auf diese Weise gemeldet, wobei alle Löhne über einem bestimmten Grenzwert, beispielsweise 100.000, nur als 100.000 kodiert werden. Dies ist nicht dasselbe wie Abschneiden , wo Personen mit Lohn über 100.000 nicht beobachtet werden überhaupt . Dies kann bei einer Umfrage der Fall sein, die nur an Personen mit Löhnen unter 100.000 durchgeführt wird.

ϵϵ

Andernfalls ist eine Hürde oder ein aufgeblasenes Modell eine sichere Wahl. Es ist normalerweise nicht falsch, einen allgemeinen zweistufigen Datengenerierungsprozess zu hypothetisieren, und es kann einen Einblick in Ihre Daten bieten, den Sie sonst möglicherweise nicht hatten.

[0,1]

Kürzung

Bearbeiten: entfernt, da diese Lösung falsch war

Shadowtalker
quelle
2
ϵϵ
XcPr(Xc)=0
Mathematisch sehe ich keinen Unterschied. Konzeptionell wäre ich bereit anzuerkennen, dass es einen subtilen Unterschied geben könnte, da die zensierte Verteilung uns nahe legt, wie die Verteilung eines hypothetischen unzensierten Ergebnisses aussehen würde, während das Anhaften eines Atoms an der Grenze einer verkürzten Verteilung keine Vermutungen darüber macht hypothetische Verteilung. In komplexeren Zensursituationen kann es einen mathematischen ( dh realen) Unterschied geben, z. B. wenn die Zensurgrenzen variieren.
whuber
@whuber es kommt nur darauf an, wie das Atom parametrisiert wird, oder? Wie in, würde ein null-zensierter Gaußscher einem null-aufgeblasenen, abgeschnittenen Gaußschen mit einer Probit "Link-Funktion" entsprechen
Shadowtalker
1
yθ=XβFθ(y)=F(yθ)=F(yXβ)Fθ(0)=F(Xβ)
0

Lassen Sie mich zunächst sagen, dass die Anwendung von OLS durchaus möglich ist. Viele reale Anwendungen tun dies. Es verursacht (manchmal) das Problem, dass Sie angepasste Werte unter 0 haben können - ich nehme an, das ist es, worüber Sie sich Sorgen machen? Aber wenn nur sehr wenige angepasste Werte unter 0 liegen, würde ich mir darüber keine Sorgen machen.

Das tobit-Modell kann (wie Sie sagen) bei zensierten oder abgeschnittenen Modellen verwendet werden. Es gilt aber auch direkt für Ihren Fall, tatsächlich wurde das tobit-Modell für Ihren Fall erfunden. Y "stapelt" sich bei 0 und ist ansonsten grob kontinuierlich. Beachten Sie, dass das tobit-Modell schwer zu interpretieren ist. Sie müssten sich auf APE und PEA verlassen. Siehe die Kommentare unten.

Sie können auch das Possion-Regressionsmodell anwenden, das eine fast OLS-ähnliche Interpretation aufweist - es wird jedoch normalerweise mit Zähldaten verwendet. Wooldridge 2012 KAP 17 enthält eine sehr ordentliche Diskussion des Themas.

Repmat
quelle
"Das tobit-Modell hat keine wirkliche Interpretation" Könnten Sie das etwas näher erläutern? Ich kann nicht sagen, dass ich dieser Aussage so wie sie ist zustimme.
Shadowtalker
cY
@ssdecontrol Im tobit-Modell misst das \ beta_j die Teileffekte von x_j auf E (y * | x), wobei y * die (sogenannte) latente Variable ist. Die Variable, die OP als Modell haben möchte, ist y, was das beobachtete Ergebnis ist (geleistete Arbeitsstunden, Spenden für wohltätige Zwecke usw.). Aus diesem Grund sollte man sich auf den durchschnittlichen Teileffekt (APE) und den Teileffekt im Durchschnitt (PEA) verlassen. Sie sollten das zensierte Modell nicht verwenden. Wenn Ihre Daten zensiert würden, würden Sie wissen, dh: Sie haben eine Frage zum Einkommen, wobei die letzte Antwort "Ich verdiene mehr als $ x" lautet. Diese Informationen können in die Schätzung "einfließen" -> Zensur.
Repmat
@ user3551644 sicher, aber ich sehe nicht, wie man sagen kann, dass das Modell daher "keine wirkliche Interpretation" hat
shadowtalker
Hmm, okay, ich werde meine Antwort aktualisieren.
Repmat