6 votos

Cómo determinar la combinación de niveles de los factores para que la variable de respuesta es mayor

He corrido un experimento con 5 categórica factores. Los factores que tienen entre 2 y 8 niveles cada uno. Tengo una variable de respuesta, que es continua en el intervalo de 0 a 100. Todo-en-todo, he de ejecutar un experimento factorial completo con 800-algo combinaciones. Cada combinación tiene 10 muestras. En total, en R-hablar, tengo un marco de datos con 6 columnas y 8607 filas.

Mi objetivo: determinar el nivel de cada factor que resulta en un mejor rendimiento. Por ejemplo, quiero ser capaz de decir "el Rendimiento es generalmente mejor cuando se factor1 es el nivel "a", factor2 es de nivel"C", ..., y factor5 es el nivel "E". Conclusiones: utilice siempre el nivel "a" para factor1 ....".

¿Cómo puedo lograr esto?

Pensé por primera vez en la PCA, pero esto no es del todo correcto ya que los componentes que PCA encuentra son combinaciones de factores, pero tengo que ser capaz de decir que el factor de nivel es mejor, para todos y cada uno de los factores. Quiero mantener los factores en el tacto.

También pensé de ANOVA, que puede ser lo que yo quiero, pero no estoy seguro de cómo usar su salida. Por ejemplo, en R, me sale:

> summary(aov(...))
              Df  Sum Sq Mean Sq  F value    Pr(>F)    
preprocess     7  21.430   3.061  180.771 < 2.2e-16 ***
bugData        2   5.276   2.638  155.782 < 2.2e-16 ***
fileData       5   6.462   1.292   76.315 < 2.2e-16 ***
param1         2 255.766 127.883 7551.306 < 2.2e-16 ***
param2         1  15.579  15.579  919.887 < 2.2e-16 ***
Residuals   8589 145.457   0.017                       
---
Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1 

No sé cómo interpretar estos resultados. Es que param1 tiene el mayor efecto, ya que la "Suma de Cuadrados" es más grande? ¿Cómo puedo saber cuál es el nivel de param1 es mejor?

Así que, esta es mi idea: Para cada factor, comparar el "ganar-porcentaje" de cada nivel en contra de todos los otros niveles. Es decir, el número de veces que el nivel X "beats" de nivel Y, dado que todos los otros factores son iguales. Puedo comparar el nivel X y nivel Y un montón de veces, porque hay muchos otros factores y niveles de los factores. Así, puedo cambiar el nivel de los otros factores, comparar el nivel de X y el nivel Y en el factor actual, y seguir la pista de quién ganó. Haciendo esto, debo terminar con algo como "Para factor1, levelX beats levelY 85% del tiempo, y por lo tanto es la mejor opción."

¿Este enfoque de sentido? Hay un nombre para eso? O es que hay otro enfoque en conjunto que logre lo que quiero?

Cualquier ayuda o consejos son muy apreciados. Yo preferiría si mi respuesta es aplicable en R, pero me puedo adaptar. Tengo un muy robusto de la máquina a utilizar (16 procesadores, 196 G de RAM), así que no estoy demasiado preocupado acerca de la eficiencia del algoritmo que resuelve mi problema.

2voto

Peter Puntos 1

Esta pregunta es susceptible de un árbol de decisión técnica de análisis. Con un resultado continuas, el software pondrá simplemente recortar puntos en la media de los valores medidos, por lo que los recortes van a caer entre los niveles se han medido, en lugar de los niveles actuales. De la categoría de los predictores trabajar bien con este método, como se verá que los niveles de plomo para que los resultados. Usted obtendrá una caja al final de cada terminal que contiene información como la media de rendimiento. Las ramas se asocian con mayores niveles de rendimiento se basan en su 5 factores de manera categórica, todo va bien, es una forma relativamente sencilla y rápida de ver si hay una clara asociación entre los niveles del factor y su medida de rendimiento.

La principal con árboles de decisión es que tienden a ser gradual, con una "F-a-entrar en" cálculo, por lo que pueden sufrir algunos de los problemas de regresión paso a paso, en la que no se le garantiza la solución óptima.

Echa un vistazo aquí y aquí para una R ejemplo. Sólo lo he usado SAS Enterprise Miner y AnswerTree pero el código es fácil de seguir una vez que tienes la idea general de cómo los árboles trabajo. Esta es una buena introducción a los árboles de decisión, con unas bonitas imágenes. :)

Hay algunas cuestiones que usted necesita para familiarizarse con si usted decide ir a esta ruta, básicamente, estos son todos alrededor de el conocido problema de no utilizar los mismos datos en el modelo a desarrollar y probar el modelo. Algunas de las referencias que te pueden ser de utilidad están aquí y aquí.

Actualización: la regla utilizada por árboles de decisión para elegir la variable que yo creo que está basado en la cantidad de varianza explicada: el árbol de decisión software va a ir a través de cada variable disponible split y elegir el que explica la mayoría de la varianza, por ejemplo, ver aquí. Así que no hay ninguna entrada del usuario en las divisiones, a menos que uno de los cambios de la F-a-entrar (por ejemplo) criterio.

El árbol resultante tendrá un número de ramas. El número de divisiones que obtenga dependerá de cual sea el método que use como algunos restringir el número de divisiones de a dos. La ruta de acceso que tiene el terminal de nodo con la mayor media se muestran los niveles de los factores asociados con la gran media. Las variables y los valores de los mismos, será mostrado en contra de cada uno de los nodos de la rama. Se puede concluir que es la ruta más óptima, pero recuerda hacer algunas pruebas con el modelo (por ejemplo, validación cruzada). Usted también podría terminar con dos nodos con medios similares. Valdría la pena hacer algunos datos de la visualización del árbol de clasificaciones para ver si funcionaba, por ejemplo el uno con el más grande significa también podría haber un exceso de desviación estándar grande y no puede clasificar así como aparece sólo a partir de la media.

Los nodos terminales no pueden estar en cualquier orden de la media, en mi experiencia uno no consigue un buen orden ascendente o descendente de los nodos de izquierda a derecha.

Diviértete con el método. :)

Actualización 2: el árbol va a detener la formación de ramas (nodos) cuando, a través de nodo, se produce esta situación:

  1. ninguna de las variables que no han sido incluidos en las divisiones cumplir con los F-a-entrar en regla (por ejemplo, incluyendo la de ellos no cumple con un requisito mínimo para explicar la varianza) y
  2. para las variables que se han introducido, no hay más divisiones disponibles que cumplan con los F-a-entrar en regla, y
  3. para las variables que se han introducido, todas las divisiones han producido más alto de la rama, O
  4. si un número máximo de ramas estaba estipulado, la máxima ha sido golpeado en cada nodo donde un F-a-entrar en regla, de lo contrario podrían aplicarse.

Suponiendo que el número máximo de ramas no ha sido alcanzado, se puede interpretar los resultados de esta forma, y tenga en cuenta que estos resultados son curiosos y no definitivo, a menos que haya validado con un adecuado método de validación:

  • todos variable divisiones que explicar una cantidad razonable de la varianza en el modelo se han introducido, por lo que
  • ninguna de las variables no introducir bien no explican suficiente varianza o posiblemente correlacionadas con otras variables en el modelo (no es posible decir cuál de estas dos situaciones es más correcto con un paso a paso del modelo), y
  • del mismo modo, cuando la variable se divide no ocurren (por ejemplo, cuando se tienen dos niveles de una variable de la sesión, como filedata niveles "d" y "e"), la división no explicar suficiente varianza, por lo que el resultado puede ser invariante a que los niveles se produce. Debido a que este es un paso a paso del método, los resultados pueden no producir el resultado óptimo. Recomiendo la agrupación de las variables en la base de los resultados del árbol de decisión y, a continuación, mirando boxplots de desempeño con base en estos grupos. Que mostrará claramente si el árbol de decisión se ha dado un buen resultado.

Estoy contento de que el método parece haber funcionado. Espero que estas sugerencias adicionales proveer de usted una manera de seguir adelante con el análisis. De nuevo, la mejor de las suertes!

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