Grado de confianza en la predicción del árbol de decisión.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Un cliente en una situación de análisis forense ha construido modelos para clasificar muestras desconocidas. Han medido variables para una serie de muestras de origen conocido. Los utilizan para construir un modelo que predice el origen de cualquier muestra en función de las variables medidas.
Han construido algunas particiones útiles y modelos de redes neuronales. Los modelos les indican el origen más probable para una muestra y la probabilidad de que pertenezca a esa clase.
La pregunta que tiene el cliente es: ¿cuál es nuestro grado de confianza en esa probabilidad?
Ellos piensan que el bootstrapping parece ser una solución para esto. Sin embargo, eso no es posible para NNs o DTs. Puede crear un bosque de arranque y especificar que no desea que realice la selección de variable aleatoria. Esto crea una serie de probabilidades y luego las promedia todas. Pero no hay una manera fácil de obtener la distribución o qauntiles para las probabilidades predichas por los árboles individuales. No sin desglosar la fórmula de predicción manualmente o con algunas secuencias de comandos.
Una solución más simple sería reconstruir los modelos mediante regresión logística o PLS-DA y luego puede hacer el arranque con un solo clic. Pero al cliente le gustan más sus modelos NN y DT. Además, el modelo PLS-DA da predicciones de probabilidad <0 y> 1, lo que no es muy tranquilizador.
¿Hay alguna solución elegante que me esté perdiendo?
Gracias,
Phil
Re: Grado de confianza en la predicción del árbol de decisión.Gracias por la solución de scripting, Don.
Quería asegurarme de que no había una solución de apuntar y hacer clic que faltaba. Parece que no lo soy.
Gracias de nuevo,
Phil
Re: Grado de confianza en la predicción del árbol de decisión.Phil,
Puede arrancar con cualquiera de los modelos predictivos en JMP, solo se necesita un poco de JSL. Básicamente, recorra el número de veces que desee volver a muestrear y vuelva a ejecutar la plataforma cada vez. Al final de cada ciclo, deberá determinar si una observación del grupo de prueba está correctamente identificada o no. Al final del programa de arranque, puede sumar el número de veces y la observación se identificó correctamente. Creo que sería más fácil si utilizara una columna de validación. En general, el código se vería así:
Para (i = 1, i <= nLoops, i ++,
// Columna de validación de reorganización
// Ejecutar plataforma de análisis
// Recopile información para la clasificación correcta / incorrecta para observaciones en el conjunto de pruebas en el paso i
);
Si bien no es un verdadero intervalo de confianza (no estoy seguro de que pueda obtener uno para la mayoría de las técnicas de modelado predictivo), creo que está lo suficientemente cerca en espíritu para ser útil.
Don