Wie finde ich bei einem GLM mit Tweedie die Koeffizienten?

7

Sei eine Zufallsvariable, die der Tweedie-Verteilung für Parameter folgt . Die Verknüpfungsfunktion sei das natürliche Protokoll. Angenommen, wir haben eine Datenbank mit Nummern des FormularsYα=1.1

(y1,x1,1,x1,2,...,x1,m)

(y2,x2,1,x2,2,...,x2,m)

...

(yn,xn,1,xn,2,...,xn,m) .

Die Variablen sind eine Mischung aus kategorialen Variablen und kontinuierlichen Variablen. Da dies ein GLM ist, wissen wir das

E[Y]=eXβ . Hier ist meine Frage: Angesichts der Zahlendatenbank und der Tatsache, dass es sich um eine Tweedie-Distribution mit einem bestimmten Parameter handelt, welchen Algorithmus verwende ich am besten, um auszuwählen ? Gibt es eine Fehlerfunktion, die ich minimieren muss, oder schätze ich Parameter mit maximaler Wahrscheinlichkeit?β

FloatingFoundation92
quelle
1
Die maximale Wahrscheinlichkeit ist korrekt. Siehe en.wikipedia.org/wiki/… .
Amöbe
1
Sie können GLM verwenden, um es von ML anzupassen; Sie müssen GLM nur die richtigen Funktionen bereitstellen. Diese sind in verfügbar statmod(und einige zusätzliche nützliche Funktionen sind im tweediePaket in R enthalten, z. B. AICtweedie). Während Sie ohne diese auskommen können, wenn Sie wissen, wie man glm gut genug fährt, würde ich vorschlagen, dass Sie die Pakete verwenden.
Glen_b -State Monica

Antworten:

11

Kennen Sie verallgemeinerte lineare Modelle in R? Wenn ja, können Sie Tweedie glms wie jedes andere glms anpassen. Die dafür erforderliche Definition der glm-Familie wird vom statmod R-Paket von CRAN bereitgestellt.

Tweedie glms nehmen an, dass die Varianzfunktion eine Potenzfunktion ist: Sonderfall sind normale glms ( ), Poisson glms ), Gamma-Glms ( ) und inverse Gauß-Glms ( ).

var(y)=V(μ)ϕ=μαϕ
α=0α=1α=2α=3

Hier ist ein Beispiel für R-Code:

> library(statmod)
> y <- c(4.0,5.9,3.9,13.2,10.0,9.0)
> x <- 1:6
> fit <- glm(y~x, family=tweedie(var.power=1.1, link.power=0))
> summary(fit)

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

Deviance Residuals: 
      1        2        3        4        5        6  
-0.2966   0.1183  -1.0742   1.4985   0.1205  -0.6716  

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)   1.3625     0.4336   3.143   0.0348 *
x             0.1794     0.1008   1.779   0.1498  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for Tweedie family taken to be 1.056557)

    Null deviance: 7.3459  on 5  degrees of freedom
Residual deviance: 3.9670  on 4  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 4

Mit dem Tweedie-Paket können Sie einen glm mit jeder Power-Funktion und jedem Power Link ausstatten. Im Aufruf der glm-Familie ist var.power der Parameter , sodass var.power = 1.1 angibt . Die var.power bezieht sich auf den Exponenten der glm-Varianzfunktion, so dass var.power = 0 eine normale Familie angibt, var.power = 1 bedeutet Poisson-Familie, var.power = 2 bedeutet Gammafamilie, var.power = 3 bedeutet invers Gaußsche Familie und so weiter. Werte zwischen 0 und 1 sind nicht zulässig, aber praktisch alles andere ist zulässig.αα=1.1

link.power = 0 gibt einen Log-Link an. Die Verknüpfung wird in Form von Box-Cox-Transformationsleistungen angegeben, sodass link.power = 1 die Identitätsverknüpfung ist und link.power = 0 log bedeutet.

Das obige Modell geht davon aus, dass wobei und yiTweedieα(μi,ϕ)

logμi=β0+β1xi
var(yi)=μi1.1ϕ

Die Regressionskoeffizienten wurden nach maximaler Wahrscheinlichkeit geschätzt. Der Dispersionsparameter wurde unter Verwendung der Restsumme der quadratischen Residuen geschätzt - dies wird als Pearson-Schätzer bezeichnet.βjϕ

Unabhängig davon, welches oder welchen Link Sie verwenden, funktioniert jede der in R für glms bereitgestellten Downstream-Funktionen für das von glm () erstellte glm-angepasste Modellobjekt.α

Gordon Smyth
quelle