Parámetros de ajuste del bosque Bootstrap, número de divisiones y fórmula de predicciónEstimado JMP y comunidad,
(W10 Empresa, JMP Pro 15.0.0)
Tengo curiosidad por saber cuál de los parámetros de ajuste para el modelado de bosque de arranque impacta el número de divisiones en cada factor. Estoy familiarizado con cómo utilizar una tabla de ajuste y demás para optimizar el ajuste y maximizarlo, por ejemplo, R^2 para el conjunto de validación. De los seis parámetros resaltados a continuación, ¿cuáles pueden afectar el número de divisiones (de las contribuciones de las columnas)?

Si observa el resultado del informe del bosque de arranque, hay una columna en Contribuciones de columna llamada "Número de divisiones". Si sumas estas divisiones, obtendrás el número total de divisiones en el bosque. Tomados individualmente, estos son el número de veces que el modelo se divide en un parámetro determinado.

Si luego comienza a analizar en detalle la fórmula que puede guardar en la tabla de datos, a veces puede haber diferencias entre la cantidad de veces que se cuenta el parámetro en una fórmula y la cantidad de divisiones en ese parámetro.
Por ejemplo, si un parámetro tiene 1000 divisiones, debería aparecer en la fórmula dos veces para un total de 2000 veces, lo cual tiene sentido. Sin embargo, esto no siempre sucede. Sospecho que se debe a uno de los parámetros de ajuste, pero no estoy seguro. Si no, ¿qué más podría afectar esto?
Para dar un ejemplo específico, a continuación se muestra una captura de pantalla de las contribuciones de la columna de un ajuste y se compara con 2*número de divisiones, y el número de veces que se cuenta ese parámetro en la fórmula. Como puede verse, el número de veces que aparece el parámetro en la fórmula (por ejemplo, 12626 para X_1) no coincide con 2*número de divisiones (12636 para X_1). A veces es cercano y otras veces es bastante grande (consulte la columna "Diferencia"). Además, lo interesante es que las diferencias suman cero. Entonces, lo que sea que esté causando estas diferencias se "pondera" de tal manera que en realidad no cambia el número total de divisiones, solo cómo se asignan.

Me parece muy interesante que en la fórmula el parámetro X_11 se encuentra 276 veces más que 2*número de divisiones. Para mí, esto sugiere que en algunas divisiones, no se decide de manera uniforme sobre X_11, sino sobre otro parámetro. Y lo hace de tal manera que el número total de divisiones permanece constante. ¿Podría estar relacionado con los términos muestreados por división o el tamaño mínimo de división? Intenté algunas pruebas manuales y no pude determinar cómo afecta ninguna de ellas al número de divisiones.
Por cierto, copio la fórmula en Word y hago un recuento simple del parámetro, X_1, X_2, etc. Dado el tamaño de la fórmula y la cantidad de árboles, no hay manera de que pueda realizar una búsqueda manual para encontrar ¿Qué está causando esto? Desafortunadamente, no conozco ninguna forma de evaluar la fórmula con Text Explorer ni nada parecido dentro de JMP.
Se agradece mucho cualquier comentario de los desarrolladores de JMP o de los modeladores de la comunidad.
Gracias,
DS
Re: Parámetros de ajuste del bosque Bootstrap, número de divisiones y fórmula de predicciónHola @Byron_JMP ,
Sí, entiendo que la cantidad de divisiones es la cantidad de veces que el algoritmo elige dividir un árbol en esa variable en particular. Si profundiza un poco más en la fórmula escrita en la columna, el número de divisiones que se informan en las Contribuciones de la columna no siempre es exactamente la mitad del número de veces que se cuenta el factor X en la fórmula.
Se podría considerar que una decisión de árbol podría ser algo como (solo como ejemplo):
Si(Falta(X_1) | X_1 <=32, 41, 35)
Si ese es el caso para cada decisión, entonces esperaría que la cantidad de veces que X_1 aparezca en la fórmula sea exactamente 2*la cantidad de divisiones asociadas con ese factor.
Pero, si en cambio el árbol de decisión se parece más a:
Si(Falta(X_1) | X_3 > 16, 20, 18)
Entonces podría tener una situación en la que la cantidad de veces que se divide un árbol en esa variable difiere de la cantidad de veces que aparece en la fórmula. ¿Qué podría impulsar eso cuando se construyan los árboles de decisión?
En la situación particular de la publicación original, puede ver que los factores X_1, X_2 y X_7 se equilibran entre sí de modo que los valores sumados en la columna "Diferencia" suman 0. Lo mismo ocurre con todos los demás factores X cuando se suman sus diferencias.
Entonces, en este caso, el factor X_1 en realidad se usa 5 veces MENOS (Diferencia/2) en la fórmula de lo que informa la columna Número de divisiones en las Contribuciones de la columna. De manera similar, para X_2 y X_7, se usan 124 veces MÁS y 119 veces MENOS en la fórmula, respectivamente. Si los sumas: 5 + (-124) + 119 = 0.
¿Podría faltar información? Esto es demasiado "perfecto" para ser una coincidencia, en mi humilde opinión. Simplemente no puedo entender qué parte(s) del proceso de ajuste es responsable de esto.
En cuanto a tus preguntas:
1. Utilizo la opción Uniforme de llenado de espacio DOE para generar un conjunto grande de al menos 60 ejecuciones (10 veces la cantidad de factores que estoy cambiando). Luego, replico el DOE un par de cientos de veces y lo ejecuto; lo hago mediante secuencias de comandos para que no consuma toda mi RAM. Puede tardar un par de días en ejecutarse.
2. Tomo mi tabla de datos original y la divido en un conjunto de datos de entrenamiento/prueba 80/20. Luego divido la tabla de datos original en tablas de solo entrenamiento y solo de prueba. Utilizo la tabla de entrenamiento y utilizo una reserva aleatoria entre aproximadamente 0,18 y 0,25 del conjunto de datos para validar el ajuste del modelo. Nuevamente, hago todo esto a través de secuencias de comandos para poder encontrar qué valores óptimos para ajustar y utilizar como parte de validación. A menudo encuentro que una división exacta de entrenamiento/validación de 80/20 no es tan óptima como algo un poco fuera de lugar, digamos .79/.21. A menudo puedes obtener un R^2 un poco mejor en el conjunto de validación.
Gracias,
DS
Re: Parámetros de ajuste del bosque Bootstrap, número de divisiones y fórmula de predicciónPuede que esta no sea una respuesta muy satisfactoria, pero el número de divisiones es solo un recuento de cuántas veces la variable fue el mejor lugar para dividir una rama.
Realmente no existe un control sobre cuántas veces se puede dividir una variable.
Quizás te respondamos un par de preguntas:
1. ¿Cómo estás construyendo tu mesa giratoria y cuántas tiradas utilizas?
2. Cuando sintoniza, ¿lo hace contra todo el conjunto de datos o contra un subconjunto aleatorio?
-¿Qué proporción de los datos utiliza en un subconjunto (si lo hace)?
Sus observaciones sobre el nombre del parámetro utilizado en las fórmulas son interesantes. Podría investigar eso un poco.