Connaissez-vous une référence ou un nom pour la façon suivante de rechercher si une technique de modélisation complexe est biaisé?
- Appliquez à l'ensemble de données d'origine. Mesurer ses performances (par exemple, R au carré dans le cadre de la régression).
- Permutez au hasard la variable de réponse pour obtenir un nouvel ensemble de données. Appliquer et mesurer sa performance . [Si les observations sont dépendantes, cette étape est plus compliquée.]
Si est sensiblement différent d'une performance nulle, nous concluons que est biaisé.
L'étape 2 peut être répétée si les ressources le permettent, ce qui entraînerait la distribution nulle de permutation de la mesure de performance. Mais dans mon application, je ne peux pas le faire en raison de problèmes de ressources.
Je me souviens sombrement que cette astuce de "remaniement" a été utilisée par quelqu'un pour enquêter sur le parti pris de la validation croisée avec oubli (dans certains contextes). Je ne sais pas, cependant, s'il était dans ma situation où il pourrait répéter tout le processus une seule fois.
Un exemple en R qui montre la "puissance" de la sélection naïve en arrière:
# Generate random data set. Only random performance is expected.
n <- 100
p <- 30
set.seed(7567)
y <- rnorm(n)
X <- rnorm(n*p)
dim(X) <- c(n, p)
data <- data.frame(y, X)
# Modelling technique: backward selection with OLS
T <- function(data) {
step(lm(y ~ ., data = data), trace = 0)
}
# Performance: R-squared
P <- function(fit) {
summary(fit)$r.squared
}
# Step 1: Compute performance on original data. Happily publish high R-squared...
P(T(data)) # 0.240405
# Step 2: Your mean colleague reshuffles response and gets also R-squared far away from 0
data$y <- data$y[sample(n)]
P(T(data)) # 0.1925726
Conclusion sur l'exemple: La technique de modélisation choisie est extrêmement sujette au sur-ajustement, au moins dans ce contexte spécifique.
Quelques antécédents
J'ai déjà utilisé cette astuce de remaniement pour vérifier si la validation croisée d'un processus de modélisation fastidieux a été correctement mise en œuvre par moi. Sous une permutation aléatoire, CV a donné un R au carré essentiellement de 0 (comme prévu / souhaité).
la source
Réponses:
Pour répondre à la question dans le titre, AFAIK, cela s'appelle un test de permutation . Si c'est bien ce que vous recherchez, cela ne fonctionne pas comme décrit dans la question.
Pour être (un peu) concis: le test de permutation fonctionne en effet en mélangeant l'une des «colonnes» et en effectuant le test ou le calcul d'intérêt. Cependant, l'astuce consiste à le faire plusieurs fois , en mélangeant les données à chaque fois. Dans de petits ensembles de données, il pourrait même être possible d'effectuer toutes les permutations possibles. Dans les grands ensembles de données, vous effectuez généralement une quantité de permutation que votre ordinateur peut gérer, mais qui est suffisamment grande pour obtenir une distribution de la statistique d'intérêt .
Enfin, vous utilisez cette distribution pour vérifier si, par exemple, la différence moyenne entre deux groupes est> 0 dans 95% de la distribution. En termes simples, cette dernière étape de vérification de la partie de la distribution qui est au-dessus / en dessous d'une certaine valeur critique est la «valeur p» pour votre test d'hypothèse.
Si cela est très différent de la valeur de p dans l'échantillon d'origine, je ne dirais pas qu'il y a un problème avec le test / la statistique d'intérêt, mais plutôt votre échantillon contenant certains points de données qui influencent spécifiquement le résultat du test. Il peut s'agir d'un biais (biais de sélection dû à l'inclusion de certains cas étranges; erreur de mesure dans des cas spécifiques, etc.), ou d'une utilisation incorrecte du test (par exemple, hypothèses non respectées).
Voir https://en.wikipedia.org/wiki/Resampling_(statistics) pour plus de détails
De plus, voir la réponse de @amoeba à cette question Si vous voulez en savoir plus sur la façon de combiner les tests de permutation avec la sélection des variables.
la source
J'ai finalement trouvé la réponse dans le livre de Frank Harrell "Stratégies de modélisation de régression" [1] à la section 5.2.4 (Améliorations du fractionnement des données: rééchantillonnage).
"La méthode de randomisation" est présentée comme une méthode intéressante pour estimer l'optimisme à travers des permutations aléatoires de la réponse, notamment en combinaison avec la sélection de variables (comme dans l'exemple du PO).
Il se réfère, entre autres, à [2] pour des idées connexes.
La méthode est très simple: disons que votre stratégie de modélisation compliquée implique une sélection en avant / en arrière (et latéralement) et que votre ensemble de données est trop petit pour avoir une répartition propre train / validation / test. En outre, vous pourriez ne pas faire entièrement confiance à la validation croisée, car cela signifie toujours de supprimer une certaine proportion des données dans le pli. Comment pouvez-vous juger si votre R au carré de 0,7 est valide ou s'il résulte principalement d'un sur-ajustement? La méthode de randomisation fonctionne comme suit (ici, nous parlons de R au carré, mais cela peut être n'importe quelle mesure de performance d'intérêt). Si votre stratégie n'est pas biaisée, vous vous attendez à ce que le R au carré soit proche de 0 s'il est répété sur un ensemble de données avec une variable de réponse permutée de manière aléatoire. Disons que vous obtenez un R-carré moyen de 0,6 au lieu de 0 après 20 permutations. Vous savez donc que le R-carré d'origine de 0. 7 n'est probablement pas beaucoup plus que le résultat d'un sur-ajustement. Une estimation plus honnête du "vrai" R au carré serait de 0,7-0,6 = 0,1 (petit). Vous avez donc montré à quel point votre stratégie est inadaptée.
Avantages de la méthode
Les inconvénients incluent
[1] Frank Harrell, "Stratégies de modélisation de la régression", 2001. Springer.
[2] R. Tibshirani et K. Knight. Le critère d'inflation de covariance pour la sélection de modèles adaptatifs. JRSS B, 61: 529-546, 1999.
la source