AMD2017 - Esercitazione 6 Giulio Costantini
Regressione logistica
Logica dei Modelli Lineari Generalizzati Problema: Variabile dipendente che non permette di rispettare le assunzioni del GLM. (1) Relazione non lineare, (2) Residui non normalmente distribuiti. Soluzione: 1) Link function = funzione che trasforma la VD in modo da rendere la relazione tra le VI e la VD. Il GLM viene eseguito sulla Y trasformata. 2) Usare test statistici basati su una distribuzione di probabilità diversa da quella normale (e.g., Poisson).
Regressione logistica Esempio: Un gruppo di 20 studenti passa tra le 0 e le 6 ore a studiare per un esame (X). In che misura il numero di ore spese a studiare influenza la probabilità di superare l’esame (Y = 1) vs. di non superarlo (Y = 0)? (da https://en.wikipedia.org/wiki/Logistic_regression) La VD è binaria (es. sì / no, giusto / sbagliato, vincere / perdere etc.), quindi se usassimo un GLM, es. la regressione lineare y = a+bx, le assunzioni di linearità, omoschedasticità, normalità degli errori sarebbero violate.
Regressione logistica Link Function: trasformiamo la VD usando la funzione logit, il logaritmo naturale (in base e) dell’odd-ratio. ln 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑏 0 + 𝑏 1 𝑥 1 +…+ 𝑏 𝑘 𝑥 𝑘 Assume distribuzione binomiale degli errori (invece della distribuzione normale).
Interpretare i coefficienti ln 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑏 0 + 𝑏 1 𝑥 1 +…+ 𝑏 𝑘 𝑥 𝑘 SPSS restituisce sia i coefficienti b, sia i coefficienti exp(b) [exp(b) è equivalente a eb], che risultano dall’applicare a entrambe i membri dell’equazione di regressione la funzione esponenziale, cioè dal porli come esponenti di e. I coefficienti exp(b) sono più facili da interpretare perché sono nella stessa unità di misura dell’odd-ratio. Ricordate (dalle scuole) le regole eln(x) = x , ea+b = ea*eb ed ea*b = (ea)b 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑒 𝑏 0 ∗ (𝑒 𝑏 1 ) 𝑥 1 ∗…∗ (𝑒 𝑏 𝑘 ) 𝑥 𝑘
Esempio Aprire il file WikipediaExample.sav. Analizza > Regressione > Logistica Binaria La finestra SPSS è semplicissima: Inserire semplicemente la variabile dipendente (dicotomica) e le variabili indiepndenti in Covariate. Cliccare Ok o Incolla.
Output – bontà complessiva SPSS riporta delle stime di bontà complessiva dell’equazione e un test χ2. Lo pseudo-R2 di Nagelkerke è espresso su una scala simile all’R2, anche se non può essere propriamente interpretato come proporzione di varianza spiegata. La regressione è complessivamente significativa, χ2(1) = 11.666, p = .001, R2 di Nagelkerke = .589.
Output – coefficienti Sign. è come al solito il p-value. Come sempre, quello dell’intercetta o costante non ci interessa. In questo caso le ore di studio predicono significativamente l’esito dell’esame, B = 1.505, exp(B) = 4.503, p = .017. 𝑝 𝑝𝑟𝑜𝑚𝑜𝑠𝑠𝑜 𝑝 𝑏𝑜𝑐𝑐𝑖𝑎𝑡𝑜 =.017∗ 4.503 𝑜𝑟𝑒 𝑠𝑡𝑢𝑑𝑖𝑜
Interpretare i coefficienti b ln 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑏 0 + 𝑏 1 𝑥 1 +…+ 𝑏 𝑘 𝑥 𝑘 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑒 𝑏 0 ∗ (𝑒 𝑏 1 ) 𝑥 1 ∗…∗ (𝑒 𝑏 𝑘 ) 𝑥 𝑘 Coefficienti b: difficile dare un senso. b0: Quando tutte le X = 0, il logaritmo naturale dell’odd-ratio della Y assume valore b0. In questo caso, -4.078. b1: all’aumentare di un’unità della X1, assumendo che tutte le altre X siano costanti, il logaritmo naturale dell’odd-ratio della Y aumenta di b1 unità, in questo caso di 1.505 unità
Interpretare i coefficienti exp(b), non sono altro che eb ln 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑏 0 + 𝑏 1 𝑥 1 +…+ 𝑏 𝑘 𝑥 𝑘 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑒 𝑏 0 ∗ (𝑒 𝑏 1 ) 𝑥 1 ∗…∗ (𝑒 𝑏 𝑘 ) 𝑥 𝑘 exp(b0): Quando tutte le X = 0, l’odd-ratio della Y assume valore exp(b0), in questo caso 0.017. Per chi studia 0 ore, la probabilità di essere promosso è solo 0.017 volte la probabilità di essere bocciato: 𝑝 𝑦=1=𝑝𝑟𝑜𝑚𝑜𝑠𝑠𝑜 𝑝 𝑦=0=𝑏𝑜𝑐𝑐𝑖𝑎𝑡𝑜 =0.017 𝑝 𝑝𝑟𝑜𝑚𝑜𝑠𝑠𝑜 =0.017∗ 𝑝 𝑏𝑜𝑐𝑐𝑖𝑎𝑡𝑜
Interpretare i coefficienti exp(b) ln 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑏 0 + 𝑏 1 𝑥 1 +…+ 𝑏 𝑘 𝑥 𝑘 𝑝 𝑦=1 𝑝 𝑦=0 = 𝑒 𝑏 0 ∗ (𝑒 𝑏 1 ) 𝑥 1 ∗…∗ (𝑒 𝑏 𝑘 ) 𝑥 𝑘 exp(b1): all’aumentare di un’unità della X1, assumendo che tutte le altre X siano costanti, l’odd-ratio della Y aumenta di exp(b1) volte, in questo caso 4.503 volte. per chi studia 1 ora, la probabilità di essere promosso è 0.017*4.5031 = 0,077 volte la probabilità di essere bocciato. Per chi studia 2 ore, la probabilità di essere promosso è 0.017*4.5032 = .345 volte la probabilità di essere bocciato Per chi studia 6 ore, la probabilità di essere promosso è 0.017*4.5036 = 141.72 volte la probabilità di essere bocciato
Esercizio infarto Aprire il dataset ansia_infarto.sav Regressione logistica: L’ansia predice l’infarto? Interpretare i coefficienti, tenendo conto che infarto = 1 significa che il soggetto ha avuto un infarto.
Soluzione
Soluzione L’ansia predice significativamente la probabilità di avere un infarto, B = 1.17, exp(B) = 1.124. Per ogni punto in più di ansia, la probabilità di avere un infarto aumentad di 1.124 volte. Per chi ha ansia = 0, la probabilità di avere un infarto è solo .057 volte la probabilità di non averlo. La regressione è complessivamente significativa, χ2(1) = 7.489, p = .006, R2 di Nagelkerke = .418.
Mixed models
Modelli misti Servono in diverse occasioni in cui l’assunzione di indipendenza delle osservazioni del GLM non può essere rispettata: Misure correlate Misure ripetute Disegni longitudinali Disegni con strutture gerarchiche (es. bambini in classi in scuole) - Dati con misurazioni multi-livello
Bere birra aumenta il numero di sorrisi?
Spiegazioni I soggetti sono stati campionati in diversi bar Ogni bar potrebbe avere caratteristiche particolari che condizionano la relazione tra le variabili I soggetti di ciascun bar potrebbero essere più simili tra loro rispetto a soggetti di bar diversi. I modelli misti permettono, per ciascun parametro (es. l’intercetta o il coefficiente angolare) di avere un coefficiente fisso (~la media degli effetti nei bar) e dei coefficienti random (~ una deviazione dall’effetto specifica per ciascun bar).
Interpretazione 𝑦 𝑖𝑗 = 𝑎 + 𝑎 𝑗 ′ + 𝑏 𝑥 𝑖𝑗 + 𝑏 𝑗 ′ 𝑥 𝑖𝑗 𝑦 𝑖𝑗 = 𝑎 + 𝑎 𝑗 ′ + 𝑏 𝑥 𝑖𝑗 + 𝑏 𝑗 ′ 𝑥 𝑖𝑗 𝑦 𝑖𝑗 = numero di sorrisi del soggetto i nel bar j 𝑥 𝑖𝑗 = numero di birre bevute dal soggetto i nel bar j Coefficienti fissi: 𝑎 = media dei sorrisi per x = 0, in media nei bar 𝑏 𝑥 𝑖𝑗 = incremento della y all’aumentare di un’unità di x, in media nei bar Coefficienti random: non si interpretano di per sé, se ne interpretano le loro varianze / covarianze 𝑎 +𝑎 𝑗 ′ = valore atteso dei sorrisi per x = 0, nel bar j. 𝑏 𝑥 𝑖𝑗 + 𝑏 𝑗 ′ 𝑥 𝑖𝑗 = incremento della y all’aumentare di un’unità di x, nel bar j.
I modelli misti in SPSS richiedono dati in long format Il file empatia wide.sav contiene i dati nel formato «una riga per soggetto, una colonna per ogni condizione sperimentale within e una colonna per ogni fattore between». Questo tipo di formato di dati permette di analizzare i dati di modelli a misure ripetute tramite il General Linear Model. Per poter effettuare un’analisi con l’approccio Mixed Model occorre ristrutturare il file per ottenere i dati «per lungo», ovvero occorre ottenere un file in cui vi sia una riga per ogni condizione sperimentale within e una colonna per ogni fattore between. Per ogni soggetto avremo dunque un numero di righe pari al numero di condizioni sperimentali within.
Ristrutturazione del file Dati > Ristruttura. Par passare dal file per il GLM al file per i MIXED Model scegliamo «ristruttura le variabili in casi» e indichiamo che vogliamo ristrutturare un gruppo di variabili.
Ristrutturazione del file Nelle variabili destinazione inseriamo le variabili che descrivono la struttura within del file. Nelle vabili fisse, che non verranno trasposte, inseriamo gli eventuali fattore between presenti nel file. Rinominiamo la variabile di destinazione per indicare il contenuto del file.
Ristrutturazione del file In questo file sono presenti 2 fattori within che danno origine a 6 condizioni sperimentali. Indichiamo quindi che vogliamo creare 2 variabili indice per gestire la struttura within dei dati.
Ristrutturazione del file Indichiamo i nomi delle due variabili e quanti livelli descrivono rispettivamente. Descriviamo prima il fattore che varia più lentamente (stimolo) e poi quello che varia più velocemente (etnia). Nel file sono presenti i dati riferiti a 2 tipi di stimoli e 3 etnie.
Ristrutturazione del file Otteniamo un file che contiene 6 righe per ogni soggetto «Id». La variabile dipendente Empatia contiene in ogni cella il valore misurato per ogni particolare condizione sperimentale indicata dai fattori stimolo ed etnia. Le variabili between subjects (genere, età e facoltà) non cambiano tra i due formati di file.
Ristrutturazione del file Per facilitare la comprensione del file, possiamo inserire etichette valori per stimolo e per etnia. I fattori sono nello stesso oridne in cui erano nel file originale.
Ora stimiamo un modello misto con SPSS Nota: SPSS non è un buon software per i modelli misti. “SPSS is not the best program in the world for multilevel modelling. Most people who do serious multilevel modelling tend to use specialist software such as MLwiN, HLM and R. There are several excellent books that compare the various packages, and SPSS tends to fare pretty badly (Tabachnick & Fidell, 2012; Twisk, 2006). The main area where SPSS is behind its competitors is that it cannot do multilevel modelling when the outcome variable is categorical, yet this is bread and butter for the other packages mentioned. SPSS also has (and I am not the only one to say this) a completely indecipherable windows interface for doing multilevel models.” (Field, 2013, Discovering Statistics with SPSS) Quindi tenetevi pronti al peggio!
Domanda: Gli stimoli hanno un effetto sulla risposta SCR dei soggetti, quando si tiene conto del fatto che i dati sono clusterizzati entro soggetti?
Nella finestra «Soggetti» inseriamo la variabile che definisce le categorie di osservazioni. Questo è un esempio di completely indecipherable windows interface: non sempre dovrete mettere la variabile che identifica i “soggetti” qui. Se avete bambini clusterizzati in scuole, metterete “scuole”, se avete pazienti clusterizzati in cliniche, metterete “clinica” etc. Non mettete niente in “Ripetuti”. La finestra “Ripetuti” serve se avete più ripetizioni delle stesse variabili in tempi diversi e se avete salvato una variabile che specifica il “tempo” di ciascuna misura (es. tempo 1, tempo 2, tempo 3…). Se specificate ripetuti, dovete specificare anche il tipo di covarianza ripetuta, cioè come le covarianze tra le diverse osservazioni sono stimate.
Qui inseriamo, come di solito, la variabile dipendente, i fattori ed eventuali covariate ( = predittori continui, non categorici). Ora esaminiamo le finestre: Fissi Random Statistiche Medie marginali
Finestra Fissi ATTENZIONE: Non basta specificare «stimolo» come predittore nella finestra iniziale, bisogna ri-specificarlo in Fissi. Qui potete chiedere quali effetti principali e quali interazioni volete stimare, se avete più fattori.
Finestra Random: random intercept Qui bisogna specificare gli effetti random. Di solito vogliamo avere almeno l’intercetta random (cioè permettere che ogni soggetto abbia la sua intercetta), quindi mettiamo un flag nella casella «Includi Intercettazione». ATTENZIONE! Anche se abbiamo chiesto ID come variabile di raggruppamento nella prima finestra, ora dobbiamo ri-specificarla in «combinazioni»!
Finestra Random: random intercept Questa barra ci permette di indicare se vogliamo porre vincoli sulla matrice di correlazione tra effetti random. Selezionando «Non strutturato» indichiamo che NON vogliamo porre vincoli e quindi stimare tutte le correlazioni tra effetti random. Serve modificarla solo se abbiamo più di un effetto random, come per esempio una random intercept e una random slope.
Finestra Random: random slope Se vogliamo anche una «random slope» possiamo specificarla qui. La random slope significa che ogni soggetto ha anche un coefficiente specifico (es. di regressione) per quel fattore. In questo caso, NON chiediamo la random slope. Di solito non vogliamo le random slope per predittori nominali (fattori) con k livelli. Se lo facciamo, otteniamo una random slope per ciascuno dei k-1 contrasti.
Finestra Statistiche Covarianze effetti random e Test per parametri di covarianza: chiediamoli quando vogliamo sapere se la random intercept e la/le random slope/s hanno una varianza significativa (cioè, se vale la pena indicarli come effetti random perché variano tra soggetti) e una covarianza significativa. Stime dei parametri: indichiamolo se vogliamo avere i coefficienti di regressione, serve soprattutto se abbiamo delle covariate (predittori continui), mentre un po’ meno se abbiamo fattori.
Finestra Medie Marginali Se abbiamo dei fattori, come in questo caso, è più utile stimare le medie marginali, cioè le medie stimate nei diversi valori del/dei fattore/i e nelle combinazioni tra fattori.
Interpretare l’output Come abbiamo chiesto, il modello include un’intercetta random.
Interpretare l’output Queste sono informazioni sul fit del modello. Servono se volete paragonare più modelli (es. con diverse strutture di covarianza) per scegliere il modello più parsimonioso, cioè che dà più informazione con meno parametri. Non tratteremo questo tipo di confronti.
Interpretare l’output: Effetti Fissi Effetti fissi: si interpretano esattamente come gli effetti nel GLM. In questo caso, c’è un effetto di Stimolo significativo, F(1, 234) = 23.26, p < ,001
Interpretare l’output: Effetti Fissi Troviamo questa tabella se abbiamo chiesto le stime dei parametri in statistiche. In questo caso, ci dicono che l’empatia predetta è uguale a 1966.7 se lo stimolo è un ago (Stimolo = 2) e a 1966.7-130.1 = 1836.6 se lo stimolo è una gomma (Stimolo = 1). Le stime dei parametri sono più utili se usiamo predittori continui, per predittori nominali è meglio guardare direttamente le medie.
Interpretare l’output: Effetti Fissi – Medie marginali Come nell’ANOVA, si tratta delle medie marginali stimate dall’equazione. Notate che sono identiche a quelle che abbiamo calcolato noi a mano nella slide precedente a partire dai parametri.
Interpretare l’output: Varianza-Covarianza effetti random Covarianze tra gli effetti random. In questo caso, la variazione dell’intercetta non è significativa.
Esercizio 2 dataset regression_beers_bars.sav Predire il numero di sorrisi a partire dal numero di birre con una regressione semplice, senza considerare la struttura nested dei dati. Svolgere un modello misto (con solo intercetta random) per predire l’effetto delle birre sui sorrisi, tenendo conto della struttura nested dei soggetti nei bar. Includere anche la random slope per bar
Soluzione Esercizio 2 parte 1 Regressione lineare semplice. Analizza > Regressione > lineare. I risultati suggeriscono che all’aumentare delle birre i sorrisi diminuiscino .
Soluzione Esercizio 2 parte 2 Analizza > Modelli misti > Lineare. Beer va in covariate perchè è continnua e non nominale.
finestra Fisso Aggiungo beer come fattore fisso
Finestra casuale Flaggo includi intercetta Inserisco bar in “Combinazioni”
Finestra statistiche
SPSS ci ricorda che abbiamo un intercetta fissa, una slope fissa per beer e un’intercetta random.
La slope dissa di birra è positiva e significativa, b =. 64, p < La slope dissa di birra è positiva e significativa, b = .64, p < .001. All’aumentare di una birra, il numero di sorrisi aumenta di .64 unità. L’effetto fisso dell’intecetta dice che in media attraverso i bar, per 0 birre bevute si sorride in media 5.55 volte.
La varianza dell’intercetta random è 6. 53 ed è significativa, p = La varianza dell’intercetta random è 6.53 ed è significativa, p = .011: Questo conferma che abbiamo fatto bene a includere l’intercetta random.
Esercizio 2 parte 3 In SPSS definire il modello in modo identico al precedente, cambiando solo la finestra “Casuale” e includendo la random slope per beer. Selezionando «Non strutturato» indichiamo che NON vogliamo porre vincoli e quindi stimare tutte le correlazioni tra effetti random. Serve modificarla solo se abbiamo più di un effetto random, come per esempio una random intercept e una random slope.
Ora SPSS ci informa che abbiamo sia l’intercetta sia la slope random.
Gli effetti fissi danno un risultato simile al precedente, cioè in media attraverso i bar per zero birre si sorride 5.37 volte e per ogni birra in più il numero di sorrisi aumenta di .64 volte.
1 corrisponde all’intercetta random, 2 alla slope random. La varianza dell’intercetta random è 9.33 ed è significativa, p = .033 La varianza della slope random è .053 e non è significativa, p = .518. Questo indica che la relazione tra birre e sorrisi tende ad essere simile nei diversi bar. La covarianza tra intercetta random e slope random è negativa, -.45. Questo indica che nei bar nei quali si ride di meno in assenza di birra (bassa intercetta random), l’effetto della birra sui sorrisi è più forte (alta slope random). Questa covarianza però non è significativa (p = .305)