Je me demande si quelqu'un connaît des règles générales concernant le nombre d'échantillons bootstrap à utiliser, en fonction des caractéristiques des données (nombre d'observations, etc.) et / ou des variables incluses?
Je me demande si quelqu'un connaît des règles générales concernant le nombre d'échantillons bootstrap à utiliser, en fonction des caractéristiques des données (nombre d'observations, etc.) et / ou des variables incluses?
Réponses:
D'après mon expérience, les statisticiens ne prendront pas les simulations ou les démarches au sérieux, à moins que le nombre d'itérations ne dépasse 1 000. L’erreur MC est un gros problème qui est un peu sous-estimé. Par exemple, cet article utilisé Niter=50
pour démontrer LASSO comme outil de sélection de fonction. Ma thèse aurait pris beaucoup moins de temps si 50 itérations avaient été jugées acceptables! Je vous recommande de toujours inspecter l'histogramme des échantillons bootstrap . Leur distribution devrait paraître assez régulière. Je ne pense pas qu'une règle numérique simple suffira, et il serait excessif d'exécuter, par exemple, un double bootstrap pour évaluer l'erreur MC.
Supposons que vous estimiez la moyenne à partir d'un rapport de deux variables aléatoires normales indépendantes indépendantes, certains statisticiens pourraient recommander de l'amorcer, car l'intégrale est difficile à calculer. Si vous avez la théorie des probabilités de base à votre actif, vous reconnaîtrez que ce rapport forme une variable aléatoire de Cauchy avec une moyenne inexistante. Toute autre distribution leptokurtique nécessiterait plusieurs itérations bootstrap supplémentaires par rapport à une contrepartie de densité gaussienne plus régulière. Dans ce cas, 1 000, 100 000 ou 10 000 000 échantillons de bootstrap seraient insuffisants pour estimer ce qui n'existe pas. L'histogramme de ces bootstraps continuerait à paraître irrégulier et faux.
Il y a encore quelques rides dans cette histoire. En particulier, le bootstrap n'est réellement justifié que lorsque les moments du modèle de probabilité de génération de données existent. En effet, vous utilisez la fonction de distribution empirique en tant qu'homme de paille pour le modèle de probabilité réelle, et supposez qu'elle a la même moyenne, l'écart type, l'asymétrie, le 99e centile, etc.
En résumé, l'estimation statistique d'une statistique par bootstrap et son erreur-type ne sont justifiées que lorsque l'histogramme des échantillons bootstrap apparaît régulièrement au-delà de tout doute raisonnable et que cette dernière est justifiée.
modifier:
Si vous voulez sérieusement avoir suffisamment d’échantillons, vous devez exécuter votre procédure de bootstrap avec ce que vous espérez être assez d’échantillons un certain nombre de fois et voir à quel point les estimations de bootstrap "sautent". Si les estimations répétées ne diffèrent pas beaucoup (où "beaucoup" dépend de votre situation spécifique), vous êtes très probablement bien. Bien sûr, vous pouvez estimer l’importance des estimations répétées en calculant l’échantillon SD ou un résultat similaire.
Si vous voulez une référence et une règle générale, Wilcox (2010) écrit: "599 est recommandé pour une utilisation générale". Mais cela ne devrait être considéré que comme une recommandation ou peut-être le nombre minimum d'échantillons que vous devriez considérer. Si vous voulez être du bon côté, il n'y a aucune raison (si cela est réalisable sur le plan du calcul) de ne pas générer un ordre de grandeur supplémentaire d'échantillons.
Sur une note personnelle, j'ai tendance à analyser 10 000 échantillons lors de l'estimation "pour moi-même" et 100 000 échantillons lors de l'estimation d'un élément transmis à d'autres (mais cela est rapide car je travaille avec de petits ensembles de données).
Wilcox, RR (2010). Principes fondamentaux des méthodes statistiques modernes: Amélioration substantielle de la puissance et de la précision. Springer.
Dans certaines situations, vous pouvez dire, soit à l’avance, soit après quelques itérations, qu’un très grand nombre d’itérations par bootstrap n’aidera pas.
J'espère que vous avez une idée préalable de l'ordre de grandeur de la précision nécessaire pour une interprétation significative des résultats. Si vous ne le faites peut-être pas, il est temps d'en apprendre un peu plus sur le problème qui se cache derrière l'analyse des données. Quoi qu'il en soit, après quelques itérations, vous pourrez peut-être estimer le nombre d'itérations supplémentaires nécessaires.
Évidemment, si vous avez très peu de cas (par exemple, le comité d'éthique autorise 5 rats), vous n'avez pas besoin de penser à des dizaines de milliers d'itérations. Peut-être serait-il préférable de regarder tous les tirages possibles. Et il serait peut-être encore mieux de s'arrêter et de penser à quel point toute conclusion peut (ne pas) être basée sur 5 rats.
Pensez à l'incertitude totale des résultats. Dans mon domaine, la partie de l’incertitude que vous pouvez mesurer et réduire en procédant par bootstrap n’est peut-être qu’une partie mineure de l’incertitude totale (par exemple, en raison de restrictions dans la conception des expériences, des sources importantes de variation ne sont souvent pas couvertes par l’expérience - par exemple , nous commençons par des expériences sur des lignées cellulaires bien que l’objectif final soit bien entendu celui des patients). Dans cette situation, il n'est pas logique d'exécuter trop d'itérations - cela ne contribuera en aucun cas au résultat final et, en outre, cela pourrait induire un faux sentiment de certitude.
Un problème connexe (bien que pas tout à fait identique) se produit lors de la validation hors-bootstrap ou croisée de modèles: vous avez deux sources d'incertitude: le nombre fini (et dans mon cas généralement un très petit nombre de cas indépendants) et le (in) stabilité des modèles bootstrapped. Selon la configuration que vous avez choisie pour la validation du rééchantillonnage, il est possible qu’un seul d’entre eux contribue à l’estimation du rééchantillonnage. Dans ce cas, vous pouvez utiliser une estimation de l'autre source de variance pour juger de la certitude à obtenir avec le rééchantillonnage et de la date à laquelle elle s'arrête pour améliorer le résultat final.
Enfin, alors que je pensais jusqu'à présent à la réduction du nombre d' itérations, voici une considération pratique en faveur de la réalisation de
tâches supplémentaires :
dans la pratique, mon travail n'est pas terminé après l'exécution du bootstrap. La sortie du bootstrap doit être agrégée dans des statistiques et / ou des chiffres résumés. Les résultats doivent être interprétés comme le document ou le rapport à rédiger. Une bonne partie de celles-ci peut déjà être réalisée avec les résultats préliminaires de quelques itérations du bootstrap (si les résultats sont clairs, ils apparaissent déjà après quelques itérations, s'ils sont à la limite, ils resteront à la limite). Donc, je configure souvent le démarrage d’une manière qui me permet d’obtenir des résultats préliminaires pour pouvoir continuer à travailler pendant que l’ordinateur calcule. De cette façon, cela ne me dérange pas beaucoup si le démarrage prend encore quelques jours.
TLDR. 10 000 semble être une bonne règle empirique, par exemple, les valeurs p de ce grand ou plus grand échantillon bootstrap seront à moins de 0,01 de la "valeur p réelle" pour la méthode environ 95% du temps.
Je ne considère que l'approche du centile bootstrap ci-dessous, qui est la méthode la plus couramment utilisée (à ma connaissance) mais présente également des faiblesses et ne devrait pas être utilisée avec de petits échantillons .
Recadrer légèrement. Il peut être utile de calculer l’incertitude associée aux résultats du bootstrap pour avoir une idée de l’incertitude résultant de l’utilisation du bootstrap. Notez que cela ne traite pas des faiblesses possibles dans le bootstrap (par exemple, voir le lien ci-dessus), mais cela aide à évaluer s'il y a "suffisamment" d'échantillons bootstrap dans une application particulière. Généralement, l'erreur liée à la taille de l'échantillon bootstrap n
va à zéro comme n
à l'infini, et la question posée est la suivante: quelle doit n
être la taille de l'erreur associée à la petite taille de l'échantillon bootstrap?
Incertitude bootstrap dans une valeur p. L'imprécision dans une valeur p estimée, par exemple, pv_est est la valeur p estimée à partir du bootstrap, est d'environ 2 x sqrt(pv_est * (1 - pv_est) / N)
, où N
est le nombre d'échantillons bootstrap. Ceci est valable si pv_est * N
et (1 - pv_est) * N
sont les deux >= 10
. Si l'une de ces valeurs est inférieure à 10, alors elle est moins précise mais très approximativement dans le même voisinage que cette estimation.
Erreur d'amorçage dans un intervalle de confiance. Si vous utilisez un intervalle de confiance de 95%, examinez la variabilité des quantiles de la distribution bootstrap autour de 2,5% et 97,5% en vérifiant les centiles à (pour le 2,5e centile) 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n)
. Cette formule communique l'incertitude de l'extrémité inférieure de l'intervalle de confiance de 95% en fonction du nombre d'échantillons bootstrap pris. Une exploration similaire devrait être faite à l'extrémité supérieure. Si cette estimation est quelque peu volatile, assurez-vous de prélever davantage d'échantillons bootstrap!
Je commence par répondre à quelque chose soulevé dans une autre réponse: pourquoi un nombre aussi étrange que ""(nombre d'échantillons bootstrap)?
Ceci s’applique également aux tests de Monte Carlo (auquel bootstrapping est équivalent lorsque la statistique sous-jacente est pivot ), et provient de ce qui suit: si le test doit être exact , alors, si est le niveau de signification souhaité, et est le nombre d'échantillons, la relation suivante doit être vérifiée:
Considérons maintenant les niveaux de signification typiques et
On a
Ce "moins un" est ce qui conduit aux nombres proposés comme "", afin d'assurer un test exact.
J'ai pris les informations suivantes de Davidson, R. et MacKinnon, JG (2000). Tests d'amorçage: combien d'amorces?. Revues économétriques, 19 (1), 55-68. (la version papier est téléchargeable gratuitement).
En ce qui concerne la règle empirique, les auteurs examinent le cas de l’amorçage des valeurs p et suggèrent que, pour les tests au début le nombre minimum d'échantillons est d'environ 400 (donc ) alors que pour un test à la niveau il est 1500 donc ().
Ils proposent également une procédure de pré-test pour déterminer de manière endogène. Après avoir simulé leur procédure, ils concluent:
"Il est facile de comprendre pourquoi la procédure de test préliminaire fonctionne bien. Lorsque l'hypothèse nulle est vraie, B peut sans risque être petit, car nous ne sommes pas concernés par le pouvoir. De même, lorsque le zéro est faux et que la puissance de test est extrêmement élevée, B n'a pas besoin d'être volumineux, car la perte de puissance n'est pas un problème grave. Toutefois, lorsque la valeur null est fausse et que la puissance de test est modérément élevée, B doit être volumineux pour éviter une perte de puissance. B petit quand il peut être sans danger petit et grand quand il doit être grand. "
À la fin du document, ils le comparent également à une autre procédure proposée pour déterminer et ils trouvent que le leur fonctionne mieux.
La plupart des applications d'amorçage que j'ai vues rapportaient environ 2 000 à 100 000 itérations. Dans la pratique moderne, avec un logiciel adéquat, les problèmes essentiels du bootstrap sont les problèmes statistiques, plus encore que le temps et la capacité de calcul. Pour les utilisateurs novices disposant d’Excel, il est possible d’en exécuter seulement plusieurs centaines avant d’avoir besoin de la programmation avancée Visual Basic. Cependant, R est beaucoup plus simple à utiliser et rend la génération de milliers de valeurs initialisées facile et simple.