2 votos

Uso de la regresión logística para producir la curva de probabilidad

Tengo datos para un experimento que pretende comprobar lo buena que es una máquina para detectar fallos en las estructuras.

La probabilidad de detección es una función del tamaño del defecto y algunos otros factores ambientales. Tengo 70 puntos de medición resumidos en la siguiente tabla, donde tengo el tamaño del defecto, y si el defecto fue detectado o no (0 o 1).

enter image description here

A partir de estos datos, podemos trazar esos puntos como se muestra en la figura siguiente (puntos triangulares). Sin embargo, me interesa obtener la curva ajustada a partir de los puntos de datos. enter image description here La probabilidad de detección es una función del tamaño del defecto. Según la referencia, estoy leyendo de la función de densidad de probabilidad puede ser escrito como abajo: enter image description here donde a es el tamaño del defecto, mu y sigma son la media y la desviación estándar respectivamente, B0 y B1 son funciones de la media y la desviación estándar. Utilizando la regresión logística en R o minitab, se pueden estimar B0 y B1.

Me interesa elaborar este cálculo yo mismo y escribir mi propio código para ello, es decir, me interesa el algoritmo que me permita estimar los parámetros para dibujar la curva ajustada.

2voto

seanl Puntos 405

Si está buscando una forma de estimar los coeficientes de una regresión logística, el descenso por gradiente es la forma más sencilla, por ejemplo, eche un vistazo a la sección 2 de https://machinelearningmastery.com/implement-logistic-regression-stochastic-gradient-descent-scratch-python/ para ver cómo se puede implementar en python.

1voto

Dipstick Puntos 4869

El modelo de regresión logística se define como

$$ \begin{align} \eta &= \boldsymbol{X}\beta \\ E(Y|\boldsymbol{X}) &= \mu = g^{-1}(\eta) \\ Y &\sim \mathcal{B}(\mu) \end{align} $$

donde $\eta$ es la combinación lineal, $g^{-1}$ es la inversa de la función de enlace y $\mathcal{B}$ es la distribución Bernoulli que sirve como función de probabilidad. La elección "por defecto" de la función de enlace para la regresión logística es la función logit

$$ g(z) = \frac{1}{1 + e^{-z}} $$

pero en su ejemplo se refiere a otra opción, la función probit .

Para estimar el $\beta$ parámetros que necesita para maximizar la función de probabilidad

$$ \DeclareMathOperator*{\argmax}{arg\,max} \hat\beta = \argmax_\beta \;\mathcal{B}(g^{-1}(\boldsymbol{X}\beta)) $$

En las aplicaciones de la vida real, esto se suele hacer mediante algoritmos como mínimos cuadrados reponderados iterativamente . Sin embargo, si quieres codificar el algoritmo a mano para entender cómo funciona la regresión logística, probablemente deberías probar algo más simple como el descenso de gradiente, puedes encontrar un ejemplo trabajado de implementación en Andrew Ng's Aprendizaje automático curso en Coursera.org (es gratis).

Para trazar las predicciones, hay que utilizar los parámetros estimados $\hat\beta$ y los valores de $\boldsymbol{X}$ que desea evaluar, a continuación, sólo tiene que introducir los valores en la fórmula y obtener las probabilidades predichas $\hat\mu$ :

$$ \hat\mu = g^{-1}(\boldsymbol{X}\beta) $$

Si desea obtener los valores previstos de $Y$ entonces tendría que decidirse por una regla de decisión como "si $\hat\mu > \alpha$ entonces predice $1$ de lo contrario predecir $0$ " para algún límite de decisión $\alpha$ . La opción "por defecto" de $\alpha$ suele ser $0.5$ pero no tiene por qué ser la opción óptima.

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