Ici @gung fait référence à la règle .632+. Une recherche rapide dans Google ne permet pas de comprendre aisément ce que cette règle signifie et dans quel but elle est utilisée. Quelqu'un voudrait-il élucider la règle .632+?
Ici @gung fait référence à la règle .632+. Une recherche rapide dans Google ne permet pas de comprendre aisément ce que cette règle signifie et dans quel but elle est utilisée. Quelqu'un voudrait-il élucider la règle .632+?
Réponses:
Je vais arriver à l'estimateur 0.632, mais le développement sera un peu long:
Supposons que nous voulions prédire avec utilisant la fonction , où peut dépendre de certains paramètres estimés en utilisant les données , par exemple
Une estimation naïve de l'erreur de prédiction est où est une fonction de perte, par exemple une perte d'erreur au carré. Ceci est souvent appelé une erreur d’entraînement. Efron et al. appelle le taux d'erreur apparent ou le taux de resubstitution. Ce n'est pas très bon puisque nous utilisons nos données pour nous adapter à . Ceci a pour conséquence que est biaisé. Vous voulez savoir comment votre modèle réussit à prévoir de nouvelles valeurs.
Nous utilisons souvent la validation croisée comme un moyen simple d'estimer l'erreur de prédiction extra-échantillon attendue (comment notre modèle gère-t-il les données qui ne figurent pas dans notre ensemble de formation?).
Une façon populaire de le faire est de faire validation croisée de. Divisez vos données en groupes (par exemple 10). Pour chaque groupe , adaptez votre modèle aux autres groupes et testez-le sur le ème groupe. Notre erreur de prédiction extra-échantillon validée par recoupement est simplement la moyenne où est une fonction d’index qui indique la partition à laquelle l’observation est allouée et est la valeur prédite de utilisant des données qui ne font pas partie de .K K K - 1 k E r r C V = 1κif-κ(i)(xi)xiκ(i)
Cet estimateur est approximativement sans biais pour la véritable erreur de prédiction lorsque et a une plus grande variance et est plus cher pour plus informatiquement . Donc, encore une fois, nous voyons le compromis biais-variance en jeu.K
Au lieu de la validation croisée, nous pourrions utiliser le bootstrap pour estimer l'erreur de prédiction extra-échantillon. Le rééchantillonnage par bootstrap peut être utilisé pour estimer la distribution d'échantillonnage de toute statistique. Si nos données de formation sont , nous pouvons penser à prendre échantillons de démarrage (avec remplacement) à partir de cet ensemble où chaque est un ensemble de échantillons. Nous pouvons maintenant utiliser nos exemples d'amorçage pour estimer l'erreur de prédiction extra-échantillon: où est la valeur prédite à du modèle ajusté à la
Cependant, si nous avons une fonction de prédiction fortement sur-ajustée (c'est-à-dire ), alors même l'estimateur 0,632 sera biaisé vers le bas. L'estimateur .632+ est conçu pour être un compromis moins biaisé entre et . avec où est le taux d'erreur d'absence d'information, estimé en évaluant le modèle de prédiction sur toutes les combinaisons possibles de cibles et prédicteurs .
Ici, mesure le taux relatif de surajustement. S'il n'y a pas de surajustement (R = 0, lorsque ), il est égal à l'estimateur 0,632.
Vous trouverez plus d' informations dans la section 3 du présent 1 papier. Mais pour résumer, si vous appelez un échantillon de nombres de tirés au hasard et avec remplacement, contient en moyenne environ éléments uniques.
Le raisonnement est le suivant. Nous en échantillonnant fois (de manière aléatoire et avec remplacement) à partir de . Considérons un index particulier .
Ensuite:
et
et ceci est vrai (intuitivement, puisque nous échantillonnons avec remplacement, les probabilités ne dépendent pas de )
Ainsi
Vous pouvez également effectuer cette petite simulation pour vérifier empiriquement la qualité de l'approximation (qui dépend de ):
n <- 100
fx01 <- function(ll,n){
a1 <- sample(1:n, n, replace=TRUE)
length(unique(a1))/n
}
b1 <- c(lapply(1:1000,fx01,n=100), recursive=TRUE)
mean(b1)
1. Bradley Efron et Robert Tibshirani (1997). Améliorations apportées à la validation croisée: La méthode .632+ Bootstrap . Journal de l'American Statistical Association , vol. 92, n ° 438, p. 548-560.
D'après mon expérience, basée principalement sur des simulations, les variantes de bootstrap 0.632 et 0.632+ n'étaient nécessaires qu'en raison de graves problèmes causés par l'utilisation d'une règle de notation incorrecte, à savoir la proportion "classée" correctement. Lorsque vous utilisez des règles de notation appropriées (par exemple, basées sur la déviance ou score de Brier) ou semi-appropriées (par exemple, index = AUROC), le bootstrap standard d'optimisme Efron-Gong fonctionne parfaitement.
Ces réponses sont très utiles. Comme je ne pouvais pas le démontrer en maths, j’ai écrit du code Python qui marche plutôt bien:
from numpy import mean
from numpy.random import choice
N = 3000
variables = range(N)
num_loop = 1000
# Proportion of remaining variables
p_var = []
for i in range(num_loop):
set_var = set(choice(variables, N))
p=len(set_var)/float(N)
if i%50==0:
print "value for ", i, " iteration ", "p = ",p
p_var.append(p)
print "Estimator of the proportion of remaining variables, ", mean(p_var)