J'utilise le package randomForest dans R (R version 2.13.1, randomForest version 4.6-2) pour la régression et j'ai remarqué un biais significatif dans mes résultats: l'erreur de prédiction dépend de la valeur de la variable de réponse. Les valeurs élevées sont sous-prédites et les valeurs faibles sont sur-prédites. Au début, je soupçonnais que c'était une conséquence de mes données, mais l'exemple simple suivant suggère que cela est inhérent à l'algorithme de forêt aléatoire:
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)
Je soupçonne que le biais dépend de la distribution de la réponse, par exemple, s'il x1
est uniformément distribué, il n'y a pas de biais; s'il x1
est distribué de façon exponentielle, le biais est unilatéral. Essentiellement, les valeurs de la réponse à la queue d'une distribution normale sont aberrantes. Il n'est pas surprenant qu'un modèle ait du mal à prévoir les valeurs aberrantes. Dans le cas de randomForest, une valeur de réponse d'une amplitude extrême de la queue d'une distribution est moins susceptible de se retrouver dans une feuille terminale et son effet sera éliminé dans la moyenne d'ensemble.
Notez que j'ai essayé de capturer cet effet dans un exemple précédent, "RandomForest in R linear regression tails mtry". C'était un mauvais exemple. Si le biais dans l'exemple ci-dessus est vraiment inhérent à l'algorithme, il s'ensuit qu'une correction de biais pourrait être formulée étant donné la distribution de réponse que l'on essaie de prédire, résultant en des prédictions plus précises.
Les méthodes basées sur les arbres, comme la forêt aléatoire, sont-elles sujettes à un biais de distribution de réponse? Si tel est le cas, cela est-il déjà connu de la communauté des statistiques et comment est-il généralement corrigé (par exemple, un deuxième modèle qui utilise les résidus du modèle biaisé en entrée)?
La correction d'un biais dépendant de la réponse est difficile car, par nature, la réponse n'est pas connue. Malheureusement, la réponse estimée / prédite ne partage pas souvent la même relation avec le biais.