6 votos

Cómo interpretar la película y las olas con compensación

Hice unos cuantos modelos lineales y de gelatina con un desplazamiento. Cada fila en el conjunto de datos es un usuario de la salud. Los datos contienen los pagos médicos y los días UCI de cada usuario entre 2000 y 2007. Como el número de años con contacto con el instituto difiere entre los usuarios (por ejemplo, algunos llegaron al instituto médico en 2001-2003 mientras que otros llegaron todos los años), pensé que debía compensar el número de años para dar cuenta del "período de observación". Y es de sentido común que cuanto más largos sean los años con contacto, mayor será el pago y los días de la UCI.

Gamma:

Call:
glm(formula = payment_amt ~ offset(log(years)) + 
    as.factor(gender) + age, 
    family = Gamma(link = "log"), data = pm, control = glm.control(maxit = 50))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.8787  -1.2142  -0.5339   0.1904  15.1442  

Coefficients:
                                   Estimate Std. Error z value Pr(>|z|)    
(Intercept)                       4.6718536  0.0134132   348.3   <2e-16 ***
as.factor(gender)M 0.7800695  0.0024625   316.8   <2e-16 ***
age           0.0642834  0.0001908   337.0   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for Gamma family taken to be 1.238685)

    Null deviance: 1520252  on 852449  degrees of freedom
Residual deviance: 1251859  on 852447  degrees of freedom
AIC: 20497443

Number of Fisher Scoring iterations: 8

OLS:

Call:
lm(formula = payment_amt ~ offset(years) + 
    as.factor(gender) + age, 
    data = pm)

Residuals:
    Min      1Q  Median      3Q     Max 
-170257  -53628  -23808   15835 8808825 

Coefficients:
                                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)                       -206943.18    1425.83  -145.1   <2e-16 ***
as.factor(gender)M   48794.00     261.77   186.4   <2e-16 ***
age              3547.31      20.28   174.9   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 118300 on 852447 degrees of freedom
Multiple R-squared:  0.07811,   Adjusted R-squared:  0.0781 
F-statistic: 3.611e+04 on 2 and 852447 DF,  p-value: < 2.2e-16

Poisson:

Call:
glm(formula = icu_days ~ offset(log(years)) + as.factor(gender) + 
    age, family = poisson(link = "log"), 
    data = pm)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-56.95  -15.11   -7.11    3.22  747.64  

Coefficients:
                                    Estimate Std. Error z value Pr(>|z|)    
(Intercept)                       -5.518e-01  9.058e-04  -609.2   <2e-16 ***
as.factor(gender)M  6.357e-01  1.341e-04  4738.9   <2e-16 ***
age            6.395e-02  1.246e-05  5130.9   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

Binomio negativo:

Call:
glm.nb(formula = icu_days ~ offset(log(years)) + 
as.factor(gender) + 
age, data = pm, init.theta = 0.9279403178, 
link = log)
Deviance Residuals:
Deviance Residuals: 
        Min       1Q   Median       3Q      Max  
     -2.7720  -1.0788  -0.4652   0.1641  17.2095  

    Coefficients:
                                    Estimate Std. Error z value Pr(>|z|)    
    (Intercept)                       -1.0038131  0.0126237  -79.52   <2e-16 ***
    as.factor(gender)M  0.5977179  0.0023017  259.69   <2e-16 ***
    age            0.0708916  0.0001795  394.97   <2e-16 ***
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

    (Dispersion parameter for Negative Binomial(0.9279) family taken to be 1)

¿Puedo saber cómo interpreto los coeficientes?

0 votos

Sin duda, tenías una razón para usar la compensación, ¿cuál era?

0 votos

@kjetil b halvorsen He añadido más información sobre la motivación del análisis.

5voto

kjetil b halvorsen Puntos 7012

Usted muestra cuatro modelos, uno de ellos es extraño (el marcado OLS ) así que primero hablaré de los otros tres. Lo que es común es que una variable de respuesta (cantidad de pago por el Gamma (un recuento de días para los demás) se modela en función de las covariables, pero lo que se modela es el valor pr año, es decir: $$ \DeclareMathOperator{\E}{\mathbb{E}} \frac{\E Y}{\text{years}} = \exp(\beta^T x) = \exp(\eta), \qquad \text{say} $$ (ya que está utilizando una función de enlace de registro). Tomando los logaritmos (naturales) en ambos lados da: $$ \log \E Y - \log\text{years} = \eta $$ y moviendo un término arriba en el lado derecho: $$ \log \E Y = \log\text{years} + \eta $$ y eso responde a tu pregunta: la combinación de una función de enlace de registro, una respuesta no negativa y la compensación del registro de exposición significa que se está modelando la relación de la cantidad total dividida en la exposición, es decir, el pago por año o el número de días por año. La interpretación de las demás variables (parámetros lineales en el predictor lineal $\eta$ debe ser clara, se interpreta como es habitual en los modelos de regresión. Tenga en cuenta que la elección exacta de la familia de distribución en la explicación anterior no juegan ningún papel!

Su cuarto modelo no tiene mucho sentido para mí, por supuesto puede usar un modelo gaussiano para una respuesta no negativa, eso en sí mismo no es un problema. Pero, el uso de la función de enlace de identidad junto con el desplazamiento de la exposición de los registros no tiene sentido, por lo que puedo ver. Intentemos imitar la lógica anterior: $$ \frac{\E Y}{\text{years}} = \beta^T x = \eta, \qquad \text{say} $$ Note que cambiamos a la función de enlace de identidad. Pero ahora tomar los registros no funciona como arriba, eso funcionó arriba sólo porque teníamos una función de enlace de registro. Así que no intentaría interpretar los parámetros en su OLS modelo, no tienen sentido. Pero tú podría intenta con una familia gaussiana, pero con enlace de tronco! Para una discusión más extensa de los argumentos anteriores, ver La bondad del ajuste y qué modelo elegir para la regresión lineal o Poisson

EDIT  

A la pregunta adicional de los comentarios: So does that mean offset only works for log links? No, pero el enlace logarítmico y el modelado de la tasa es el principal caso de uso. La mayoría de las entradas en este sitio mencionan offset es este caso. Unos cuantos posts discutiendo otros usos: Modelos binarios (Probit y Logit) con un desplazamiento logarítmico , Uso de la compensación en el modelo binomial para tener en cuenta el aumento del número de pacientes , Compensación en la regresión logística: ¿cuáles son los casos típicos de uso?

0 votos

¿Significa eso que la compensación sólo funciona para los enlaces de registro?

0 votos

Probablemente no, hay otros casos de uso, pero el enlace de registro es el uso principal

0 votos

Gracias por la clara explicación. Para el modelo gamma, ¿tengo razón al decir que puedo interpretar el efecto del género como "se espera que los hombres tengan un pago 2,18 veces mayor por año que las mujeres, dado que todo lo demás permanece fijo"? ¿Una interpretación similar se aplica a los modelos poisson y binomial negativo?

2voto

Y Z Puntos 11

Su modelo OLS:

lm(formula = payment_amt ~ offset(years) + 
    as.factor(gender) + age, 
    data = pm)

Es lo mismo que:

lm(formula = payment_amt - years ~ as.factor(gender) + age,
   data = pm)

Con un enlace logarítmico, se pueden utilizar compensaciones para modelar las tasas debido a cómo funcionan las matemáticas con los logaritmos, pero para un enlace de identidad realmente no tiene sentido utilizar una compensación.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X