Estoy utilizando el paquete randomForest en R (R versión 2.13.1, randomForest versión 4.6-2) para la regresión y he observado un sesgo importante en mis resultados: el error de predicción depende del valor de la variable de respuesta. Los valores altos están infravalorados y los valores bajos están sobrevalorados. Al principio sospeché que esto era una consecuencia de mis datos, pero el siguiente ejemplo sencillo sugiere que esto es inherente al algoritmo de bosque aleatorio:
n = 1000;
x1 = rnorm(n, mean = 0, sd = 1)
response = x1
predictors = data.frame(x1=x1)
rf = randomForest(x=predictors, y=response)
error = response-predict(rf, predictors)
plot(x1, error)
Sospecho que el sesgo depende de la distribución de la respuesta, por ejemplo, si x1
se distribuye uniformemente, no hay sesgo; si x1
se distribuye exponencialmente, el sesgo es unilateral. Esencialmente, los valores de la respuesta en las colas de una distribución normal son valores atípicos. No es de extrañar que un modelo tenga dificultades para predecir los valores atípicos. En el caso de randomForest, un valor de respuesta de magnitud extrema procedente de la cola de una distribución tiene menos probabilidades de acabar en una hoja terminal y su efecto se verá borrado en la media del conjunto.
Tenga en cuenta que traté de capturar este efecto en un ejemplo anterior, "RandomForest en R regresión lineal colas mtry". Este fue un mal ejemplo. Si el sesgo en el ejemplo anterior es realmente inherente al algoritmo, se deduce que se podría formular una corrección del sesgo dada la distribución de la respuesta que uno está tratando de predecir, lo que resulta en predicciones más precisas.
¿Están los métodos basados en árboles, como el bosque aleatorio, sujetos a un sesgo en la distribución de las respuestas? Si es así, ¿es esto conocido previamente por la comunidad estadística y cómo se suele corregir (por ejemplo, un segundo modelo que utiliza los residuos del modelo sesgado como entrada)?
La corrección de un sesgo dependiente de la respuesta es difícil porque, por naturaleza, la respuesta no se conoce. Por desgracia, la respuesta estimada/predicha no suele tener la misma relación con el sesgo.
0 votos
Llevo casi 12 meses dándole vueltas a esta misma pregunta. Véase stats.stackexchange.com/questions/21530/ y kaggle.com/forums/t/1106/pregunta-aleatoria-de-bosques-novatos . Estoy de acuerdo en que el problema parece ser que los valores atípicos no están siendo bien representados por las medias que se utilizan como predicción en cada nodo. El ajuste de la predicción o el modelo en el nodo parecen enfoques razonables, pero no estoy seguro de cuál es el enfoque estándar.