Deux manières dutiliser le bootstrap pour estimer lintervalle de confiance des coefficients en régression

Japplique un modèle linéaire à mes données: $$ y_ {i} = \ beta_ {0} + \ beta_ {1} x_ {i} + \ epsilon_ {i}, \ quad \ epsilon_ {i} \ sim N (0, \ sigma ^ {2}). $$

Je voudrais estimer lintervalle de confiance (IC) des coefficients ($ \ beta_ {0} $, $ \ beta_ {1} $) en utilisant la méthode bootstrap. Il y a deux façons dappliquer la méthode bootstrap:

  1. Exemple de prédicteur de réponse apparié: rééchantillonner aléatoirement des paires de $ y_ {i} -x_ {i} $, et appliquer linéaire régression à chaque exécution. Après lexécution de $ m $, nous obtenons une collection de coefficients estimés $ {\ hat {\ beta_ {j}}}, j = 1, … m $. Enfin, calculez le quantile de $ {\ hat {\ beta_ {j}}} $.

  2. Exemple derreur: appliquez dabord une régression linéaire sur les données observées dorigine, à partir de ce modèle on obtient $ \ hat {\ beta_ {o}} $ et lerreur $ \ epsilon_ {i} $. Ensuite, rééchantillonnez au hasard lerreur $ \ epsilon ^ {*} _ {i} $ et calculez les nouvelles données avec $ \ hat {\ beta_ {o}} $ et $ y ^ {*} _ {i} = \ hat { \ beta_ {o}} x_ {i} + \ epsilon ^ {*} _ {i} $. Appliquez à nouveau la régression linéaire. Après lexécution de $ m $, nous obtenons une collection de coeffices estimés $ {\ hat {\ beta_ {j}}}, j = 1, …, m $. Enfin, calculez le quantile de $ {\ hat {\ beta_ {j}}} $.

Mes questions sont:

  • En quoi ces deux méthodes sont-elles différentes?
  • Sous quelle hypothèse ces deux méthodes donnent-elles le même résultat?

Commentaires

  • Personnellement, je nutiliserais ni lun ni lautre comme approche par défaut, mais je recommanderais plutôt lintervalle de confiance de base du bootstrap. Voir p. 8 sur www.stat.cmu.edu/~cshalizi/402/lectures/08-bootstrap/lecture-08.pdf. Jai ‘ fait beaucoup de simulations pour le modèle logistique binaire et jai vu une meilleure couverture de lintervalle de confiance en utilisant le bootstrap de base quen utilisant le percentile ou BCa bootstrap.
  • @FrankHarrell pour être clair, par  » basic  » vous faites référence au bootstrap non paramétrique?
  • (1) est lintervalle de confiance non paramétrique du percentile bootstrap et non le bootstrap de base. Notez que léchantillonnage à partir de $ (x, y) $ est le bootstrap inconditionnel, qui est plus sans hypothèse que le bootstrap conditionnel qui rééchantillonne les résidus.
  • I ‘ Je ne suis vraiment pas un expert, mais pour autant que je sache, 1) est souvent appelé  » case-resampling  » alors que le 2) sappelle  » rééchantillonnage résiduel  » ou  » fixed- $ x $  » rééchantillonnage. Le choix de base de la méthode nimplique pas ‘ la méthode de calcul des intervalles de confiance après la procédure. Jai obtenu ces informations principalement du didacticiel de John Fox . Pour autant que je le vois, après lun ou lautre bootstrap, vous pouvez calculer les CI bootstrap de base (par exemple avec boot.ci(my.boot, type="basic") in R). Ou est-ce que je manque quelque chose ici?
  • Oui, vous pouvez effectuer un amorçage de cluster. Ceci est implémenté dans les fonctions R rms validate et calibrate.

Réponse

Si les paires réponse-prédicteur ont été obtenues à partir dune population par échantillon aléatoire, il est sûr dutiliser cas / aléatoire -x / votre premier schéma de rééchantillonnage. Si les prédicteurs ont été contrôlés ou si les valeurs des prédicteurs ont été définies par lexpérimentateur, vous pouvez envisager dutiliser un schéma de rééchantillonnage résiduel / basé sur un modèle / x fixe / votre seconde.

En quoi les deux diffèrent-ils? Une introduction au bootstrap avec des applications en R par Davison et Kounen a une discussion pertinente à cette question (voir p.9). Voir aussi le code R dans cette annexe de John Fox , en particulier les fonctions boot.huber en p.5 pour le schéma random-x et boot.huber.fixed on p.10 pour le schéma à x fixe. Alors que dans les notes de cours de Shalizi , les deux schémas sont appliqués à différents ensembles de données / problèmes, lannexe de Fox illustre le peu de différence que les deux schémas peuvent souvent faire.

Quand peut-on sattendre à ce que les deux produisent des résultats presque identiques? One situation est lorsque le modèle de régression est correctement spécifié, par exemple, il ny a pas de non-linéarité non modélisée et les hypothèses de régression habituelles (par exemple, erreurs iid, pas de valeurs aberrantes) sont satisfaites. Le livre de Fox (auquel appartient indirectement lannexe mentionnée ci-dessus avec le code R), en particulier la discussion à la page 598 et lexercice 21.3. intitulé « Rééchantillonnage aléatoire ou fixe dans la régression ».Pour citer le livre

By randomly reattaching resampled residuals to fitted values, the [fixed-x/model-based] procedure implicitly assumes that the errors are identically distributed. If, for example, the true errors have non-constant variance, then this property will not be reflected in the resampled residuals. Likewise, the unique impact of a high-leverage outlier will be lost to the resampling. 

Vous apprendrez également de cette discussion pourquoi le bootstrap fixed-x suppose implicitement que la forme fonctionnelle du modèle est correcte (même si aucune hypothèse nest faite sur la forme de la distribution des erreurs).

Voir aussi la diapositive 12 de cette conférence pour la Society Of Actuaries en Irlande par Derek Bain. Il présente également une illustration de ce qui doit être considéré comme « le même résultat »:

The approach of re-sampling cases to generate pseudo data is the more usual form of bootstrapping. The approach is robust in that if an incorrect model is fitted an appropriate measure of parameter meter uncertainty is still obtained. However re sampling residuals is more efficient if the correct model has been fitted. The graphs shows both approaches in estimating the variance of a 26 point data sample mean and a 52 point sample mean. In the larger sample the two approaches are equivalent. 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *