Podemos simular una regresión lineal sin aleatoriedad, lo que significa que hacemos lugar de . Entonces, si ajustamos un modelo lineal, los coeficientes serán idénticos a la "verdad fundamental". Aquí hay un ejemplo.
set.seed(0)
n <- 1e5
p <- 3
X <- matrix(rnorm(n*p), ncol=p)
beta <- runif(p)
# y <- X %*% beta + rnorm(n)*0.5
# remove the randomness
y <- X %*% beta
dat <- data.frame(y=y, x=X)
lm.res = lm(y ~ .-1, data=dat)
norm(as.matrix(lm.res$coefficients - beta))
[1] 2.176037e-14
Mi pregunta es ¿podemos hacer una simulación similar con regresión logística? De esta pregunta obtengo que el punto de eliminar la aleatoriedad se puede hacer usando una declaración determinista en lugar de una muestra de distribución binomial.
y <- ifelse(plogis(X %*% beta)>0.5,1,0)
en vez de
y <- rbinom(n,1,prob=plogis(X %*% beta))
Pero si hacemos eso, se producirá una separación completa y no podremos obtener los coeficientes. Por otro lado, si agregamos regularización, entonces los coeficientes no serán los datos generados.
Entonces, ¿qué puedo hacer para "eliminar la aleatoriedad en la regresión logística" y resolver los coeficientes exactos de "verdad fundamental" como el caso de regresión lineal?
Siento que tengo un malentendido fundamental del concepto, ¿qué me estoy perdiendo?
fuente
Respuestas:
La regresión logística no tiene un término de "error" como con la regresión lineal clásica. La excepción a esto podría ser una regresión lineal limitada con un término de error logístico, pero este no es un modelo de probabilidad comúnmente aceptado que resulta en un modelo de regresión logística. Esto se debe a que los modelos logísticos tienen una relación media-varianza. El análogo de "agregar un término de error" a un modelo de regresión lineal es en realidad un modelo cuasibinomial en el que la varianza es meramente proporcional a p * (1-p).
Una pregunta relacionada puede ser cómo obtener resultados del modelo de regresión que sean idénticos en varios diseños o repeticiones. Esto se puede hacer con un "truco" en el software de modelado de regresión. Puedes generar no integralY resultados del riesgo previsto que resultan en los mismos resultados de regresión logística independientemente del diseño de X . Por ejemplo: x = 0 .
x1 <- seq(-3, 3, 0.1)
yx2 <- rnorm(61)
como dos diseños diferentes. Como en su caso,y1 <- plogis(0.3*x1)
yy2 <- plogis(0.3*x2)
ambos dan como resultado los mismos resultados del modelo de regresión logística con 0.3 como log odds ratio y 0.0 como log odds paraEsto se relaciona con su pregunta porque las estimaciones de los parámetros son exactamente como se definen en su modelo de probabilidad, independientemente del diseño deX y sin separación (por ejemplo, log odds ratios, β= ± ∞ )
Modelar resultados fraccionarios en un modelo logístico es una forma aceptada de analizar datos ecológicos, donde el resultado puede ser fraccionario. No es coincidencia, este también es un tipo de modelado cuando los modelos cuasibinomiales son de mayor utilidad. Además, no es coincidencia, creo que la dispersión es proporcional a un parámetro de escala para el término de error logístico al hacer "regresión logística latente".
fuente
glm
family=binomial
con un número fraccionario. me dio una advertencia. pero aún puede ejecutarse ... "En eval (family $ initialize): ¡#succesos no enteros en una película binomial!"fit.glm
simplemente maximiza una función. No importa mucho cuáles son los valores dey
, solo que no explotan los valores calculados de la función.Siempre me gusta pensar en la regresión logística como lo que sucede si aplica una decisión binaria a un modelo lineal. Es decir, supongamos que hay alguna relación subyacente que sigue el modelo lineal:
En otras palabras, esto es calcular el área bajo la distribución Normal que está a la derecha del umbral. Tenga en cuenta que esta probabilidad es esencialmente lo que un modelo de regresión logística intenta describir. Y de hecho, si trazas esta probabilidad en función deX , obtienes algo bastante parecido a la función logística (de hecho, la función logística a menudo se usa como una aproximación conveniente a la distribución normal acumulativa).
Para valores deXβ cerca del umbral, la probabilidad de que y estará por encima del umbral está cerca 0,5 porque el ruido ε puede influir en el resultado de cualquier manera. A medida que aumentaX , Xβ se alejará de θ y F(y) = 1 se vuelve más probable. Crucialmente, qué tan rápidop ( f(y) = 1 |X) aumenta con X depende de dos cosas: la pendiente β y la varianza del ruido σ2 . Más precisamente, depende de la relaciónβσ . Es esta relación (señal a ruido) la que determina el coeficiente (esperado) que se obtiene de una regresión logística. En otras palabras, puede pensar en los coeficientes en una regresión logística como el control de cuánto debe cambiar cada variable independiente en relación con el ruido en los datos para aumentar la probabilidad de un determinado resultado en cierta cantidad.
Ahora para responder a su pregunta: está preguntando si es posible eliminar toda aleatoriedad, es decir, no tener ruido. Esto significaría queσ es igual 0 0 , y por lo tanto βσ sería indefinido (o "infinito"). Esto explica lo que encontró, que no puede estimar los coeficientes cuando no hay ruido. De hecho, puede pensar que la separación perfecta que logra sin ruido corresponde a un coeficiente infinito en su variable independiente, ya que (paraXβ cerca del umbral θ ) solo necesitas cambiar X una cantidad infinitesimal para ir desde p ( y> θ |X) = 0 a p ( y> θ |X) = 1 .
Editar: en realidad, una cosa que podría hacer es en lugar de extraer muestras de una distribución binomial para simular sus datos, reemplazar estas muestras por sus expectativas, es decir, la probabilidad predicha por la función logística simulada. De esa manera, está eliminando la aleatoriedad que se deriva de simular una muestra limitada (es decir, la variabilidad del muestreo), y por lo tanto, sus estimaciones de coeficientes deberían ser iguales a la verdad básica (ya que hay una función logística que se ajusta exactamente a estos valores).
fuente