introduzione
Negli ultimi anni, l’approccio del controllo sintetico (SC) ha guadagnato una crescente adozione nell’industria per misurare l’effetto medio del trattamento (ATE) degli interventi quando non sono disponibili studi di controllo randomizzato (RCT). Un esempio del genere è la misurazione dell’impatto finanziario della pubblicità esterna sui cartelloni pubblicitari, per cui nella pratica non è possibile effettuare un’assegnazione casuale dei trattamenti.
L'idea di base della SC è quella di stimare l'ATE confrontando il gruppo di trattamento con il controfattuale previsto. Tuttavia, l’applicazione pratica della CS è solitamente messa in discussione dalla conoscenza limitata della sua validità a causa dell’assenza del vero controfattuale nel mondo reale. Per mitigare la preoccupazione, in questo articolo vorrei discutere le migliori pratiche attuabili che aiutano a massimizzare l’affidabilità della stima del SC.
Le intuizioni e le conclusioni sono ottenute attraverso esperimenti basati su diversi dati sintetici. Il codice per la generazione dei dati, la modellazione dell'inferenza causale e l'analisi è disponibile nel notebook Jupyter ospitato su Github.
Controllo sintetico in poche parole
La chiave per misurare l’ATE di tali eventi è identificare il controfattuale del gruppo di trattamento, ovvero il gruppo di trattamento in assenza di trattamento, e quantificare la differenza post-trattamento tra i due. È semplice per gli studi randomizzati poiché il controllo randomizzato si avvicina statisticamente al controfattuale. Tuttavia, il contrario è difficile a causa delle statistiche pre-esperimento ineguali tra il trattamento e il controllo.
Come tecnica di inferenza causale, SC rappresenta il controfattuale da parte di un gruppo di controllo sintetico creato sulla base di alcune unità di controllo non trattate. Questo gruppo di controllo sintetico equivale statisticamente al gruppo di trattamento prima del trattamento e si prevede che si avvicini al comportamento non trattato del gruppo di trattamento dopo il trattamento. Presentato matematicamente di seguito, viene creato utilizzando la funzione F i cui parametri sono ottenuti minimizzando la differenza pretrattamento tra il gruppo trattato e il controllo sintetizzato F (1):
In pratica, le opzioni popolari per la funzione F includono ma non sono limitati a IL somma ponderata (1), serie temporali strutturali bayesiane (BSTS) (2), ecc.
Azioni verso un controllo sintetico affidabile
Nonostante le solide basi teoriche, l'applicazione pratica della SC di solito affronta la sfida di non sapere quanto sia accurato l'ATE stimato perché nella realtà non esiste un controfattuale post-trattamento per convalidare quello sintetizzato. Tuttavia, ci sono alcune azioni che possiamo intraprendere per ottimizzare il processo di modellazione e massimizzare l'affidabilità. Successivamente, descriverò queste azioni e dimostrerò come influenzano l'ATE stimato attraverso una serie di esperimenti basati su dati di serie temporali sintetiche con diverse caratteristiche temporali.
Configurazione dell'esperimento
Tutti gli esperimenti presentati in questo articolo si basano su dati di serie temporali sintetiche. Questi dati vengono generati utilizzando il file generatore di serie temporali pacchetto che produce serie temporali che catturano fattori del mondo reale tra cui PIL, festività, fine settimana e così via.
La generazione dei dati ha lo scopo di simulare l'andamento della campagna dei negozi in Nuova Zelanda dal 01/01/2019 al 31/12/2019. Per rendere le potenziali conclusioni statisticamente significative, vengono generate 500 serie temporali per rappresentare i negozi. Ogni serie temporale presenta trend lineare statisticamente randomizzato, rumore bianco, fattore di negozio, fattore di vacanza, fattore di giorno della settimana e stagionalità. Di seguito viene presentato un campione casuale di 10 negozi.
Store1 viene selezionato come gruppo di trattamento mentre gli altri svolgono il ruolo di gruppi di controllo. Successivamente, il risultato di store1 viene aumentato del 20% dal 01-09-2019 in poi per simulare il comportamento trattato mentre il suo risultato originale funge da vero controfattuale. Questo aumento del 20% stabilisce l'ATE effettivo per convalidare le azioni in un secondo momento.
cutoff_date_sc = '2019-09-01'
df_sc.loc(cutoff_date_sc:) = df_sc.loc(cutoff_date_sc:)*1.2
La figura seguente visualizza l'effetto simulato del trattamento e il vero controfattuale del gruppo di trattamento.
Dati i dati sintetici, per stimare l’ATE sintetizzata viene adottato il BSTS in Causalimpact. Quindi, la stima viene confrontata con l'ATE effettivo utilizzando l'errore percentuale assoluto medio (MAPE) per valutare l'azione corrispondente.
Successivamente, esaminiamo le azioni insieme ai relativi esperimenti per vedere come produrre una stima ATE affidabile.
Correlazione trattamento-controllo
La prima azione per ottenere una stima affidabile dell’ATE è selezionare i gruppi di controllo che presentano elevate correlazioni pre-trattamento con il gruppo di trattamento. La logica è che è probabile che un controllo altamente correlato assomigli costantemente al gruppo di trattamento non trattato nel tempo.
Per validare questa ipotesi, valutiamo la stima dell'ATE prodotta utilizzando ogni singolo controllo con i suoi dati completi a partire dal 01/01/2019 per comprendere l'impatto della correlazione. Innanzitutto vengono calcolati i coefficienti di correlazione tra il gruppo di trattamento (negozio 1) e i gruppi di controllo (negozio da 2 a 499) (3).
def correlation(x, y):
shortest = min(x.shape(0), y.shape(0))
return np.corrcoef(x.iloc(:shortest).values, y.iloc(:shortest).values)(0, 1)
Come mostrato nella figura seguente, la distribuzione delle correlazioni varia da -0,1 a 0,9, il che fornisce una comprensione completa dell'impatto nei vari scenari.
Quindi, ogni singolo controllo viene utilizzato per prevedere il controfattuale, stimare l'ATE e riportare il MAPE. Nella figura seguente, il MAPE medio dell'ATE con il suo intervallo di confidenza al 95% è tracciato rispetto alla corrispondente correlazione pre-trattamento. In questo caso i coefficienti di correlazione vengono arrotondati a una cifra decimale per facilitare l'aggregazione e migliorare la significatività statistica nell'analisi. Osservando i risultati, è ovvio che la stima mostra una maggiore affidabilità quando il controllo diventa maggiormente correlato con il gruppo di trattamento.
Vediamo ora alcuni esempi che dimostrano l'impatto della correlazione pre-trattamento: store88 con una correlazione di 0,88 fornisce un MAPE di 0,12 che è superiore a 0,62 dato da store3 con una correlazione di 0,43. Oltre alla promettente precisione, gli intervalli probabilistici sono corrispondentemente stretti, il che implica un'elevata certezza della previsione.
Finestra di adattamento del modello
Successivamente, è necessario configurare correttamente la finestra di adattamento, ovvero la durata dell'intervallo di pretrattamento utilizzato per l'adattamento del modello. Questo perché un contesto eccessivo potrebbe comportare una perdita di recency mentre un contesto insufficiente potrebbe portare a un adattamento eccessivo.
Per comprendere in che modo la finestra di adattamento influisce sull'accuratezza della stima dell'ATE, viene sperimentata un'ampia gamma di valori da 1 mese a 8 mesi prima della data del trattamento. Per ciascuna finestra di adattamento, ogni singola unità dei 499 gruppi di controllo viene valutata individualmente e quindi aggregata per calcolare il MAPE medio con l'intervallo di confidenza del 95%. Come illustrato nella figura seguente, esiste un punto debole intorno ai 2 e 3 mesi che ottimizza l'affidabilità. L'identificazione del punto ottimale non rientra nell'ambito di questa discussione, ma vale la pena notare che la finestra di formazione deve essere selezionata attentamente.
La figura mostra due esempi: il MAPE del gruppo di controllo 199 viene ridotto da 0,89 a 0,68 quando la sua finestra di adattamento viene aumentata da 1 mese a 3 mesi perché la finestra breve contiene conoscenza insufficiente per produrre il controfattuale.
Numero di unità di controllo
Infine, è importante il numero dei gruppi di controllo selezionati.
Questa ipotesi viene convalidata analizzando l'accuratezza della stima per diversi numeri di controlli compresi tra 1 e 10. In dettaglio, per ciascun conteggio di controllo, il MAPE medio viene calcolato sulla base delle stime prodotte da 50 set di controlli casuali, ciascuno contenente il numero corrispondente di gruppi di controllo. Questa operazione evita di enumerare inutilmente ogni possibile combinazione di controlli controllando statisticamente la correlazione. Inoltre, la finestra di adattamento è fissata a 3 mesi per ogni stima.
Osservando i risultati riportati di seguito, l’aumento del numero di controlli sta portando nel complesso a una stima della ATE più affidabile.
Gli esempi seguenti dimostrano l'effetto. La prima stima viene generata utilizzando store311 mentre la seconda aggiunge ulteriormente store301 e store312.
Conclusioni
In questo articolo ho discusso le possibili azioni che rendono la stima della SC più affidabile. Sulla base degli esperimenti con diversi dati sintetici, la correlazione pre-trattamento, la finestra di adattamento e il numero di unità di controllo vengono identificati come indicazioni convincenti per ottimizzare la stima. Trovare il valore ottimale per ciascuna azione non rientra nell'ambito di questa discussione. Tuttavia, se sei interessato, la ricerca dei parametri utilizzando un periodo vuoto isolato per la convalida (4) è una possibile soluzione.
Tutte le immagini sono prodotte dall'autore se non diversamente specificato. Le discussioni prendono spunto dalla grande opera “Controlli sintetici in azione” (1).
Riferimenti
(1) Abadie, Alberto e Jaume Vives-i-Bastida. “Controlli sintetici in azione.” arXiv prestampa arXiv:2203.06279 (2022).
(2)Brodersen, Kay H., et al. “Deduzione dell'impatto causale utilizzando modelli di serie temporali strutturali bayesiani.” (2015): 247–274.
(3) https://medium.com/@dreamferus/how-to-synchronize-time-series-using-cross-correlation-in-python-4c1fd5668c7a
(4) Abadie, Alberto e Jinglong Zhao. “Controlli sintetici per la progettazione sperimentale.” arXiv prestampa arXiv:2108.02196 (2021).
Fonte: towardsdatascience.com