2.3 Test di correlazione
2.3.2 Correlazione fra pi` u variabili
Se p variabili vengono misurate su uno stesso campione pu`o essere interessante stabilire se fra coppie
di correlazione, ossia la matrice p × p il cui elemento i, j `e il coefficiente di correlazione fra le variabili i e j (la matrice `e quindi simmetrica, con elementi sulla diagonale pari a 1).
Per stabilire la significativit`a di queste correlazioni `e per`o necessario introdurre una correzione
dovuta al fatto che si conducono pi`u test simultaneamente (confronti multipli). La ragione di questa
correzione `e chiara se si considera un esperimento a tre variabili. La probabilit`a di non rifiutare
correttamente l’ipotesi nulla che non vi sia correlazione fra le prime due variabili `e 1 − α (dove α
`e il livello del test scelto dallo sperimentatore). Analogamente anche la probabilit`a di non rifiutare
correttamente l’ipotesi nulla che non vi sia correlazione fra la prima e la terza variabile `e 1 − α, e cos`ı pure per quanto riguarda la seconda e la terza variabile. Se si considerano indipendenti tali confronti
la probabilit`a congiunta di non rifiutare l’ipotesi nulla che non esista correlazione fra nessuna delle
coppie di variabili `e:
(1 − α)3< 1 − α.
Nel caso in esame scegliendo α = 0.05 si ha (1 − α)3∼ 0.86, quindi se ogni test viene condotto a livello
del 5% il test globale `e a livello del 14%. Si rischia quindi di dichiarare significative pi`u differenze di
quante non sia opportuno. Il modo pi`u comune per fronteggiare questo comportamento indesiderato
`e ricorrere alla correzione di Bonferroni che modifica il livello a cui eseguire ogni singolo confronto in modo tale che il livello del test globale rimanga α. Questa correzione richiede che ogni test singolo sia condotto a livello α/N dove:
N = p(p − 1)
2
`e il numero di confronti che si eseguono. Nel caso in esame ogni test parziale deve essere eseguito a livello α = 0.05/3 = 0.017, cio`e si dichiareranno significative solo le correlazioni con valore P inferiore a 0.017 e altamente significative quelle con valore P minore di 0.01/3 = 0.0033. La tecnica presentata `e equivalente alla correzione dei valori P dei singoli test: si moltiplica per N ogni valore P (con la condizione di porre pari a 1 eventuali valori che, dopo la correzione, superino tale soglia) e si confrontano i valori ottenuti con il livello α.
Altri classici metodi di correzione per confronti multipli sono dovuti a Holm e a Hochberg. Mentre il secondo `e applicabile solo nel caso di test indipendenti il primo `e del tutto generale. Data la sua superiore potenza rispetto al metodo di Bonferroni `e da considerarsi il metodo d’elezione. Il suo funzionamento `e il seguente: si supponga di avere svolto k test simultanei e di aver calcolato per ogni test il rispettivo valore P . Si dispongono tali valori in ordine crescente:
P1≤ P2≤ . . . ≤ Pk.
Si calcolano quindi i valori P corretti:
Pi′ = (k − i + 1) Pi.
Procedendo da sinistra a destra si controlla poi se alcuni di tali valori risultano pi`u piccoli di quelli
che compaiono immediatamente alla sinistra. In caso ci`o avvenga, si corregge il minore sostituendolo
con il valore che compare alla sua sinistra. Si confrontano quindi i valori P′ cos`ı ottenuti con il livello
di significativit`a α.
Esempio
In un esperimento si conducono 5 test tra loro non indipendenti. I valori P di tali test sono nel vettore seguente:
> p <- c(0.001, 0.2, 0.025, 0.011, 0.07)
Se si vuole correggere per l’effetto di molteplicit`a in R si pu`o ricorrere alla funzione p.adjust che `e in
grado di eseguire molti tipi di correzione per confronti multipli. Ad esempio le correzioni di Bonferroni e di Holm si ottengono con le chiamate seguenti:
2.3 Test di correlazione 23
> p.adjust(p, "bonferroni") [1] 0.005 1.000 0.125 0.055 0.350 > p.adjust(p, "holm")
[1] 0.005 0.200 0.075 0.044 0.140
La funzione accetta come input due argomenti: un vettore contenete i valori P da correggere e il nome della tecnica da utilizzare (si rimanda alla pagina del manuale della funzione per ulteriori possibili scelte).
Nel caso di correzione di Bonferroni i valori P sono semplicemente moltiplicati per il numero di
test (in questo caso per 5). Si vede che il metodo di Holm `e pi`u potente ritornando valori P inferiori
Capitolo 3
Regressione lineare e non lineare
3.1 Regressione lineare semplice
Uno dei campi in cui le potenzialit`a di R si esprimono maggiormente `e quello della regressione, lineare
e non lineare. Una trattazione esaustiva di modelli di regressione lineare e ANOVA in R si trova in [26] (disponibile presso le pagine web del progetto R [44]).
Si definisce il modello lineare:
yi= α + βxi+ εi
con l’ipotesi che gli errori εi siano valori assunti da variabili casuali indipendenti di legge N (0, σ2). Il
problema `e quello di stimare i parametri α, β e σ2.
Si supponga ad esempio di voler stabilire se vi sia dipendenza lineare fra l’altezza di un gruppo di piante di pomodoro (in cm) e il peso medio dei frutti raccolti (in g). Si inseriscono i dati nei vettori peso e altezza:
> peso <- c(60,65,72,74,77,81,85,90)
> altezza <- c(160,162,180,175,186,172,177,184) Per fittare il modello lineare si procede nel modo seguente: > mod <- lm(peso ~ altezza)
Il modello statistico in R si esprime utilizzando l’operatore “∼” che mette in relazione la variabile dipendente con i regressori. Per visualizzare il risultato dell’analisi si utilizza l’istruzione:
> summary(mod)
che fornisce un output particolarmente ricco. Innanzitutto presenta alcune informazioni sul modello utilizzato e sui residui:
Call:
lm(formula = peso ~ altezza) Residuals:
Min 1Q Median 3Q Max
-7.860 -4.908 -1.244 7.097 7.518
Segue la parte riguardante il fit del modello e la significativit`a dei parametri:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -62.8299 49.2149 -1.277 0.2489
altezza 0.7927 0.2817 2.814 0.0306 *
---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Infine la parte riguardante i calcoli del coefficiente di correlazione (viene fornito R2) e quello di σ, seguita dalle informazioni relative all’ANOVA del modello:
Residual standard error: 7.081 on 6 degrees of freedom
Multiple R-Squared: 0.569, Adjusted R-squared: 0.4972
F-statistic: 7.921 on 1 and 6 DF, p-value: 0.03058
In alternativa `e possibile, una volta fittato il modello, richiedere la tabella ANOVA: > anova(mod)
il cui output, nel caso in esame, `e il seguente: Analysis of Variance Table
Response: peso
Df Sum Sq Mean Sq F value Pr(>F)
altezza 1 397.15 397.15 7.9207 0.03058 *
Residuals 6 300.85 50.14
---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Dall’analisi si conclude che la dipendenza lineare fra le due variabili `e significativa.