Strutturare il processo di analisi
Introduzione
L'analisi dei dati si colloca, generalmente, in un progetto di ricerca.
La ricerca è un processo strutturato e sistematico di indagine di un fenomeno. Nel processo vengono utilizzate appropriate procedure, metodologie e tecniche di dimostrata validità all'interno di un quadro epistemologico e metodologico di riferimento.
Nel processo si possono identificare alcuni passaggi:
- definizione di un problema o di una domanda di ricerca
- analisi della letteratura
- definizione della metodologia
- identificazione dei parametri e delle dimensioni da indagare per rispondere alla domanda di ricerca
- raccolta di dati
- analisi dei dati
- interpretazione dei risultati
- disseminazione dei risultati
L'analisi dei dati, dunque, è generalmente uno dei passaggi di un progetto di ricerca.
Negli ultimi anni, anche a causa del problema della non replicabilità di molti lavori, si parla molto dei concetti di replicabilità, riproducibilità e open science. Per mettere la cosa nella giusta prospettiva, è necessario considerare che replicabilità/riproducibilità e open science sono alcuni degli strumenti utili a massimizzare alcuni princìpi della ricerca scientifica:
- l'efficienza nel processo
- la correttezza dei risultati
- la solidità (robustness) dei risultati e delle inferenze
- la trasparenza del processo che ha portato ai risultati
Nello strutturare un processo di analisi dei dati, è opportuno adottare metodi e soluzioni capaci di garantire dei buoni standard qualitativi in base a questi princìpi.
L'efficienza
In questo contesto, per efficienza si intende la necessità di non sprecare ed anzi di ottimizzare l'utilizzo delle risorse necessarie per effettuare la ricerca:
- risorse economiche
- stutture e risorse tecniche (laboratori, macchinari, materiale)
- risorse umane (ricercatori, analisti, personale tecnico)
La risorsa più importante, nelle scienze mediche, sociali e psicologiche sono però i partecipanti (umani e non umani) coinvolti nella ricerca. Adottare processi capaci di massimizzare l'utilità della ricerca e l'efficienza nel coinvolgimento dei partecipanti, minimizzandone l'impatto negativo, è di primaria importanza e costituisce uno dei criteri etici della ricerca.
Correttezza
Il progetto di ricerca ed i suoi risultati sono corretti se si eliminano o si minimizzano i possibili errori in cui i ricercatori possono incorrere:
- errori nel modello teorico di riferimento
- errori metodologici che minano alcuni aspetti della validità della ricerca
- errori nella definizione delle variabili da studiare
- errori sistematici (bias) nel campionamento
- errori nella misura delle variabili
- errori sistematici (bias) nell'analisi dei dati
- errori nella sintesi e nella pubblicazione dei risultati.
Vi è una relazione fra correttezza e validità. Le tecniche di campionamento e l'analisi inferenziale ci permettono di minimizzare gli errori non sistematici di campionamento e di stima delle statistiche.
Solidità (robustness)
Il costrutto di solidità rende esplicito il legame fra riproducibilità e validità esterna. Nel senso più stretto, un risultato è robusto se può essere replicato nella stessa forma, con campioni estratti dalla stessa popolazione, anche in laboratori diversi (replicabilità).
Nel senso più ampio, un risultato è robusto se può essere replicato (e dunque generalizzato) in contesti in parte diversi, su popolazioni in parte diverse - o più ampie - e con paradigmi di ricerca diversi.
Trasparenza
Correttezza e trasparenza dei protocolli sono criteri che permettono di aumentare la credibilità della ricerca, ed alcuni aspetti della sua validità.
Per soddisfare il criterio di trasparenza, è opportuno rendere espliciti e disponibili:
- i finanziamenti alla ricerca e gli eventuali conflitti di interesse
- il protocollo di ricerca
- i dati
- i dati grezzi raccolti
- i dati puliti
- il processo di analisi dei dati
- i risultati del processo di analisi
- i report e le pubblicazioni
- definire e rendere pubblici, a priori, i protocolli di ricerca, le ipotesi, i paradigmi e gli esperimenti che si intende intraprendere;
Alcuni di questi requisiti sono finalizzati a contrastare problemi quali il publication bias, il p-hacking ed in genere quelle che in letteratura vengono definite Questionable research practices (Measuring the Prevalence of Questionable Research Practices With Incentives for Truth Telling).
Protocollo di ricerca
Soprattutto nei progetti di ricerca, è opportuno definire a priori un chiaro protocollo di ricerca. A titolo di esempio, riportiamo il protocollo del WHO | Recommended format for a Research Protocol
- sommario del protocollo
- informazioni generali
- titolo del progetto, id
- budget e costi previsti
- finanziamenti
- ricercatori coinvolti
- laboratori coinvolti
- motivazioni della ricerca
- informazioni di contesto
- bibliografia
- scopi e obiettivi della ricerca
- design sperimentale
- metodologia
- sicurezza e salvaguardia dei partecipanti
- gestione del consenso informato
- gestione della privacy
- gestione dei dati
- analisi statistica
- quality Assurance
- risultati attesi
- Dissemination of Results and Publication Policy
- collegamenti con altri progetti
Pratiche scorrette
@john2012measuring citano i dieci peccati capitali nella riceca (questionable research practices)
- Non riportare tutte le misure dipendenti di uno studio
- Decidere di aumentare la numerosità del campione per provare a rendere significativi i dati
- Nella pubblicazione dei risultati, non riportare tutte le condizioni sperimentali
- Decidere di diminuire la numerosità del campione una volta raggiunta la significatività dei riusltati
- Arrotondare il p-value per farlo apparire significativo
- Nella pubblicazione, riportare solo gli studi che confermano le ipotesi sperimentali e non quelle i cui risultati non sono significativi
- Escludere selettivamente dei dati per migliorare i risultati
- Aggiustare le ipotesi in base ai risultati
- Riportare in maniera non corretta l'effetto delle variabili estranee al disegno di ricerca (ad esempio le variabili demografiche)
- Falsificare i dati
@begley2013reproducibility citano alcuni sintomi che lasciano intendere che gli standard qualitativi non siano stati rispettati. Fra i criteri che vanno rispettati:
- Utilizzare, quando possibile e opportuno, del doppio cieco nell'esperimento
- Replicare gli esperimenti più importanti (possibilmente in laboratori diversi)
- Pubblicare tutti i risultati, anche quelli negativi
- Applicare un'appropriata analisi statistica
Replicabilità e riproducibilità
In letteratura spesso i due termini sono utilizzati come sinonimi. Altri autori distinguono due scenari diversi:
- Replicabilità: raccogli nuovi dati con lo stesso paradigma sperimentale e lo stesso protocollo
- Riproducibilità: possibilità di analizzare i dati raccolti nell'esperimento originale - e riprodurne i risultati
Fonti:
- Replicability vs Reproducibility - Replicability Research Group
- Reproducibility vs. Replication
- @schloss2018identifying
Per permettere la replicabilità di una ricerca è necessario mettere a disposizione il protocollo ed eventualmente il software ed il materiale per la raccolta e l'elaborazione dei dati.
Per permettere la riproducibilità è necessario mettere a disposizione i dati ed il software utilizzato per l'analisi.
L'approccio open
Recentemente, sta prendendo piede nel mondo della ricerca l'approccio open: open research, open data, strumenti e software open source: rendere disponibili i protocolli di ricerca, i dati raccolti, gli script utilizzati per fare le analisi.
I vantaggi della open science sono molteplici:
- efficienza: rendere disponibili dati e codice permette ad altri ricercatori e centri di ricerca di fare tesoro del lavoro fatto, e semplifica la collaborazione fra ricercatori e centri di ricerca diversi;
- trasparenza: rendere pubblici protocolli, dati, script e software è una delle migliori garanzie di trasparenza;
- correttezza: l'approccio open permette una più approfondita peer review: non solo dell'articolo da pubblicare, ma anche dei dati, dei processi, dell'analisi
- replicabilità: diventa più semplice replicare una ricerca - o parte di essa - avendo a disposizione il materiale.
Automazione
Nell'elaborazione ed analisi dei dati, una delle raccomandazioni più importanti riguarda la possibilità di automatizzare il più possibile il processo, riducendo le attività che il ricercatore e l'analista devono fare a mano.
Automatizzare il processo garantisce numerosi vantaggi:
- efficienza: una volta automatizzato, il processo diventa molto più veloce; questo vale però solo per quelle attività che tendono a ripetersi nei diversi progetti e nelle diverse analisi;
- trasparenza: se il codice utilizzato per processare ed analizzare i dati viene condiviso (approccio open), altri ricercatori avranno la possibilità di verificarlo ed eventualmente correggerlo, e di riprodurre l'elaborazione e l'analisi dei dati;
- correttezza: gli script utilizzati per automatizzare il processo vanno attentamente verificati, per evitare errori di elaborazione ed analisi; vengono però minimizzate le possibilità di errore umano insito nelle operazioni fatte a mano;
- riproducibilità: se l'analisi è automatizzata, è più facile da riprodurre, ed il protocollo di ricerca è più facile da replicare
Strutturare il processo di ricerca
Vanno garantiti:
- sicurezza (dei dati)
- trasparenza
- standardizzazione (interna, esterna)
- modularità
- automazione
Sicurezza dei dati
- salvare i dati grezzi su più supporti distinti: hd esterno, in cloud
Trasparenza
- scrivi codice facile da leggere (write code for humans, write data for computer), sia per te stesso/a (quando andrai a rileggere il codice) che per gli altri (collaborazione, replicabilità)
- documenta e commenta ampiamente il codice; usa il codice come documentazione
- salva i dati, compresi i dati e i risultati intermedi, in formati aperti e standard
- salva gli oggetti grafici con cui crei i plot
- rendi esplicito il legame fra l'analisi dei dati e la loro interpretazione (ad esempio attraverso l'uso di rMarkdown)
Standardizzazione
- usa pacchetti consolidati e testati
Modularità
- crea un'unica directory con tutto il materiale (dati, codice, testi)
- adotta degli standard per organizzare il materiale, ad esempio salvando in sottodirectory separate i dati (grezzi ed elaborati), il codice, le parti testuali / le parti in rMarkdown, i risultati
- documenta le versioni del software (in R, usando
session_info()
) - opzionale: crea una macchina virtuale (o usando Docker)
- in rStudio, crea un progetto
- negli script usa percorsi relativi per caricare e salvare dati e figure
- trasforma gli script che usi più di frequente in funzioni (se possibile), moduli, eventualmente pacchetti
Tracciabilità
- tieni nota dell'origine e della versione dei dati
- usa un sistema di versioning (ad esempio git) per tenere traccia dell'evoluzione degli script
Replicabilità
- fa in modo che statistiche, tabelle e figure siano il risultato di script di calcolo
- per ogni risultato, tieni traccia di come è stato prodotto
- se usi delle funzioni di randomizzazione, stabilisci e salva il random seed
- automazione: evita (o minimizza) processi di pulizia e trasformazione manuali dei dati
- rendi pubblici i dati grezzi e puliti, gli script, i risultati.
Fonti: