He notado que en R, Poisson y las regresiones binomiales negativas (NB) siempre parecen ajustarse a los mismos coeficientes para predictores categóricos, pero no continuos.
Por ejemplo, aquí hay una regresión con un predictor categórico:
data(warpbreaks)
library(MASS)
rs1 = glm(breaks ~ tension, data=warpbreaks, family="poisson")
rs2 = glm.nb(breaks ~ tension, data=warpbreaks)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
Aquí hay un ejemplo con un predictor continuo, donde Poisson y NB se ajustan a diferentes coeficientes:
data(cars)
rs1 = glm(dist ~ speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ speed, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
(Por supuesto, estos no son datos de conteo, y los modelos no son significativos ...)
Luego recodifico el predictor en un factor, y los dos modelos nuevamente se ajustan a los mismos coeficientes:
library(Hmisc)
speedCat = cut2(cars$speed, g=5)
#you can change g to get a different number of bins
rs1 = glm(cars$dist ~ speedCat, family="poisson")
rs2 = glm.nb(cars$dist ~ speedCat)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
Sin embargo, la regresión binomial negativa de Joseph Hilbe da un ejemplo (6.3, pg 118-119) donde un predictor categórico, el sexo, se ajusta con coeficientes ligeramente diferentes por el Poisson ( ) y NB ( ). Él dice: “Las tasas de incidencia entre los modelos de Poisson y NB son bastante similares. Esto no es sorprendente dada la proximidad de [correspondiente a en R] a cero ".
Entiendo esto, pero en los ejemplos anteriores, summary(rs2)
nos dice que se estima en 9.16 y 7.93 respectivamente.
Entonces, ¿por qué los coeficientes son exactamente iguales? ¿Y por qué solo para predictores categóricos?
Editar # 1
Aquí hay un ejemplo con dos predictores no ortogonales. De hecho, los coeficientes ya no son los mismos:
data(cars)
#make random categorical predictor
set.seed(1); randomCats1 = sample( c("A","B","C"), length(cars$dist), replace=T)
set.seed(2); randomCats2 = sample( c("C","D","E"), length(cars$dist), replace=T)
rs1 = glm(dist ~ randomCats1 + randomCats2, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + randomCats2, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
Y, al incluir otro predictor, los modelos se ajustan a diferentes coeficientes incluso cuando el nuevo predictor es continuo. Entonces, ¿tiene algo que ver con la ortogonalidad de las variables ficticias que creé en mi ejemplo original?
rs1 = glm(dist ~ randomCats1 + speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + speed, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
fuente
Respuestas:
Ha descubierto una propiedad íntima, pero genérica, de GLM ajustada por la máxima probabilidad . El resultado desaparece una vez que se considera el caso más simple de todos: ¡Ajustar un solo parámetro a una sola observación!
Una respuesta frase : Si todo lo que importa es apropiado medios separados de subconjuntos disjuntos de nuestra muestra, a continuación, GLM siempre dará μ j = ˉ y j para cada subconjuntoμ^j=y¯j , por lo que la estructura de error real y parametrización de la densidad tanto vuelto irrelevante a la (punto) estimación!j
Un poco más : ajustar factores categóricos ortogonales por máxima probabilidad es equivalente a ajustar medios separados para separar subconjuntos de nuestra muestra, por lo que esto explica por qué Poisson y los GLM binomiales negativos producen las mismas estimaciones de parámetros. De hecho, lo mismo sucede si utilizamos la regresión de Poisson, negbin, gaussiana, gaussiana inversa o gamma (ver más abajo). En el caso de Poisson y Negbin, la función de enlace predeterminada es el enlace de , pero es una pista falsa; Si bien esto produce las mismas estimaciones de parámetros sin procesar , veremos a continuación que esta propiedad realmente no tiene nada que ver con la función de enlace.log
Cuando estamos interesados en una parametrización con más estructura, o que depende de predictores continuos, entonces la estructura de error asumida se vuelve relevante debido a la relación media-varianza de la distribución, ya que se relaciona con los parámetros y la función no lineal utilizada para modelar el condicional medio.
GLMs y familias de dispersión exponencial: curso intensivo
Una familia de dispersión exponencial en forma natural es tal que la densidad logarítmica es de la forma
Aquí es el parámetro natural y ν es el parámetro de dispersión . Si se conociera ν , esto sería solo una familia exponencial estándar de un parámetro. Todos los GLM considerados a continuación suponen un modelo de error de esta familia.θ ν ν
Considere una muestra de una sola observación de esta familia. Si nos ajustamos a por máxima verosimilitud, obtenemos que y = b ' ( θ ) , independientemente del valor de ν . Esto se extiende fácilmente en el caso de una muestra iid ya que las probabilidades de registro añaden, produciendo ˉ y = b ' ( θ )θ y=b′(θ^) ν y¯=b′(θ^) .
Pero, también sabemos, debido a la agradable regularidad de la densidad logarítmica en función de , que ∂θ
Entonces, de hecho b ′ ( θ ) = E Y = μ .
Dado que las estimaciones de máxima verosimilitud son invariantes bajo transformaciones, esto significa que para esta familia de densidades.y¯=μ^
Ahora, en un GLM, modelamos como μ i = g - 1 ( x T i β ) donde g es la función de enlace. Pero si x i es un vector de todos los ceros a excepción de un solo 1 en la posición j , entonces μ i = g ( β j ) . La probabilidad de la GLM luego se factoriza de acuerdo con los β j 's y procedemos como se indica arriba. Este es precisamente el caso de los factores ortogonales.μi μi=g−1(xTiβ) g xi j μi=g(βj) βj
¿Qué tienen de diferentes los predictores continuos?
Cuando los predictores son continuos o categóricos, pero no pueden reducirse a una forma ortogonal, entonces la probabilidad ya no se factoriza en términos individuales con una media separada que depende de un parámetro separado. En este punto, la estructura y la función de enlace de error no entran en juego.
Si uno atraviesa el álgebra (tedioso), las ecuaciones de probabilidad se convierten en para todo j = 1 , ... , p donde λ i = x T i β . Aquí, losparámetros β y ν entran implícitamente a través de la relación de enlace μ i = g ( λ i ) = g ( x T i β ) y la varianza σ 2 i
De esta manera, la función de enlace y el modelo de error asumido se vuelven relevantes para la estimación.
Ejemplo: el modelo de error (casi) no importa
En el siguiente ejemplo, generamos datos aleatorios binomiales negativos dependiendo de tres factores categóricos. Cada observación proviene de una sola categoría y el mismo parámetro de dispersión (k=6 se utiliza ).
Luego ajustamos estos datos utilizando cinco GLM diferentes, cada uno con un enlace de : ( a ) binomio negativo, ( b ) Poisson, ( c ) gaussiano, ( d ) gaussiano inverso y (log e ) GLM gamma. Todos estos son ejemplos de familias de dispersión exponencial.
De la tabla, podemos ver que las estimaciones de los parámetros son idénticas , aunque algunos de estos GLM son para datos discretos y otros son para datos continuos, y algunos son para datos no negativos mientras que otros no.
La advertencia en el encabezado proviene del hecho de que el procedimiento de ajuste fallará si las observaciones no caen dentro del dominio de la densidad particular. Por ejemplo, si tuviéramos recuentos generados aleatoriamente en los datos anteriores, entonces el Gamma GLM no podría converger ya que los Gamma GLM requieren datos estrictamente positivos.0
Ejemplo: la función de enlace (casi) no importa
La advertencia en el encabezado simplemente se refiere al hecho de que las estimaciones sin procesar variarán con la función de enlace, pero las estimaciones de parámetros medios implícitos no lo harán.
Código R
fuente
family=negative.binomial(theta=2)
"?Para ver lo que está sucediendo aquí, es útil primero hacer la regresión sin la intercepción, ya que una intercepción en una regresión categórica con un solo predictor no tiene sentido:
Dado que Poisson y las regresiones binomiales negativas especifican el registro del parámetro medio, entonces, para la regresión categórica, exponiendo los coeficientes le dará el parámetro medio real para cada categoría:
Estos parámetros corresponden a las medias reales sobre los diferentes valores de categoría:
The reason that you don't get the same coefficients for continuous data is because in a continuous regression,log(λ) is no longer going to be a piecewise constant function of the predictor variables, but a linear one. Maximizing the likelihood function in this case will not reduce to independently fitting a value λ for disjoint subsets of the data, but will rather be a nontrivial problem that is solved numerically, and is likely to produce different results for different likelihood functions.
Similarly, if you have multiple categorical predictors, despite the fact that the fitted model will ultimately specifyλ as a piecewise constant function, in general there will not be enough degrees of freedom to allow λ to be determined independently for each constant segment. For example, suppose that you have 2 predictors with 5 categories each. In this case, your model has 10 degrees of freedom, whereas there are 5∗5=25 unique different combinations of the categories, each of which will have its own fitted value of λ . So, assuming that the intersections of these categories are non-empty (or at least that 11 of them are nonempty), the likelihood maximization problem again becomes nontrivial and will generally produce different outcomes for Poisson versus negative binomial or any other distribution.
fuente
y~X+0
and try again. :-)