New In

Inférence robuste pour les modèles linéaires

Stata 18 propose des erreurs standard et des intervalles de confiance (IC) plus précis pour trois modèles linéaires couramment utilisés dans Stata : regress, areg et xtreg, fe.

 

Points forts

  • Erreurs standard robustes à plusieurs voies

    Erreurs standard HC2 :

    • Ajustement des degrés de liberté

    • Grappe-robuste

    • Ajustement de la robustesse en grappe et des degrés de liberté

  • Amorçage de la grappe sauvage intervalles de confiance et p-Valeurs

Petit nombre de grappes ? Nombre inégal d’observations par grappe ? Utiliser HC2 avec ajustement des degrés de liberté, option vce(hc2 …, dfadjust), ou wild cluster bootstrap pour obtenir une inférence valide.

Plusieurs grappes non imbriquées ? Utilisez le multiway clustering, option vce(cluster group1 group2 … groupk), pour tenir compte de la corrélation potentielle des observations au sein des différentes grappes.

Voyons comment cela fonctionne

Nous disposons d’un panel d’individus et souhaitons étudier l’effet de l’appartenance à un syndicat sur le logarithme du salaire ln_wage. Nous contrôlons pour savoir si l’individu a un diplôme universitaire collgrad, pour la durée d’occupation de l’emploi et pour les effets fixes temporels.

Nous comparons plusieurs méthodes de calcul des erreurs standard : robustes, robustes par grappes, HC2 robustes par grappes avec ajustement des degrés de liberté, et grappes à deux voies. Les deuxième et troisième méthodes tiennent compte de la corrélation au niveau de l’industrie. La dernière méthode tient compte de la corrélation au niveau de l’industrie et de la profession. Dans notre exemple, nous n’utilisons que 12 grappes, ce qui viole l’hypothèse de l’approximation asymptotique selon laquelle le nombre de grappes croît avec la taille de l’échantillon. Nous limitons notre échantillon aux observations pour lesquelles le code industriel ind_code est disponible. Nous stockons également les résultats de l’estimation. Nous tapons

. webuse nlswork
(National Longitudinal Survey of Young Women, 14-24 years old in 1968)

. keep if ind_code!=.
(341 observations deleted)

. quietly regress ln_wage tenure union collgrad i.year, vce(robust)

. estimates store robust

. quietly regress ln_wage tenure union collgrad i.year, vce(cluster ind_code)

. estimates store cluster

. quietly regress ln_wage tenure union collgrad i.year, vce(hc2 ind_code, dfadjust)

. estimates store HC2

. quietly regress ln_wage tenure union collgrad i.year, vce(cluster idcode ind_code)

. estimates store multiway

Au lieu d’examiner tous les tableaux de résultats de la régression, nous les combinons en un tableau d’estimations à l’aide de etable.

Nous avons demandé à etable d’utiliser les estimations que nous avons stockées et de ne présenter que les IC, cstat(_r_ci, …), pour le coefficient sur l’union, keep(union). Nous exportons ensuite le tableau vers le tableau .html que vous voyez sur cette page, export(setable.html, replace).

Les IC sont les plus étroits avec des erreurs standard robustes. Ils sont les plus larges avec les erreurs standard ajustées aux degrés de liberté HC2. Dans ce dernier cas, 0 se trouve à l’intérieur de l’IC, ce qui suggère que nous devrions être prudents dans l’interprétation de l’effet de l’appartenance à un syndicat sur les salaires. Cela contraste avec la conclusion que nous aurions tirée si nous n’avions utilisé que des erreurs standard robustes. Enfin, il semble y avoir peu de différence entre le regroupement au niveau de l’industrie et le regroupement aux niveaux de l’industrie et de la profession.

Nous pouvons également utiliser le wild cluster bootstrap pour tenir compte d’un petit nombre de grappes et d’un nombre inégal d’observations par grappe. Cette fonctionnalité est implémentée dans la nouvelle commande wildbootstrap. Nous décrivons cette fonctionnalité en détail dans Wild cluster bootstrap, mais nous l’utilisons également ici à des fins de comparaison.

. wildbootstrap regress ln_wage tenure union collgrad i.year,
	cluster(ind_code) coefficients(union) rseed(111)

wildbootstrap appelle regress. Ainsi, une fois qu’il a terminé, vous pouvez toujours accéder aux résultats de la régression. Mais, en outre, wildbootstrap construit des IC bootstrap pour l’hypothèse nulle selon laquelle un coefficient est égal à 0. Par défaut, il utilise tous les coefficients, mais vous pouvez sélectionner ceux que vous souhaitez étudier. Nous nous concentrons sur l’union. Comme nous rééchantillonnons au niveau des grappes, nous spécifions la variable ind_code dans cluster(), et nous fixons une graine pour la reproductibilité.

L’IC rapporté par wildbootstrap est presque aussi large que celui rapporté lorsque nous avons utilisé les erreurs standard HC2. Bien que 0 ne soit pas dans l’IC, cela suggère qu’il y a une grande variabilité dans l’estimation ponctuelle.