importance_pvalues |
Importance de valeur-p |
|---|---|
| ranger | C++/R |
Syntaxe
|
importance_pvalues( x, method = c("janitza", "altmann"), num.permutations = 100, formula = NULL, data = NULL, ... ) |
Paramètres
| Nom | Description |
|---|---|
| x | objet ranger ou holdoutRF. |
| method | Méthode de calcul des valeurs p. Utiliser « janitza » pour la méthode de Janitza et al. (2016) ou « altmann » pour la méthode non paramétrique d'Altmann et al. (2010). |
| num.permutations | Nombre de permutations. Utilisé uniquement dans la méthode «Altmann». |
| formula | Objet de classe formule ou caractère décrivant le modèle à ajuster. Utilisé uniquement dans la méthode «altmann». |
| data | Données d'apprentissage de la classe data.frame ou matrix. Utilisées uniquement dans la méthode «altmann». |
| ... | Autres paramètres passés à ranger(). Utilisé uniquement dans la méthode « altmann ». |
Description
Cette fonction permet de tester la significativité des importances des variables, en générant des valeurs p associées. Calculer l'importance des variables à l'aide des valeurs de p. Pour les données de grande dimension, la méthode rapide de Janitza et al. (2016) peut être utilisée. L'approche par permutation d'Altmann et al. (2010) est gourmande en ressources de calcul, mais peut être utilisée avec tous types de données.
Remarques
- La méthode de Janitza et al. (2016) utilise une astuce astucieuse : avec une mesure d'importance de variable non biaisée, les valeurs d'importance des variables non associées varient aléatoirement autour de zéro. Ainsi, toutes les valeurs d'importance non positives sont supposées correspondre à ces variables non associées et sont utilisées pour construire une distribution de l'importance sous l'hypothèse nulle d'absence d'association avec la réponse. Puisque seules les valeurs non positives de cette distribution sont observables, les valeurs positives sont créées en reflétant la distribution négative. Voir Janitza et al. (2016) pour plus de détails.
- La méthode d'Altmann et al. (2010) utilise un test de permutation simple : la distribution de l'importance sous l'hypothèse nulle d'absence d'association avec la réponse est créée par plusieurs répétitions de la permutation de la réponse, de la croissance d'un facteur de corrélation et du calcul de l'importance de la variable. Les auteurs recommandent 50 à 100 permutations. Cependant, des nombres beaucoup plus grands doivent être utilisés pour estimer des valeurs de p plus précises. Nous ajoutons 1 au numérateur et au dénominateur pour éviter des valeurs de p nulles.
Références
- Janitza, S., Celik, E. & Boulesteix, A.-L., (2016). Un test d'importance de variable rapide pour les forêts aléatoires de données de grande dimension. Adv Data Anal Classif, doi : 10.1007/s116340160276-4.
- Altmann, A., Tolosi, L., Sander, O. & Lengauer, T. (2010). Importance des permutations : une mesure corrigée de l'importance des caractéristiques, Bioinformatics 26 : 1340-1347
Exemple
- ## Valeurs p de Janitza avec importance de Gini corrigée
- n <- 50
- p <- 400
- dat <- data.frame(y = factor(rbinom(n, 1, .5)), replicate(p, runif(n)))
- rf.sim <- ranger(y ~ ., dat, importance = "impurity_corrected")
- importance_pvalues(rf.sim, method = "janitza")
- ## Valeurs p de permutation
- ## Non exécuté :
- rf.iris <- ranger(Species ~ ., data = iris, importance = 'permutation')
- importance_pvalues(rf.iris, method = "altmann", formula = Species ~ ., data = iris)
- ## Fin (non exécuté)
Dernière mise à jour : Vendredi, le 1er août 2025