Tengo un modelo de regresión logística (ajuste a través de glmnet en R con regularización neta elástica), y me gustaría maximizar la diferencia entre los verdaderos positivos y los falsos positivos. Para hacer esto, me vino a la mente el siguiente procedimiento:
- Ajustar el modelo de regresión logística estándar
- Usando el umbral de predicción como 0.5, identifique todas las predicciones positivas
- Asigne el peso 1 para observaciones predichas positivamente, 0 para todos los demás
- Ajustar modelo de regresión logística ponderada
¿Cuáles serían los defectos con este enfoque? ¿Cuál sería la forma correcta de proceder con este problema?
La razón para querer maximizar la diferencia entre el número de verdaderos positivos y falsos negativos se debe al diseño de mi aplicación. Como parte de un proyecto de clase, estoy construyendo un participante autónomo en un mercado en línea: si mi modelo predice que puede comprar algo y venderlo más tarde a un precio más alto, hace una oferta. Me gustaría mantener la regresión logística y los resultados binarios de salida (ganar, perder) en función de los costos fijos y los incrementos de precio unitario (gano o pierdo la misma cantidad en cada transacción). Un falso positivo me duele porque significa que compro algo y no puedo venderlo a un precio más alto. Sin embargo, un falso negativo no me hace daño (solo en términos de costo de oportunidad) porque solo significa que si no hubiera comprado, pero si lo hubiera hecho, habría ganado dinero. Similar,
Estoy de acuerdo en que el corte de 0.5 es completamente arbitrario, y cuando optimicé el modelo del paso 1 en el umbral de predicción que produce la mayor diferencia entre los positivos verdaderos / falsos, resulta ser más cercano a 0.4. Creo que esto se debe a la naturaleza sesgada de mis datos: la relación entre negativos y positivos es de aproximadamente 1: 3.
En este momento, estoy siguiendo los siguientes pasos:
- Datos divididos en entrenamiento / prueba
- Ajuste el modelo en el entrenamiento, haga predicciones en el conjunto de pruebas y calcule la diferencia entre positivos verdaderos / falsos
- Ajuste el modelo en su totalidad, haga predicciones en el conjunto de pruebas y calcule la diferencia entre positivos verdaderos / falsos
La diferencia entre los positivos verdaderos / falsos es menor en el paso 3 que en el paso 2, a pesar de que el conjunto de entrenamiento es un subconjunto del conjunto completo. Como no me importa si el modelo en el n. ° 3 tiene más negativos verdaderos y menos negativos falsos, ¿hay algo que pueda hacer sin alterar la función de probabilidad en sí misma?
fuente
Respuestas:
No parece querer una regresión logística en absoluto. Lo que usted dice es "Me gustaría maximizar la diferencia entre los verdaderos positivos y los falsos positivos". Esa es una buena función objetiva, pero no es una regresión logística. Veamos de qué se trata.
Primero, alguna notación. La variable dependiente será :Yi
Las variables independientes (las cosas que usa para intentar predecir si debe comprar) serán (un vector). El parámetro que intenta estimar será (un vector). Predecirá comprar cuando . Para la observación , predice comprar cuando o cuando la función del indicador .Xi β Xiβ>0 i Xiβ>0 1Xiβ>0=1
Un verdadero positivo sucede en la observación cuando y . Un falso positivo en la observación sucede cuando y . Desea encontrar el que maximiza los verdaderos positivos menos los falsos positivos, o:i Yi=1 1Xiβ>0=1 i Yi=0 1Xiβ>0=1 β
Esta no es una función objetivo especialmente familiar para estimar un modelo de respuesta discreta, pero tenga conmigo mientras hago un poco de álgebra sobre la función objetivo:
Bien, ahora observe que los dos últimos términos en esa suma no son funciones de , por lo que podemos ignorarlos en la maximización. Finalmente, acabamos de demostrar que el problema que desea resolver, "maximizar la diferencia entre los verdaderos positivos y los falsos positivos" es el mismo que este problema:β
¡Ahora, ese estimador tiene un nombre! Se llama el estimador de puntaje máximo. Es una forma muy intuitiva de estimar el parámetro de un modelo de respuesta discreta. El parámetro se elige para maximizar el número de predicciones correctas. El primer término es el número de verdaderos positivos, y el segundo término es el número de verdaderos negativos.
Esta es una forma bastante buena de estimar un modelo de respuesta discreta (binario). El estimador es consistente, por ejemplo. (Manski, 1985, J de Econometrics) Sin embargo, hay algunas rarezas en este estimador. Primero, no es único en muestras pequeñas. Una vez que haya encontrado una que resuelva la maximización, cualquier otra que haga exactamente las mismas predicciones en su conjunto de datos resolverá la maximización --- entonces, infinitamente s cercanas a la que encontró. Además, el estimador no es asintóticamente normal, y converge más lentamente que los estimadores de máxima verosimilitud típicos --- raíz de cubo lugar de raízβ β β N N convergencia. (Kim y Pollard, 1990, Ann of Stat) Finalmente, no se puede usar bootstrapping para hacer inferencia al respecto. (Abrevaya y Huang, 2005, Econometrica) Sin embargo, hay algunos documentos que usan este estimador --- hay uno divertido sobre la predicción de resultados en el torneo de baloncesto de la NCAA por Caudill, International Journal of Forecasting, abril de 2003, v. 19, iss. 2, págs. 313-17.
Un estimador que supera la mayoría de estos problemas es el estimador de puntaje máximo suavizado de Horowitz (Horowitz, 1992, Econometrica y Horowitz, 2002, J de Econometrics). Proporciona un estimador único de raíz consistente, asintóticamente normal y único que es susceptible de arranque. Horowitz proporciona un código de ejemplo para implementar su estimador en su página web.N
fuente
Hay varias cosas mal con ese enfoque, que incluyen:
fuente
El mejor enfoque para lograr lo que intenta describir es probablemente optimizar directamente los parámetros de regresión logística con una función de pérdida de AUC. El libro de texto "Métodos estadísticos en medicina de diagnóstico" de Zhou describe este método.
El AUC (área bajo la curva característica operativa del receptor - o ROC) se interpreta aproximadamente como la probabilidad de que un "caso" muestreado aleatoriamente tenga un valor de marcador más alto que un "control". Esta es una medida de la discriminación del modelo, o su capacidad para clasificar correctamente el resultado. El ROC es una curva en el plano unitario que muestra la sensibilidad frente a la especificidad 1 para todos los posibles valores de marcador (resultados ajustados) en un modelo de regresión.
Al usar la formulación tradicional del modelo de regresión logística,
Con las razones de probabilidad de registro para los parámetros del modelo, puede definir aproximadamente una función de pérdida basada en AUC para obtener parámetros óptimos. A diferencia de la regresión logística basada en la probabilidad, la regresión de AUC no es regular y puede converger a máximos locales en el espacio de parámetros.
fuente