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:
-
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}}} $.
-
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
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.
boot.ci(my.boot, type="basic")
inR
). Ou est-ce que je manque quelque chose ici?rms
validate
etcalibrate
.