Kann ein Modell für nicht negative Daten mit Nullen (Tweedie-GLM, null-aufgeblähtes GLM usw.) genaue Nullen vorhersagen?

15

Eine Tweedie-Verteilung kann verzerrte Daten mit einer Punktmasse von Null modellieren, wenn der Parameter (Exponent in der Mittelwert-Varianz-Beziehung) zwischen 1 und 2 liegt.p

In ähnlicher Weise kann ein Modell mit Null-Inflation (unabhängig davon, ob es sich um ein kontinuierliches oder ein diskretes Modell handelt) eine große Anzahl von Nullen aufweisen.

Ich habe Probleme zu verstehen, warum bei der Vorhersage oder Berechnung angepasster Werte mit diesen Arten von Modellen alle vorhergesagten Werte ungleich Null sind.

Können diese Modelle tatsächlich exakte Nullen vorhersagen?

Beispielsweise

library(tweedie)
library(statmod)
# generate data
y <- rtweedie( 100, xi=1.3, mu=1, phi=1)  # xi=p
x <- y+rnorm( length(y), 0, 0.2)
# estimate p
out <- tweedie.profile( y~1, p.vec=seq(1.1, 1.9, length=9))
# fit glm
fit <- glm( y ~ x, family=tweedie(var.power=out$p.max, link.power=0))
# predict
pred <- predict.glm(fit, newdata=data.frame(x=x), type="response")

predJetzt enthält keine Nullen. Ich dachte, der Nutzen von Modellen wie der Tweedie-Verteilung rührt von ihrer Fähigkeit her, exakte Nullen und den kontinuierlichen Teil vorherzusagen.

Ich weiß, dass die Variable in meinem Beispiel xnicht sehr aussagekräftig ist.

spore234
quelle
Berücksichtigen Sie auch semiparametrische ordinale Antwortmodelle, die beliebige Verteilungen für . Y
Frank Harrell

Antworten:

16

Beachten Sie, dass der vorhergesagte Wert in einem GLM ein Mittelwert ist.

Um einen Mittelwert von 0 vorhersagen zu können , müsste bei einer Verteilung auf nicht negative Werte die Verteilung bei 0 nur eine Spitze sein.

Mit einer Protokollverknüpfung werden Sie jedoch niemals einen Mittelwert von genau Null erreichen (da dies erfordern würde, dass zu - ∞ wechselt ).η

Ihr Problem ist also kein Problem mit dem Tweedie, sondern viel allgemeiner. Sie hätten zum Beispiel genau das gleiche Problem mit dem Poisson (null-aufgeblasener oder gewöhnlicher Poisson GLM).

Ich dachte, der Nutzen der Tweedie-Verteilung rührt von ihrer Fähigkeit her, exakte Nullen und den kontinuierlichen Teil vorherzusagen.

Da die Vorhersage exakter Nullen bei keiner Verteilung über nicht negative Werte mit einer Protokollverknüpfung auftreten wird, müssen Sie dies falsch überlegen.

Eine seiner Attraktionen ist, dass es exakte Nullen in den Daten modellieren kann , nicht dass die Mittelwertvorhersagen 0 sein werden. [Natürlich kann eine angepasste Verteilung mit einem Mittelwert ungleich Null immer noch eine Wahrscheinlichkeit haben, genau Null zu sein, obwohl der Mittelwert 0 überschreiten muss Ein geeignetes Vorhersageintervall könnte beispielsweise 0 umfassen.]

Es ist überhaupt nicht wichtig, dass die angepasste Verteilung einen wesentlichen Anteil von Nullen enthält - das macht die angepasste mittlere Null nicht.

Beachten Sie, dass wenn Sie Ihre Linkfunktion so ändern, dass sie einen Identitätslink enthält, dies Ihr Problem nicht wirklich löst. Der Mittelwert einer nicht negativen Zufallsvariablen, die nicht ausschließlich aus Nullen besteht, ist positiv.

Glen_b - Setzen Sie Monica wieder ein
quelle
1
Danke für Ihre Erklärung. Ich habe ein Tweedie-Glm mit einem Gamma-Glm verglichen und die Betas sind fast identisch, egal wie viele Nullen die Daten enthalten (ich ändere die Nullen auf einen sehr kleinen Wert für das Gamma-Glm). Und wie können Nullen und der kontinuierliche Teil gleichzeitig vorhergesagt werden?
Spore234
2
@ spore234 Sie könnten Ihr eigenes Gamma-Hürden-Modell rollen, das eine binomische Hürde zur Vorhersage von 0/1 und ein an die Nicht-Null-Daten angepasstes Gamma-Modell aufweist. Hier ist ein Link zu einem Blog-Beitrag, der dieses Modell beschreibt und wie man eines von Hand in R einfügt. Nebenbei bemerkt, wenn etwas stetig ist, woher weißt du, dass es genau Null ist? Kann Ihr Messgerät so feinkörnig messen?
Setzen Sie Monica - G. Simpson
2
@spore, Du musst genauer sagen, was du wirklich mit "Vorhersagen der Nullen" meinst. Meine Antwort zeigt bereits, warum kein anderes Verteilungsmodell, das zum Ersetzen des Tweedie verwendet wurde, eine mittlere Vorhersage von Null liefert (Hinweis: Modelle mit Null-Inflation und Hürden haben das gleiche Problem mit ihren mittleren Vorhersagen). Unter einer mittleren Vorhersage verstehen Sie, was Sie mit "Vorhersagen" gemeint haben, als Sie eine GLM verwendet haben. Was meinen Sie jetzt damit? Wenn Sie es ändern, um etwas zu bedeuten, bei dem ein 0-aufgepumptes oder ein Hürdenmodell Sinn macht, kann ein Tweedie durchaus die gleiche Bedingung erfüllen.
Glen_b
1
Es hängt wirklich davon ab, was Sie mit "Vorhersagen" meinen (da Sie nicht "Vorhersagen des Mittelwerts" meinen, müssen Sie sagen, wonach Sie suchen - möchten Sie die Wahrscheinlichkeit einer Null vorhersagen ? Median-Prognose? Noch etwas?) und welche Dinge halten Sie für "besser", sodass ein Vergleich möglich ist.
Glen_b -Reinstate Monica
1
@ spore234 Das Problem ist wiederum, dass Sie das Wort "vorhersagen" verwenden, aber nicht definieren, was Sie mit "vorhersagen" meinen (ich frage immer wieder!). Sie scheinen haben in dieser Situation sowohl der offensichtlichsten Interpretationen des Begriffs ausgeschlossen, so müssen Sie sagen , was Sie tun Mittelwert. Wenn Sie sagen "Sagen Sie voraus, wie viel diese Person kosten wird", was meinen Sie dann eigentlich? Beachten Sie, dass Sie nicht die genauen Kosten für jede Person ermitteln können. Welche Eigenschaften sollte diese "Vorhersage" haben?
Glen_b
10

Vorhersage des Anteils von Nullen

Ich bin der Autor des statmod-Pakets und der Mitautor des Tweedie-Pakets. Alles in Ihrem Beispiel funktioniert korrekt. Der Code berücksichtigt alle Nullen, die sich möglicherweise in den Daten befinden, korrekt.

Wie Glen_b und Tim erklärt haben, wird der vorhergesagte Mittelwert niemals genau Null sein, es sei denn, die Wahrscheinlichkeit einer Null beträgt 100%. Was jedoch von Interesse sein könnte, ist der vorhergesagte Anteil von Nullen, und dieser kann leicht aus der Modellanpassung extrahiert werden, wie ich unten zeige.

Hier ist ein vernünftigeres Arbeitsbeispiel. Simulieren Sie zunächst einige Daten:

> library(statmod)
> library(tweedie)
> x <- 1:100
> mutrue <- exp(-1+x/25)
> summary(mutrue)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.3829  1.0306  2.7737  5.0287  7.4644 20.0855 
> y <- rtweedie(100, mu=mutrue, phi=1, power=1.3)
> summary(y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.8482  2.9249  4.7164  6.1522 24.3897 
> sum(y==0)
[1] 12

Die Daten enthalten 12 Nullen.

Jetzt ein Tweedie glm anbringen:

> fit <- glm(y ~ x, family=tweedie(var.power=1.3, link.power=0))
> summary(fit)

Call:
glm(formula = y ~ x, family = tweedie(var.power = 1.3, link.power = 0))

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.71253  -0.94685  -0.07556   0.69089   1.84013  

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.816784   0.168764   -4.84 4.84e-06 ***
x            0.036748   0.002275   16.15  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for Tweedie family taken to be 0.8578628)

    Null deviance: 363.26  on 99  degrees of freedom
Residual deviance: 103.70  on 98  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 4

xϕ

x

> Phi <- 0.85786
> Mu <- fitted(fit)
> Power <- 1.3
> Prob.Zero <- exp(-Mu^(2-Power) / Phi / (2-Power))
> Prob.Zero[1:5]
        1         2         3         4         5 
0.3811336 0.3716732 0.3622103 0.3527512 0.3433024 
> Prob.Zero[96:100]
          96           97           98           99          100 
1.498569e-05 1.121936e-05 8.336499e-06 6.146648e-06 4.496188e-06 

Der vorhergesagte Anteil der Nullen variiert also von 38,1% bei den kleinsten Mittelwerten bis hinunter zu 4,5e-6 bei den größten Mittelwerten.

Die Formel für die Wahrscheinlichkeit einer exakten Null kann in Dunn & Smyth (2001), Tweedie Family Densities: Methods of Evaluation oder Dunn & Smyth (2005), Series Evaluation von exponentiellen Tweedie-Dispersionsmodelldichten gefunden werden .

Gordon Smyth
quelle
Danke, nützlich! Irgendwelche Vorschläge, wie das Konfidenzintervall für diese Wahrscheinlichkeiten von genau Null berechnet werden kann? Würde es überhaupt Sinn machen? Ich bin auch verwirrt darüber, wie man den "95% -Likelihood-Bereich" aus Ihrer Arbeit von 2005 definiert, wahrscheinlich etwas, von dem ich nichts weiß. Ich würde mich sehr über eine Referenz
freuen
8

Diese Antwort wurde aus einem anderen Thread zusammengeführt, in dem nach Vorhersagen gefragt wurde, bei denen das Regressionsmodell auf Null gesetzt wurde. Sie gilt jedoch auch für das Tweedie-GLM-Modell.

ff

fzeroinfl(y)=πI{0}(y)+(1π)f(y)

Ifzeroinfl(y)

μi=π0+(1π)g1(xiβ)

g1 die überzähligen Nullen in Ihren Vorhersagen nicht sehen, da die Nullen nicht den Mittelwert der Verteilung darstellen (während sie den Mittelwert auf Null verringern), wie es die lineare Regression nicht vorhersagt die Reste.

YXYXYXE(Y|X)

Example

Tim
quelle
Tim, das ist wirklich eine großartige Antwort, und ich entschuldige mich für das Timing des Close-and-Merge. Wenn Sie etwas an der Frage weiter modifizieren möchten, um sie kanonischer oder passgenauer zu gestalten (nehmen Sie einige der Fragen auf, die Sie vielleicht beantwortet haben), fahren Sie fort, oder ich werde es gerne für Sie tun.
Glen_b -Reinstate Monica