Limites des méthodes d'ensemble arborescentes dans les petits problèmes n, grands p?

10

Les méthodes d'ensemble basées sur des arbres telles que la forêt aléatoire et les dérivés subséquents (par exemple, la forêt conditionnelle), prétendent toutes être utiles dans les problèmes dits «petits n , grands p », pour identifier l'importance relative des variables. En effet, cela semble être le cas, mais ma question est de savoir jusqu'où cette capacité peut-elle être poussée? Peut-on avoir, disons 30 observations et 100 variables? Quel est le point de rupture d'une telle approche, et existe-t-il des règles empiriques décentes? Je préférerais et accepterais des réponses appuyées par des liens vers des preuves réelles (pas des conjectures), en utilisant des ensembles de données simulés ou réels. Je n'ai pas trouvé grand chose sur ce dernier ( ici et ici), donc vos pensées / conseils / (sur le sujet) suggestions de référence sont les bienvenus!

Prophète60091
la source

Réponses:

3

Je soupçonne qu'il n'y aura pas de réponse définitive à cette question jusqu'à ce que des études de simulation soient menées. Entre-temps, j'ai trouvé Random Forests de Genuer et al : certaines idées méthodologiques ont aidé à mettre une certaine perspective sur cette question, au moins en termes de test de RF contre une variété de jeux de données "low n, high p". Plusieurs de ces ensembles de données ont> 5000 prédicteurs et <100 observations !!

Prophète60091
la source
3

Le mode de défaillance que vous rencontrerez est que, avec suffisamment de fonctionnalités aléatoires, il existera des fonctionnalités liées à la cible dans les échantillons ensachés utilisés pour chaque arbre, mais pas dans le plus grand ensemble de données. Un problème similaire à celui observé dans plusieurs tests.

Il est difficile d'élaborer des règles empiriques à cet égard, car le point exact auquel cela se produit dépend de la quantité de bruit et de la force du signal dans les données. Il existe également des méthodes pour résoudre ce problème en utilisant plusieurs valeurs de p corrigées par des tests comme critères de fractionnement, en effectuant une étape de sélection de fonction basée sur une importance variable et / ou une comparaison de l'importance des caractéristiques par rapport aux caractéristiques de contraste artificiel produites en permutant au hasard la caractéristique réelle, en utilisant out d'étuis pour valider la sélection fractionnée et d'autres méthodes. Ceux-ci peuvent être extrêmement efficaces.

J'ai utilisé des forêts aléatoires (y compris certains des ajustements méthodologiques ci-dessus) sur des ensembles de données avec environ 1000 cas et 30 000 à 1 000 000 de fonctionnalités. (Ensembles de données en génétique humaine avec différents niveaux de sélection de caractéristiques ou d'ingénierie). Ils peuvent certainement être efficaces pour récupérer un signal fort (ou un effet de lot) dans de telles données, mais ne font pas bien de rassembler quelque chose comme une maladie avec des causes hétérogènes car la quantité de variation aléatoire dépasse chaque signal

Ryan Bressler
la source
0

Cela dépendra également du signal et du bruit dans vos données. Si votre variable dépendante est assez bien expliquée par une combinaison des variables de votre modèle, je pense que vous pouvez vous en tirer avec un rapport n / p inférieur.

Je soupçonne qu'un nombre minimum absolu de n sera également nécessaire pour obtenir un modèle décent en dehors du rapport.

Une façon de voir les choses est que chaque arbre est construit en utilisant des variables SQRT (p) et si ce nombre est grand et le nombre de points sont petits, les arbres peuvent être ajustés sans vraiment avoir de modèle réel. Par conséquent, beaucoup de ces arbres trop ajustés donneront une fausse importance variable.

Habituellement, si dans le tableau d'importance variable, je vois beaucoup de variables principales avec presque le même niveau d'importance, je conclus que cela me donne juste du bruit.

DeepakML
la source
D'où vient le SQRT (p)?
LauriK
Dans RandomForest, chaque arbre est construit à l'aide d'un échantillon des variables. Par défaut (au moins dans le package R randomForest), la valeur qu'il prend est le nombre le plus proche inférieur ou égal à SQRT (p) où p est le nombre de colonnes.
DeepakML