Identificar "variables importantes" para la regresión de árboles de partición Estoy desarrollando un análisis de regresión de árboles de partición, con JMP 13, tengo 83 variables, estoy identificando las variables que no tienen colinealidad con VIF, con el objetivo de poder identificar las variables más "representativas" para desarrollar el análisis de regresión de árboles de partición (El ejemplo que utilizo es Ingresos bancarios
Regresión lineal múltiple con transformación / a partir de la construcción de mejores modelos con JMP Pro, Capítulo 4, Prensa SAS (2015). Grayson, Gardner y Stephens.). Mi consulta, ¿podría ser esta una forma adecuada? o hay un protocolo más específico en JMP para identificar estas variables "importantes" para trabajar con árboles de partición de regresión.
Re: Identifique "variables importantes" para la regresión de árboles de particiónNo soy un experto, pero también he revisado ese libro (aparte, me gustaron los ejemplos y el trabajo de práctica). Hay algunos buenos ejemplos en capítulos posteriores que también podrían ser aplicables a su situación particular.
El VIF es, sin duda, una forma de determinar qué variables se sobreestiman en el modelo. Examinar las contribuciones de la columna de los resultados del árbol de decisión también puede ser bastante útil. Otro enfoque podría ser usar el análisis de componentes principales (PCA), que puede ayudar a agrupar las variables más importantes y usarlas como PC para modelar la respuesta. Se supone que la plataforma del bosque de arranque es robusta contra el sobreajuste porque es aleatoria con respuestas y factores. Tanto el bosque de arranque como el árbol potenciado deberían "eliminar" factores no útiles, ya que no se dividirán a lo largo de esos factores y su contribución caerá a valores muy bajos.
Si tiene suficientes datos para crear una columna de validación con entrenamiento, validación y datos de prueba, esto ayudará a simplificar mucho su modelo. La parte de validación ayuda a elegir el modelo más parco del grupo, mientras que los datos de prueba se utilizan para ver qué tan bien funciona el modelo con datos "ciegos". Una nota con esto, es posible que desee considerar si esto debe ser estratificado, aleatorio, o de alguna manera elegido. Esto puede estar parcialmente (o en gran parte) basado en la respuesta de su modelado. ¿Es continuo, o binario, etc?
Por último, la comparación de varios modelos diferentes (plataforma de comparación de modelos), como NN, partición, bosque de boostrap, árbol potenciado o regresión generalizada también ayudará a elegir cuál funciona mejor para sus datos. Asegúrese de comparar sus modelos solo en los datos de "prueba", o en cualquiera que se haya retenido manualmente ocultando y excluyendo (es decir, no desea realizar pruebas en los datos de entrenamiento).
No estoy seguro de si existe un método "estandarizado" para determinar esto, pero ciertamente abordar el problema desde varios ángulos diferentes ayudará a ver dónde está la mayor superposición, y le ayudará en su decisión para determinar las variables "representativas".
¡Espero que esto ayude!,
DS
Re: Identifique "variables importantes" para la regresión de árboles de particiónGracias por las sugerencias, me aclararon muchos problemas y trabajaré en ese contexto. Aunque una de mis limitaciones para poder usar y desarrollar, por ejemplo, algunas comparaciones entre modelos, es que no trabajo en una versión JMP PRO. Sin embargo, pude identificar la opción: JMP to R Add-In Builder, que entiendo podría facilitarme el uso de otros algoritmos para el desarrollo del análisis como sugiere; Este último que indico es porque soy una persona no codificadora>. <
¡Gracias!
Re: Identifique "variables importantes" para la regresión de árboles de particiónHabrá algunas limitaciones en la generación de modelos cuando no tenga acceso a JMP Pro. Por otro lado, aún puede hacer el modelado ARIMA (si corresponde) y un NN simplificado y un árbol de particiones. Otra plataforma que podría ayudar es la evaluación de predictores, en Analizar -> Evaluación. Esto podría ayudar a identificar también cuál de los muchos factores es probable que sea importante.
Otra cosa que puedes probar es en la plataforma Fit Model, para elegir "paso a paso" debajo de "personalidad". Esto también utilizará diferentes criterios para seleccionar qué factores (y términos mixtos) son necesarios y cuáles no. Aquí, es de gran ayuda tener una buena idea de qué tipo de modelo usar. Si tiene muchos datos, puede seleccionar todos sus factores y luego elegir la superficie de respuesta debajo del botón desplegable "macros". Solo desea asegurarse de que sus grados de libertad no se reduzcan demasiado. Si sabe que hay algún proceso físico que gobierna la respuesta, esto puede ser un comienzo en cómo generar una ecuación modelo. Una última cosa que quizás desee considerar es transformar sus datos antes de modelarlos, especialmente si no se distribuyen normalmente. Transformar los datos puede ayudar a que el proceso de modelado logre un ajuste sólido que tenga mejores capacidades predictivas de lo que lo haría de otra manera.
En lo que respecta a la columna de validación, sé que el JMP estándar no viene con la GUI para generarlo, pero aquí hay algunos JSL que generarán N (lo tengo configurado en 5) columnas de validación que están estratificadas. Algunos modelos son sensibles a la columna de validación, incluso cuando se estratifican en una respuesta determinada, por lo que probar diferentes columnas de validación puede ser útil para evaluar la solidez del modelo.
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= 5, i++,
dt << Make Validation Column(
Training Set( 0.6 ),
Validation Set( 0 .2),
Test Set( 0.2 ),
Stratified Random( :Group )
)
);
En el script anterior, se ejecuta de 1 a 5, por lo que genera 5 columnas de validación que se dividen en 60% de capacitación, 20% de validación y 20% de prueba (puede cambiar los valores a lo que mejor se adapte a sus datos), y será estratificado al azar en cualquier columna (s) que elija en la ventana emergente: Grupo. Si no desea estratificar, entonces puede reemplazar ese comando con una fórmula de categoría aleatoria.
JSL es un lenguaje bastante fácil de codificar, por lo que si tiene tiempo, le sugiero que pruebe algunos scripts para familiarizarse con él. Me resulta muy útil cuando realizo las mismas tareas en diferentes conjuntos de datos, ya que ayuda a automatizar las cosas. También puede consultar el índice de secuencias de comandos en el menú Ayuda.
¡Buena suerte!,
DS
Re: Identifique "variables importantes" para la regresión de árboles de partición Estoy muy agradecido por el tiempo que tomó para ayudarme con las sugerencias y recomendaciones desarrolladas.
Igualmente, buena suerte en todo!