Effets fixes ou aléatoires : quel modèle de panel choisir ?
Effets fixes, effets aléatoires standards et CRE/Mundlak ne répondent pas à la même question. Le choix dépend de l’estimand within ou between, de l’orthogonalité et de la structure des erreurs, pas d’un test automatique.
Réponse directe
Séparer l’association intra-entité de l’association inter-entités et choisir une spécification alignée sur la décision.
Effets fixes, effets aléatoires standards et CRE/Mundlak ne répondent pas à la même question. Le choix dépend de l’estimand within ou between, de l’orthogonalité et de la structure des erreurs, pas d’un test automatique.
01
La réponse en 30 secondes
1
Les effets fixes estiment une association intra-unité à partir des changements observés dans chaque entité.
2
Les effets aléatoires standards combinent variation intra et inter-unités sous une hypothèse d’orthogonalité plus forte.
3
Le modèle CRE/Mundlak sépare les deux contrastes. Il est souvent plus informatif qu’un choix automatique fondé sur Hausman.
02
Trois niveaux de lecture
- 1
Décideur : demandez si la décision porte sur le changement d’un même magasin ou sur des différences durables entre magasins.
- 2
Praticien : vérifiez l’identifiant, le temps, la variation within, les manquants et le niveau de regroupement des erreurs standards.
- 3
Analyste : fixez l’estimand, écrivez les hypothèses FE, RE et CRE, puis comparez coefficients, incertitude et résidus.
03
Situation marketing concrète
Un réseau suit 12 magasins pendant 8 semaines. Pour chaque magasin-semaine, il observe la part de visiteurs exposés au display et les commandes pour 1 000 visites. Certains magasins ont durablement plus de display et moins de commandes. La question opérationnelle porte pourtant sur ce qui accompagne une hausse de display dans un même magasin.
04
Question scientifique et estimand
Unité : magasin × semaine. Estimand principal : coefficient within βW, soit la variation moyenne des commandes pour 1 000 visites associée à +1 point de part display dans un même magasin. Estimand secondaire : coefficient between βB entre moyennes de magasins. Ce sont des associations de panel, pas des effets causaux identifiés.
βW = Cov(xit − x̄i, yit − ȳi) / Var(xit − x̄i)05
Pourquoi le modèle simple peut tromper
- Une régression poolée peut confondre évolution d’un magasin et différences structurelles entre magasins.
- Le RE standard devient un mélange difficile à interpréter lorsque les associations within et between diffèrent.
- Des erreurs standards clusterisées traitent la dépendance des résidus, pas le biais d’identification.
06
Intuition : séparer within et between
Décomposer xit en moyenne du magasin x̄i et écart à cette moyenne xit − x̄i rend les deux questions visibles. Le terme within compare un magasin à lui-même. Le terme between compare des magasins durablement différents. Un RE standard impose leur égalité; CRE/Mundlak les estime séparément.
xit = (xit − x̄i) + x̄i07
Données nécessaires
- Une ligne par entité et période, avec identifiant stable, date ou période, outcome et prédicteurs variant dans le temps.
- Assez de variation intra-entité et assez d’entités pour estimer une incertitude groupée défendable.
- Chronologie, attrition, changements de définition et valeurs manquantes documentés avant l’estimation.
08
Trois modèles, trois hypothèses
Effets fixes
yit − ȳi = βW(xit − x̄i) + (εit − ε̄i)L’exemple est un FE magasin unidirectionnel. Il absorbe l’hétérogénéité stable de magasin, pas les chocs communs de semaine.
RE standard
yit = α + βRE xit + ui + εitSuppose E[ui|Xi]=0 et un même coefficient within et between.
CRE / Mundlak
yit = α + βW(xit−x̄i) + βB x̄i + ai + εitSépare les contrastes et permet de tester βB−βW=0 par Wald avec une covariance déclarée. L’exemple n’effectue pas ce test.
i indexe le magasin, t la semaine, y les commandes pour 1 000 visites, x la part display, x̄i et ȳi les moyennes du magasin, α l’intercept, ui ou ai l’hétérogénéité stable, εit le choc idiosyncratique, βW le contraste within et βB le contraste between. Un FE bidirectionnel ajoute λt, un effet de semaine; βW utilise alors la variation nette des chocs communs de semaine.
Two-way FE: yit = αi + λt + βW xit + εit09
Calcul déclaré, étape par étape
- 01
Calculer x̄i et ȳi pour chaque magasin, puis les écarts within.
- 02
Estimer βW sur les variables centrées et grouper l’incertitude par magasin.
- 03
Estimer βB sur les moyennes de magasins et le RE standard par quasi-centrage GLS.
- 04
Estimer CRE avec écart within et moyenne; comparer βW, βB, βRE et leurs incertitudes.
10
Exemple numérique de bout en bout
MSC-P-021-PANEL
Dataset synthétique créé pour l’apprentissage. Il ne décrit aucun réseau de magasins réel.
| Spécification | Coefficient | Lecture |
|---|---|---|
| Poolée | −1,140 | Mélange within et between |
| Effets fixes | −0,600 | Association within |
| Inter-unités | −1,200 | Association entre moyennes |
| RE standard | −0,689 | Estimateur de moments Python déclaré |
| CRE / Mundlak | βW=−0,600; βB=−1,200 | Contrastes séparés |
βW
−0,600
SE cluster
0,023
Intervalle t à 95 %, ddl=11
[−0,651; −0,549]
Convention pédagogique déclarée : sandwich par magasin, correction finie G/(G−1), valeur critique t(11)=2,200985. Avec 12 clusters seulement, cet intervalle illustre le calcul déclaré mais ne garantit pas une inférence fiable en petit échantillon. Il ne couvre aucun biais d’identification.
11
Hypothèses de validité
- FE : exogénéité stricte de l’erreur idiosyncratique conditionnellement à l’historique des prédicteurs, plus variation within suffisante.
- RE standard : même condition, plus orthogonalité entre effet stable de l’entité et prédicteurs inclus.
- CRE/Mundlak : la moyenne d’entité représente correctement la corrélation entre hétérogénéité stable et prédicteurs selon la spécification déclarée.
- Aucun de ces modèles ne neutralise automatiquement confusion variant dans le temps, causalité inverse, erreur de mesure ou anticipation.
Questions opérationnelles : le display réagit-il à un choc de commandes passé, présent ou anticipé ? Des changements de prix, stock ou trafic varient-ils simultanément ? Les magasins sans variation sont-ils exclus ? La moyenne de magasin suffit-elle à représenter la corrélation stable ?
12
Diagnostics et incertitude
01
Structure observée : 96/96 lignes complètes, 12 magasins × 8 semaines, panel équilibré, aucun magasin sans variation. Les écarts display within vont de −3,5 à +3,5 points (écart-type population 2,291). Le coefficient FE est donc identifié par une variation intra-magasin présente dans chaque magasin.
02
Incertitude : 12 clusters seulement. La SE sandwich magasin vaut 0,022972 avec correction G/(G−1); l’IC t(11) est [−0,650562 ; −0,549438]. Il illustre cette convention pédagogique, sans garantir une inférence fiable avec peu de clusters. Le modèle à effets magasin seul n’absorbe pas les chocs communs de semaine.
03
Spécification : βB−βW=−0,600, donc la relation entre magasins est deux fois plus négative que la relation within. Le CRE rend cet écart visible mais aucun test de Wald n’est exécuté ici. βRE=−0,689372 est plus proche de βW tout en restant un mélange. Ajouter des effets semaine constitue l’analyse de sensibilité minimale aux chocs communs; pentes aléatoires et résidus doivent être examinés sur des données réelles.
13
Interpréter les résultats
- βW=−0,600 : dans ce jeu synthétique, +1 point de display dans un même magasin est associé à 0,6 commande de moins pour 1 000 visites.
- βB=−1,200 répond à une autre question : comparer des magasins dont la part display moyenne diffère durablement.
- βRE=−0,689 n’est ni βW ni βB; il combine les deux selon la structure de variance estimée.
14
Conclusions permises et interdites
Recevable
- Décrire séparément les associations within et between.
- Montrer quelle hypothèse le RE standard ajoute.
- Choisir une spécification alignée sur la question et documenter l’incertitude.
Interdit
- Transformer Hausman en règle automatique FE sinon RE.
- Présenter βW comme causal sans design ni hypothèses d’identification supplémentaires.
- Croire que les effets fixes éliminent toute endogénéité.
15
Décision marketing possible
Pour une décision de pilotage intra-magasin, prioriser βW et son incertitude. Si les différences structurelles entre magasins comptent aussi, rapporter βB ou un CRE complet. Si une interprétation causale est nécessaire, ajouter un design d’identification; le modèle de panel seul ne suffit pas.
16
Quand utiliser, quand ne pas utiliser
01
FE : question within, hétérogénéité stable potentiellement corrélée, variables constantes non prioritaires.
02
RE standard : seulement si la mise en commun within/between et l’orthogonalité sont défendables.
03
CRE/Mundlak : lorsque les deux niveaux importent ou que leur égalité doit être examinée explicitement.
17
Implémentations reproductibles
Python 3.13 (bibliothèque standard) et R 4.5 (base R) sont les deux implémentations de référence : même CSV, mêmes formules déclarées et mêmes sorties attendues. SPSS 31 et SAS 9.4 sont des syntaxes natives secondaires : elles montrent FE, RE et CRE, mais leurs estimateurs RE, composantes de variance, covariances et degrés de liberté ne sont pas certifiés numériquement équivalents. La valeur βRE=−0,689372 appartient à la méthode de moments de référence.
Télécharger le script Python de référencePython 3.13 · référence
# Python 3.13, standard library only
python msc-p021-reference.py --csv msc-p021-panel.csv
# Expected: FE=-0.600000; RE=-0.689372; between=-1.200000R 4.5 · référence
# R 4.5, base R only: exact companion to the Python reference
d <- read.csv("msc-p021-panel.csv")
G <- length(unique(d$store_id)); Tn <- 8
d$xbar <- ave(d$display_share_pct, d$store_id)
d$ybar <- ave(d$orders_per_1000, d$store_id)
d$xwithin <- d$display_share_pct - d$xbar
d$ywithin <- d$orders_per_1000 - d$ybar
pooled <- coef(lm(orders_per_1000 ~ display_share_pct, d))[2]
within <- sum(d$xwithin*d$ywithin)/sum(d$xwithin^2)
between_fit <- lm(ybar ~ xbar, unique(d[c("store_id","xbar","ybar")]))
between <- coef(between_fit)[2]
e <- d$ywithin - within*d$xwithin
sigma_e2 <- sum(e^2)/(G*(Tn-1)-1)
sigma_u2 <- max(0, sum(resid(between_fit)^2)/(G-2)-sigma_e2/Tn)
theta <- 1-sqrt(sigma_e2/(sigma_e2+Tn*sigma_u2))
re <- coef(lm(I(orders_per_1000-theta*ybar) ~ I(display_share_pct-theta*xbar), d))[2]
scores <- tapply(d$xwithin*e, d$store_id, sum)
cluster_se <- sqrt((G/(G-1))*sum(scores^2)/sum(d$xwithin^2)^2)
ci <- within + c(-1,1)*qt(.975, df=G-1)*cluster_se
c(pooled=pooled, within=within, between=between, re=re,
contextual=between-within, cluster_se=cluster_se, ci_low=ci[1], ci_high=ci[2])IBM SPSS Statistics 31 · secondaire
* IBM SPSS Statistics 31 — secondary native syntax, not numerically certified.
GET DATA /TYPE=TXT /FILE='msc-p021-panel.csv'
/DELCASE=LINE /DELIMITERS=',' /FIRSTCASE=2
/VARIABLES=store_id A3 week F2 display_share_pct F8.1 orders_per_1000 F8.1.
AGGREGATE OUTFILE=* MODE=ADDVARIABLES /BREAK=store_id
/xbar=MEAN(display_share_pct).
COMPUTE xwithin=display_share_pct-xbar.
UNIANOVA orders_per_1000 BY store_id WITH display_share_pct
/METHOD=SSTYPE(3) /DESIGN=store_id display_share_pct.
MIXED orders_per_1000 WITH display_share_pct
/FIXED=INTERCEPT display_share_pct | SSTYPE(3)
/RANDOM=INTERCEPT | SUBJECT(store_id) COVTYPE(VC) /METHOD=REML.
MIXED orders_per_1000 WITH xwithin xbar
/FIXED=INTERCEPT xwithin xbar /RANDOM=INTERCEPT | SUBJECT(store_id) COVTYPE(VC).SAS 9.4 · secondaire
/* SAS 9.4 — secondary native syntax, not numerically certified. */
proc import datafile="msc-p021-panel.csv" out=panel dbms=csv replace; guessingrows=max; run;
proc sql; create table cre as select *, mean(display_share_pct) as xbar
from panel group by store_id; quit;
data cre; set cre; xwithin=display_share_pct-xbar; run;
proc panel data=panel; id store_id week;
model orders_per_1000=display_share_pct / fixone;
model orders_per_1000=display_share_pct / ranone; run;
proc mixed data=cre method=reml;
class store_id; model orders_per_1000=xwithin xbar / solution;
random intercept / subject=store_id; run;Les quatre blocs utilisent le même CSV et les mêmes estimands, pas nécessairement le même algorithme natif. Aucun logiciel ne valide exogénéité, absence de confusion temporelle ou portée causale.
18
Livrable final attendu
- 01
Tableau des unités, périodes, manquants et variation within.
- 02
Résultats FE, RE standard et CRE avec estimands, covariance, IC et diagnostics.
- 03
Conclusion écrite : ce qui est within, between, testable, non testable, permis et interdit.
19
Sources scientifiques et niveau de preuve
- Hausman (1978)Article fondateur, test de spécification
Formalise la comparaison entre un estimateur efficace sous l’hypothèse nulle et un estimateur cohérent sous une alternative plus large. Il ne fournit pas une règle métier automatique.
- Bell, Fairbrother & Jones (2019)Revue méthodologique et simulations
Distingue within et between, explique le mélange du RE standard, les pentes aléatoires et pourquoi Hausman ne doit pas décider seul.
- Wooldridge (2019)Théorie CRE pour panels équilibrés et non équilibrés
Établit l’équivalence du coefficient within obtenu en ajoutant les moyennes temporelles et explicite les conditions d’exogénéité.
Les trois textes intégraux ont été vérifiés et reliés à des affirmations précises. Le dataset, le code et les résultats numériques sont des créations synthétiques MSC, sans validation empirique externe.
Connexions méthodologiques
