Dado um GLM usando Tweedie, como encontro os coeficientes?

7

Deixei Y ser uma variável aleatória que obedeça à distribuição Tweedie para o parâmetro α=1.1. Deixe a função de link ser o log natural. Suponha que tenhamos um banco de dados de números do formulário

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

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

...

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

As variáveis ​​são uma mistura de variáveis ​​categóricas e variáveis ​​contínuas. Por ser um GLM, sabemos que

E[Y]=eXβ. Então, aqui está minha pergunta: dado o banco de dados de números e usando o fato de que essa é uma distribuição Tweedie com um determinado parâmetro, qual algoritmo eu uso para escolher melhorβ? Preciso minimizar uma função de erro ou estimar parâmetros de máxima probabilidade?

FloatingFoundation92
fonte
11
A probabilidade máxima está correta. Veja en.wikipedia.org/wiki/… .
Ameba
11
Você pode usar o GLM para ajustá-lo por ML; você só precisa fornecer as funções certas para o GLM. Eles estão disponíveis em statmod(e algumas funções úteis adicionais estão no tweediepacote em R, como AICtweedie). Embora você possa gerenciar sem eles, se souber conduzir o glm bem o suficiente, sugiro que você use os pacotes.
Glen_b -Reinstala Monica 23/11

Respostas:

11

Você conhece os modelos lineares generalizados em R? Em caso afirmativo, você pode instalar o Tweedie glms como qualquer outro glms. A definição da família glm necessária para fazer isso acontecer é fornecida pelo pacote statmod R do CRAN.

Tweedie glms assume que a função de variação é uma função de potência:

vumar(y)=V(μ)ϕ=μαϕ
Caso especial inclui glms normais (α=0 0), Poisson glms α=1 1), gama-glms (α=2) e glms Gaussiano inverso (α=3)

Aqui está um exemplo de código R:

> 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

O pacote Tweedie permite que você ajuste um glm com qualquer função de energia e qualquer link de energia. Na chamada de família glm, var.power é oα parâmetro para que var.power = 1.1 especifique α=1.1. O var.power refere-se ao expoente da função glm variance, de modo que var.power = 0 especifica uma família normal, var.power = 1 significa família Poisson, var.power = 2 significa família gama, var.power = 3 significa inverso Família gaussiana e assim por diante. Valores entre 0 e 1 não são permitidos, mas praticamente qualquer outra coisa é permitida.

link.power = 0 especifica um link de log. O link é especificado em termos de poderes de transformação Box-Cox, portanto link.power = 1 é o link de identidade e link.power = 0 significa log.

O modelo acima pressupõe que yEuTWeedEueα(μEu,ϕ) Onde

registroμEu=β0 0+β1 1xEu
e
vumar(yEu)=μEu1.1ϕ

Os coeficientes de regressão βjforam estimados por probabilidade máxima. O parâmetro de dispersãoϕ foi estimado usando a soma residual dos resíduos quadrados - isso é chamado de estimador de Pearson.

Independentemente do que α ou link usado, qualquer uma das funções a jusante fornecidas em R para glms funcionará no objeto de modelo ajustado por glm produzido por glm ().

Gordon Smyth
fonte