Sé que me falta algo en mi comprensión de la regresión logística, y realmente agradecería cualquier ayuda.
Hasta donde yo entiendo, la regresión logística supone que la probabilidad de un resultado '1' dadas las entradas, es una combinación lineal de las entradas, pasadas a través de una función de logística inversa. Esto se ejemplifica en el siguiente código R:
#create data:
x1 = rnorm(1000) # some continuous variables
x2 = rnorm(1000)
z = 1 + 2*x1 + 3*x2 # linear combination with a bias
pr = 1/(1+exp(-z)) # pass through an inv-logit function
y = pr > 0.5 # take as '1' if probability > 0.5
#now feed it to glm:
df = data.frame(y=y,x1=x1,x2=x2)
glm =glm( y~x1+x2,data=df,family="binomial")
y recibo el siguiente mensaje de error:
Mensajes de advertencia: 1: glm.fit: el algoritmo no convergió 2: glm.fit: las probabilidades ajustadas numéricamente 0 o 1 ocurrieron
He trabajado con R por algún tiempo; suficiente para saber que probablemente yo sea el culpable ... ¿qué está pasando aquí?
Respuestas:
No. La variable de respuesta es una variable aleatoria de Bernoulli que toma el valor con probabilidad . 1 p r ( i )yi 1 pr(i)
fuente
LogisticRegression es adecuado para el ajuste si se proporcionan probabilidades o proporciones como objetivos, no solo resultados 0/1.
Aquí tenemos tres objetivos potenciales para la regresión logística.
p
cuál es la proporción / probabilidad real / objetivo,pnoisy
que es p con ruido normal agregado en la escala de probabilidades de registro, ydichot
que es molesto tratado como un parámetro para el PDF binomial, y muestreado a partir de eso. Debería probar los 3: descubrí que algunas implementaciones de LR de código abierto no pueden caberp
.Dependiendo de su aplicación, es posible que prefiera molesto.
En la práctica, también debe considerar cómo es probable que se forme el ruido en su aplicación de destino e intentar emularlo.
fuente