Effetti fissi o casuali: quale modello panel scegliere?
Effetti fissi, effetti casuali standard e CRE/Mundlak non rispondono alla stessa domanda. La scelta dipende dall’estimando within o between, dall’ortogonalità e dalla struttura degli errori, non da un test automatico.
Risposta diretta
Separare l’associazione intra-entità da quella inter-entità e scegliere una specificazione coerente con la decisione.
Effetti fissi, effetti casuali standard e CRE/Mundlak non rispondono alla stessa domanda. La scelta dipende dall’estimando within o between, dall’ortogonalità e dalla struttura degli errori, non da un test automatico.
01
La risposta in 30 secondi
1
Gli effetti fissi stimano un’associazione intra-unità dai cambiamenti osservati in ogni entità.
2
Gli effetti casuali standard combinano variazione intra e inter-unità con un’ipotesi di ortogonalità più forte.
3
Il modello CRE/Mundlak separa i due contrasti. Spesso è più informativo di una scelta automatica basata su Hausman.
02
Tre livelli di lettura
- 1
Decisore: chiedere se la decisione riguarda il cambiamento nello stesso negozio o differenze persistenti tra negozi.
- 2
Professionista: verificare identificatore, tempo, variazione within, dati mancanti e livello di clustering degli errori standard.
- 3
Analista: fissare l’estimando, dichiarare le ipotesi FE, RE e CRE, poi confrontare coefficienti, incertezza e residui.
03
Situazione marketing concreta
Una rete segue 12 negozi per 8 settimane. Per ogni negozio-settimana osserva la quota di visitatori esposti al display e gli ordini per 1.000 visite. Alcuni negozi hanno stabilmente più display e meno ordini. La domanda operativa riguarda però ciò che accompagna un aumento del display nello stesso negozio.
04
Domanda scientifica ed estimando
Unità: negozio × settimana. Estimando principale: coefficiente within βW, variazione media degli ordini per 1.000 visite associata a +1 punto di display nello stesso negozio. Estimando secondario: coefficiente between βB tra medie dei negozi. Sono associazioni panel, non effetti causali identificati.
βW = Cov(xit − x̄i, yit − ȳi) / Var(xit − x̄i)05
Perché il modello semplice può ingannare
- Una regressione pooled può confondere il cambiamento di un negozio con differenze strutturali tra negozi.
- Il RE standard diventa una miscela difficile da interpretare quando le associazioni within e between differiscono.
- Gli errori standard clusterizzati trattano la dipendenza dei residui, non il bias di identificazione.
06
Intuizione: separare within e between
Scomporre xit nella media del negozio x̄i e nello scarto xit − x̄i rende visibili le due domande. Il termine within confronta un negozio con sé stesso. Il termine between confronta negozi stabilmente diversi. Il RE standard impone l’uguaglianza; CRE/Mundlak li stima separatamente.
xit = (xit − x̄i) + x̄i07
Dati necessari
- Una riga per entità e periodo, con identificatore stabile, data o periodo, outcome e predittori variabili nel tempo.
- Sufficiente variazione intra-entità e abbastanza entità per un’incertezza clusterizzata difendibile.
- Cronologia, attrito, cambi di definizione e valori mancanti documentati prima della stima.
08
Tre modelli, tre ipotesi
Effetti fissi
yit − ȳi = βW(xit − x̄i) + (εit − ε̄i)L’esempio è un FE negozio unidirezionale. Assorbe l’eterogeneità stabile del negozio, non gli shock comuni di settimana.
RE standard
yit = α + βRE xit + ui + εitSuppone E[ui|Xi]=0 e un unico coefficiente within e between.
CRE / Mundlak
yit = α + βW(xit−x̄i) + βB x̄i + ai + εitSepara i contrasti e permette un test di Wald di βB−βW=0 con covarianza dichiarata. L’esempio non esegue il test.
i indica il negozio, t la settimana, y gli ordini per 1.000 visite, x la quota display, x̄i e ȳi le medie del negozio, α l’intercetta, ui o ai l’eterogeneità stabile, εit lo shock idiosincratico, βW il contrasto within e βB il contrasto between. Il FE bidirezionale aggiunge λt, effetto settimana; βW usa allora variazione al netto degli shock comuni.
Two-way FE: yit = αi + λt + βW xit + εit09
Calcolo dichiarato, passo dopo passo
- 01
Calcolare x̄i e ȳi per ogni negozio, poi gli scarti within.
- 02
Stimare βW sulle variabili centrate e clusterizzare l’incertezza per negozio.
- 03
Stimare βB sulle medie dei negozi e il RE standard con quasi-centratura GLS.
- 04
Stimare CRE con scarto within e media; confrontare βW, βB, βRE e incertezza.
10
Esempio numerico completo
MSC-P-021-PANEL
Dataset sintetico creato per l’apprendimento. Non descrive alcuna rete reale di negozi.
| Specificazione | Coefficiente | Lettura |
|---|---|---|
| Pooled | −1,140 | Miscela within/between |
| Effetti fissi | −0,600 | Associazione within |
| Between | −1,200 | Associazione tra medie |
| RE standard | −0,689 | Stimatore dei momenti Python dichiarato |
| CRE / Mundlak | βW=−0,600; βB=−1,200 | Contrasti separati |
βW
−0,600
SE cluster
0,023
Intervallo t al 95%, gdl=11
[−0,651; −0,549]
Convenzione didattica dichiarata: sandwich per negozio, correzione finita G/(G−1), valore critico t(11)=2,200985. Con soli 12 cluster, l’intervallo illustra il calcolo dichiarato ma non garantisce un’inferenza affidabile in piccoli campioni. Non copre bias di identificazione.
11
Ipotesi di validità
- FE: esogeneità stretta dell’errore idiosincratico condizionata alla storia dei predittori, più variazione within sufficiente.
- RE standard: stessa condizione, più ortogonalità tra effetto stabile dell’entità e predittori inclusi.
- CRE/Mundlak: la media dell’entità rappresenta adeguatamente la correlazione tra eterogeneità stabile e predittori nella specificazione dichiarata.
- Nessuno di questi modelli elimina automaticamente confondimento variabile nel tempo, causalità inversa, errore di misura o anticipazione.
Domande operative: il display reagisce a shock degli ordini passati, presenti o anticipati? Prezzo, stock o traffico cambiano insieme? I negozi senza variazione sono esclusi? La media del negozio basta a rappresentare la correlazione stabile?
12
Diagnostica e incertezza
01
Struttura osservata: 96/96 righe complete, 12 negozi × 8 settimane, panel bilanciato, nessun negozio senza variazione. Gli scarti display within vanno da −3,5 a +3,5 punti (DS della popolazione 2,291). Il coefficiente FE è quindi identificato da variazione intra-negozio presente in ogni negozio.
02
Incertezza: solo 12 cluster. La SE sandwich per negozio è 0,022972 con correzione G/(G−1); l’intervallo t(11) è [−0,650562; −0,549438]. Illustra la convenzione didattica senza garantire un’inferenza affidabile con pochi cluster. Il modello con soli effetti negozio non assorbe shock comuni settimanali.
03
Specificazione: βB−βW=−0,600, quindi la relazione tra negozi è due volte più negativa della relazione within. Il CRE rende visibile lo scarto, ma qui non viene eseguito alcun test di Wald. βRE=−0,689372 è più vicino a βW ma resta una miscela. Aggiungere effetti settimana è l’analisi di sensibilità minima agli shock comuni; slope casuali e residui vanno esaminati su dati reali.
13
Interpretare i risultati
- βW=−0,600: nel dataset sintetico, +1 punto display nello stesso negozio è associato a 0,6 ordini in meno per 1.000 visite.
- βB=−1,200 risponde a un’altra domanda: confrontare negozi con quote display medie persistentemente diverse.
- βRE=−0,689 non è né βW né βB; combina entrambi secondo la struttura di varianza stimata.
14
Conclusioni ammesse e vietate
Ammesso
- Descrivere separatamente associazioni within e between.
- Mostrare quale ipotesi aggiunge il RE standard.
- Scegliere una specificazione allineata alla domanda e documentare l’incertezza.
Vietato
- Trasformare Hausman in una regola automatica FE altrimenti RE.
- Presentare βW come causale senza disegno e ipotesi di identificazione aggiuntive.
- Credere che gli effetti fissi eliminino ogni endogeneità.
15
Decisione marketing possibile
Per una decisione operativa intra-negozio, privilegiare βW e la sua incertezza. Se contano anche differenze strutturali tra negozi, riportare βB o un CRE completo. Per un’interpretazione causale serve un disegno di identificazione; il panel da solo non basta.
16
Quando usare e quando non usare
01
FE: domanda within, eterogeneità stabile potenzialmente correlata, variabili costanti non centrali.
02
RE standard: solo se combinazione within/between e ortogonalità sono difendibili.
03
CRE/Mundlak: quando entrambi i livelli contano o la loro uguaglianza va esaminata esplicitamente.
17
Implementazioni riproducibili
Python 3.13 (libreria standard) e R 4.5 (base R) sono le due implementazioni di riferimento: stesso CSV, stesse formule dichiarate e stessi output attesi. SPSS 31 e SAS 9.4 sono sintassi native secondarie: mostrano FE, RE e CRE, ma stimatori RE, componenti di varianza, covarianze e gradi di libertà non sono certificati come equivalenti. βRE=−0,689372 appartiene al metodo dei momenti di riferimento.
Scarica lo script Python di riferimentoPython 3.13 · riferimento
# 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 · riferimento
# 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 · secondaria
* 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 · secondaria
/* 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;I quattro blocchi usano lo stesso CSV e gli stessi estimandi, non necessariamente lo stesso algoritmo nativo. Nessun software valida esogeneità, assenza di confondimento temporale o portata causale.
18
Risultato finale atteso
- 01
Tabella di unità, periodi, mancanti e variazione within.
- 02
Risultati FE, RE standard e CRE con estimandi, covarianza, intervalli e diagnostica.
- 03
Conclusione scritta: cosa è within, between, verificabile, non verificabile, ammesso e vietato.
19
Fonti scientifiche e livello di prova
- Hausman (1978)Articolo fondativo, test di specificazione
Formalizza il confronto tra uno stimatore efficiente sotto la null e uno coerente sotto un’alternativa più ampia. Non fornisce una regola operativa automatica.
- Bell, Fairbrother & Jones (2019)Revisione metodologica e simulazioni
Distingue within e between, spiega la miscela del RE standard, le slope casuali e perché Hausman non deve decidere da solo.
- Wooldridge (2019)Teoria CRE per panel bilanciati e sbilanciati
Stabilisce l’equivalenza del coefficiente within aggiungendo le medie temporali ed esplicita le condizioni di esogeneità.
I tre testi integrali sono verificati e collegati a claim precisi. Dataset, codice e risultati numerici sono creazioni sintetiche MSC, senza validazione empirica esterna.
Connessioni metodologiche
