Upload
ngonguyet
View
226
Download
0
Embed Size (px)
Citation preview
Regressione lineare semplice Regressione lineare multipla
Regressione lineare multipla
Scopo
Vogliamo porre in relazione la variabile risposta, Y con k, k > 1,variabili esplicative (o regressori, o predittori, o covariate):X1,X2 . . . , Xk .
Regressione lineare semplice Regressione lineare multipla
Funzione di regressione
E(Y |X1 = x1,X2 = x2, . . . ,Xk = xk) =
= η(x1, x2, . . . , xk ,β)
= β0 + β1x1 + β2x2 + · · ·+ βkxk
= β0 +k∑
j=1
βjxj
con β = [β0, β1, . . . , βk ]′ ∈ Rk+1
Regressione lineare semplice Regressione lineare multipla
Il modello statistico
Yi = β0 + β1xi ,1 + β2xi ,2 + · · ·+ βkxi ,k + εi , i = 1, . . . , n
= β0 +k∑
j=1
βjxi ,j + εi
Regressione lineare semplice Regressione lineare multipla
E(εi ) = 0 e Var(εi ) = σ2, i = 1, . . . , n (n rappresenta ladimensione delo campione).
Corr(εi , εj) = 0 ∀i 6= j
xi ,j , i = 1, . . . , n e j = 1, . . . , k rappresenta la determinazionedella variabile Xj sull’unita statistica i-esima. Quantitadeterministica e nota senza errori di misurazione.
β0 rappresenta il valore atteso di Y quandoX1 = X2 = · · · = Xk = 0
βj , j = 1, . . . , k rappresenta la variazione della media di Ydovuta ad un incremento unitario di Xj a parita di ogni altracondizione, cioe quando il valore delle altre variabili restaimmutato
Regressione lineare semplice Regressione lineare multipla
Stima dei parametri
Supponiamo di disporre di n osservazioni campionarie:
(yi , xi ,1, . . . , xi ,j , . . . , xi ,k) i = 1, . . . , n
Otteniamo la stima di β applicando il metodo dei minimiquadrati, cioe minimizzando rispetto a β la funzione
S(β) =n∑
i=1
yi − β0 −k∑
j=1
βjxi ,j
2
Le stime di βj , j = 0, . . . , k saranno indicate con bi e la stimadi β sara data da
b = [b0, b1, . . . , bk ]′ ∈ Rk+1
Regressione lineare semplice Regressione lineare multipla
La stima della funzione di regressione sull’unita statisticai-esima e data da
yi = η(xi ,1, . . . , xi ,k ,b)
= b0 +k∑
i=1
bjxi ,j
I residui del modello si indicano con
ei = yi − yi
La stima di σ2 e data da
s2 =
∑ni=1 e2
i
n − k − 1
Regressione lineare semplice Regressione lineare multipla
Il modello in notazione matriciale
Premessa
Il modello di regressione lineare multipla che abbiamo introdotto inprecedenza come
Yi = β0 +k∑
j=1
βjxi ,j + εi , i = 1, . . . , n
puo essere riscritto come segue:
Yi = [1, xi ,1, . . . , xi ,k ]β + εi , i = 1, . . . , n
= x′iβ + εi , i = 1, . . . , n
con
x′i = [1, xi ,1, . . . , xi ,k ] e β = [β0, β1, . . . , βk ]′
Regressione lineare semplice Regressione lineare multipla
Il modello in notazione matriciale
vettore delle n variabili casuali campionarie: Y = [Y1, . . . ,Yn]′
vettore delle n osservazioni campionarie sulla variabile Y :y = [y1, . . . , yn]
′
matrice di regressione:
X =
1 x1 . . . x1,k...
......
1 xi ,1 . . . xi ,k...
......
1 xn,1 . . . xn.k
=
x′1...x′i...x′n
ha dimensione n × (k + 1)
Regressione lineare semplice Regressione lineare multipla
Il modello in notazione matriciale
Vettore dei disturbi aleatori: ε = [ε1, . . . , εi , . . . , εn]′ tale che
E(ε) = 0 e Σε = σ2In
Regressione lineare semplice Regressione lineare multipla
Il modello in forma matriciale
In forma matriciale, quindi il modello puo essere scritto come:
Y = Xβ + ε,
ovveroE(Y|X) = Xβ e ΣY|X = σ2In
Regressione lineare semplice Regressione lineare multipla
Le stime in forma matriciale
Per stimare β abbiamo minimizzato la funzione
S(β) =n∑
i=1
(yi − β0 −n∑
j=1
xi ,jβj)2
la quale puo essere scritta in forma vettoriale come:
S(β) = (y − Xβ)′(y − Xβ)
Regressione lineare semplice Regressione lineare multipla
Le stime in forma matriciale
Sotto condizioni assai generali (che vedremo fra poco), il vettoreche minimizza S(β) e
b = (X′X)−1X′y ∈ Rk+1.
Gli elementi che costituiscono i vettore b coincidono esattamentecon le stime che abbiamo definito in precedenza, cioe:
b = [b0, . . . , bk ]′.
Regressione lineare semplice Regressione lineare multipla
Le stime in forma matriciale
Attenzione
b e calcolabile sotto due condizioni:
n ≥ k + 1: il numero di osservazioni campionarie deve esserenon inferiore al numero dei coefficienti che vogliamo stimare.
Le colonne di X devono essere linearmente indipendenti.Questo significa che nessuna variabile Xj , j = 1, . . . , k, possaessere linearmente dipendente dalle altre k − 1 variabiliesplicative e che nessun regressore possa assumere lo stessovalore su tutte le unita statistiche osservate.
Regressione lineare semplice Regressione lineare multipla
Le stime in forma matriciale
Il vettore dei residui e definito come
e = [e1, . . . , ei , . . . , en]′
E facile verificare che
e = y − Xb
= y − X(X′X)−1X′y
= (In − X(X′X)−1X′)y
= My
con M = (In − X(X′X)−1X′)
Regressione lineare semplice Regressione lineare multipla
Le stime in forma matriciale
Come abbiamo gia visto, la stima della varianza e data da
s2 =1
n − k − 1
n∑i=1
e2i
ovvero
=1
n − k − 1e′e
Regressione lineare semplice Regressione lineare multipla
L’incertezza, che sciagura!
Abbiamo definito delle regole generali che ci permettono dicalcolare le stime b e s2 su qualsiasi campione osservato, sottocondizioni non particolarmente restrittive. Ma allora,
b e la determinazione campionaria di una particolare variabilecasuale k + 1-variata:
B = (X′X)−1X′Y = [B0,B1, . . . ,Bk ]′
s2 e la determinazione campionaria di una particolare variabilecasuale:
S2 =1
n − k − 1E′E
Anche i residui sono determinazioni di n variabili casuali:
E = MY ∈ Rn
Regressione lineare semplice Regressione lineare multipla
E facile verificare che
E(B) = β e ΣB = σ2(X′X)−1
E(S2) = σ2 e Var(S2) =2σ4
n − k − 1
Poniamo H = (X′X)−1 (con dimensione (k + 1)× (k + 1)).Avremo quindi che
Var(Bj) = σ2hj ,j , j = 0, . . . , k
Regressione lineare semplice Regressione lineare multipla
Possiamo stimare Var(Bj , j = 0, . . . , k)?
Stime:s2Bj
= s2hj ,j
Basta sostituire s2 a σ2 nelle espressioni delle rispettivevarianze.
Stimatori:S2
Bj= S2hj ,j
Regressione lineare semplice Regressione lineare multipla
Generalmente siamo interessati (vedremo meglio in seguito) allostandard error degli stimatori:
SEBj=
√Var(Bj)
stime degli standard error:
sBj=
√s2Bj
stimatori degli standard error:
SBj=
√S2
Bj
Regressione lineare semplice Regressione lineare multipla
Correttezza
Gli stimatori dei parametri ignoti sono corretti: se potessimoripetere il campionamento all’infinito e a parita delle condizioni, lemedie delle stima ottenute coinciderebbero con i veri valori di βj eσ2
Regressione lineare semplice Regressione lineare multipla
Osservazione
Dalla correttezza dello stimatore B di β segue che
E(Ei ) = E (Yi )− E(x′iB)
= x′iβ − x′E(B)
= x′iβ − xiβ = 0 ∀i = 1, . . . , n
e quindiE(E) = 0.
Regressione lineare semplice Regressione lineare multipla
Efficienza
Tra tutti gli stimatori di βj , ottenibili come trasformazioni lineari diY e corretti, Bj sono i piu precisi, nel senso che hanno varianzaminima.
Regressione lineare semplice Regressione lineare multipla
Consistenza
Bj e S2, sono stimatori consistenti per βj e σ2 se sussistono tuttele condizioni che caratterizzano il modello di regressione linearesemplice e se
limn→∞
1
nX′X = C matrice definita positiva
Regressione lineare semplice Regressione lineare multipla
Varianza spiegata
Un modo comune di valutare la variabilita campionaria di Yconsiste nel calcolare
var(Y ) =1
n
n∑i=1
(yi − y)2
Il numeratore della frazione che definisce var(Y ) si dice devianzatotale di Y :
DEVTOT =n∑
i=1
(yi − y)2
Regressione lineare semplice Regressione lineare multipla
Varianza spiegata
Se nel modello di regressione compare l’intercetta, e facileverificare che
ˆy =1
n
n∑i=1
yi = y e e =1
n
n∑i=1
ei = 0
Ne segue che le varianze campionarie dei valori stimati dellaregressione e dei residui sono date da:
var(Y ) =1
n
n∑i=1
(yi − y)2 var(E ) =1
n
n∑i=1
e2i
Regressione lineare semplice Regressione lineare multipla
Varianza spiegata
Possiamo quindi definire
DEVREG =n∑
i=1
(yi − y)2 devianza di regressione
e
DEVRES =n∑
i=1
e2i devianza residua
Regressione lineare semplice Regressione lineare multipla
Varianza spiegata
Si puo dimostrare che
var(Y ) = var(Y ) + var(E ),
ovveroDEVTOT = DEVREG + DEVRES
Regressione lineare semplice Regressione lineare multipla
Varianza spiegata
Domanda
Supponiamo di approssimare yi , i = 1 con yi , i = 1, . . . , n.Quanta parte della variabilita di Y cogliere attraverso il modello diregressione?
Risposta
R2 =DEVREG
DEVTOTCoefficiente di determinazione lineare
= 1− DEVRES
DEVTOT
Regressione lineare semplice Regressione lineare multipla
Varianza spiegata
Una proprieta importante
0 ≤ R2 ≤ 1
Se R2 = 1, allora yi = yi , i = 1, . . . , n: le osservazioni su Y esu X giacciono su una retta
Se R2 = 0, allora yi = y , i = 1, . . . , n: la retta (funzione diX ) che meglio approssima le osservazioni su Y e costante(indipendente da X ) con ordinata uguale a y
Regressione lineare semplice Regressione lineare multipla
Un difetto grave
Si puo dimostrare che R2 tende a crescere quando aumenta ilnumero di variabili esplicative incluse nel modello, anche qualoraqueste non esercitassero effettivamente alcuna influenza su Y .Se k = n − 1, allora certamente R2 = 1, per un semplice artificiomatematico!Conviene utilizzare il coefficiente di determinazione lineare multiplacorretto, R2
a :
R2a = 1− n − 1
n − k − 1(1− R2)
che da informazioni simili a quelle fornite da R2 ma nonnecessariamente cresce al crescere di k.
Regressione lineare semplice Regressione lineare multipla
Il modello gaussiano
Ricordiamo la formula generale del modello:
Yi = x′iβ + εi , i = 1, . . . , n
Il modello si dice gaussiano se εi ∼ N(0, σ2), ferme restandotutte le altre assunzioni.La Gaussianita del modello implica che
Yi |X = xi ∼ N(x′iβ, σ2)
Condizionatamente a X = xi , Yi si distribuisce come una v.c.normale con media x′iβ e varianza σ2.
Regressione lineare semplice Regressione lineare multipla
Il modello gaussiano
Conseguenze dell’ipotesi di gaussianita:
Distribuzione di Bj , j = 0, . . . , k e Yi , i = 1, . . . , n:
Bj ∼ N(βj , σ
2hj ,j
)Yi ∼ N
(x′iβ, σ2x′i (X
′X)−1xi ))
Regressione lineare semplice Regressione lineare multipla
Se il modello e gaussiano, o se n e elevato e le assunzioni delmodello di regressione lineare multipla sono rispettate:
Bj − βj
SBj
∼ tn−k−1
Yi − x′β
S√
x′i (X′X)−1xi
∼ tn−k−1
si distribuiscono come t di Student con n − k − 1 gradi diliberta
Regressione lineare semplice Regressione lineare multipla
Intervallo di confidenza per βj , i = 0, 1, . . . , k al livello difiducia 1− α
Determinazione degli intervalli di confidenza sul campioneosservato:
[bj − sBjtn−k−1,1−α/2, bj + sBj
tn−k−1,1−α/2]
Regressione lineare semplice Regressione lineare multipla
Intervallo di confidenza per η(x0, β)
Siano x0,j , j = 1, . . . , k, k fissati valori delle variabili Xj .
Vogliamo costruire un intervallo di confidenza, di livello 1− αper
η(x0,1, . . . x0,k ,β) = x′0β
con x′0 = [1, x0,1, . . . , x0, k]
Ponendo
Sx′0β
= S√
x′0(X′X)−1x0
Ad un livello di fiducia 1− α, quindi, l’intervallo di confidenzaper η(x0,1, . . . x0,k ,β) sara il seguente:[
x′0b− tn−k−1,1−α/2sη, x′0b + tn−k−1,1−α/2sη
]
Regressione lineare semplice Regressione lineare multipla
Verifica di ipotesi su βj , j = 0, . . . , k
Sistema di ipotesi bilaterale:
H0 : βj = β∗j ipotesi nulla
H1 : βj 6= β∗j ipotesi alternativa
β∗j e un valore noto che fissiamo noi, sulla base delle nostreesigenze.
Fissiamo un valore α, 0 < α < 1, che chiameremo livello disignificativita del test, e vogliamo che la probabilita di ritenerefalsa H0 quando in realta H0 e vera sia proprio pari ad α
Regressione lineare semplice Regressione lineare multipla
Se H0 e vera,
T =Bj − β∗j
SBj
∼ tn−k−1 statistica test
Valore osservato della statistica test:
toss =bj − β∗j
sBj
determinazione campionaria di T
Se H0 e vera,
P(|T | > |tn−k−1,1−α/2|) = α
Regressione lineare semplice Regressione lineare multipla
Quindi, se decidiamo di ritenere falsa H0 quando
|toss | > |tn−k−1,1−α/2|,
rischiamo di rifiutare H0 quando essa e vera con probabilita α
Livello di significativita osservato (p-value):
α = P(|T | > |toss | quando e vera H0)
se α > α, allora |toss | < |tn−k−1,1−α/2| e si accetta H0;se α < α, allora |toss | > |tn−k−1,1−α/2| e si rifiuta H0.
Regressione lineare semplice Regressione lineare multipla
Verifica di ipotesi su βj , j = 0, . . . , k
Sistema di ipotesi unilaterale:
H0 : βj = β∗j (≤ β∗j ) ipotesi nulla
H1 : βj > β∗j ipotesi alternativa
β∗j e un valore noto che fissiamo noi, sulla base delle nostreesigenze.
Regressione lineare semplice Regressione lineare multipla
Se H0 e vera,
T =Bj − β∗j
SBj
∼ tn−k−1 statistica test
Valore osservato della statistica test:
toss =bj − β∗j
sBj
determinazione campionaria di T
Se H0 e vera,P(T > tn−k−1,1−α) = α
Regressione lineare semplice Regressione lineare multipla
Quindi, se decidiamo di ritenere falsa H0 quando
toss > tn−k−1,1−α,
rischiamo di rifiutare H0 quando essa e vera con probabilita α
Regressione lineare semplice Regressione lineare multipla
Verifica di ipotesi su βj , j = 0, . . . , k
Sistema di ipotesi unilaterale:
H0 : βj = β∗j (≥ β∗j ) ipotesi nulla
H1 : βj < β∗j ipotesi alternativa
β∗j e un valore noto che fissiamo noi, sulla base delle nostreesigenze.
Regressione lineare semplice Regressione lineare multipla
Se H0 e vera,
T =Bj − β∗j
SBj
∼ tn−k−1 statistica test
Valore osservato della statistica test:
toss =bj − β∗j
sBj
determinazione campionaria di T
Se H0 e vera,P(T < tn−k−1,α) = α
Regressione lineare semplice Regressione lineare multipla
Quindi, se decidiamo di ritenere falsa H0 quando
toss < tn−k−1,α,
rischiamo di rifiutare H0 quando essa e vera con probabilita α
Regressione lineare semplice Regressione lineare multipla
Intervallo di previsione per Y in corrispondenza di X, = x0,j
Vogliamo prevedere il valore assunto da Y in corrispondenzadi k fissati valori di Xj = x0,j , j = 1, . . . , k, misurati su unaunita statistica non inclusa nel campione e sulla quale Y none stato rilevato.Vogliamo costruire un intervallo di previsione, di livello 1− αper
Y0 = β0 +k∑
j=1
βjx0,j + ε0 = x′0β + ε0
con x′0 = [1, x0,1, ,x0,k ]Se il modello e gaussiano, allora
Y0|x0,1, . . . , x0,k ∼ N(x′0β, σ2)
Se prevediamo Y0 con Y0 = x′0B, l’errore di previsione sara
Y0 − x′0B ∼ N(0, σ2(1 + x′0(X
′X)−1x0
)Regressione lineare semplice Regressione lineare multipla
Intervallo di previsione per Y in corrispondenza diXj = x0,j , j = 0, . . . , k
La quantita pivotale per l’intervallo di previsione al livello difiducia 1− α sara data da:
Y0 − x′0B√S2 (1 + x′0(X
′X)−1x0)∼ tn−k−1
Ponendo
SY0 = S√
1 + x′0(X′X)−1x0
Ad un livello di fiducia 1− α, quindi, l’intervallo di previsioneper Y0 sara il seguente:[
x′0b− tn−k−1,1−α/2SY0 , x′0b + tn−k−1,1−α/2sY0
]
Regressione lineare semplice Regressione lineare multipla
Un’applicazione
Il file spedizioni.txt contiene i dati rilevati dalla contabilita diun’azienda di spedizioni nell’arco di 20 settimane. Le variabilirilevate sono:
Y : ore lavoro impiegate nella settimanaX1: peso totale (in migliaia di libbre) del materiale speditonella settimanaX2: percentuale del peso totale spedita con camionX3: peso medio delle spedizioni nell’arco della settimanaX4: numero della settimana di rilevazione (tempo)
Cerchiamo di capire quali siano, tra i potenziali regressori(X1, X2, X3 e X4), le variabili che possano incidere sullaquantita di lavoro impiegata nell’arco della settimana (Y )
Regressione lineare semplice Regressione lineare multipla
Avviamo una sessione di R, cancelliamo tutto cio che c’e inmemoria, chiudiamo le finestre grafiche eventualmente apertee carichiamo i dati con i seguenti comandi:
> rm(list = ls())
> graphics.off()
> spedizioni = read.table("spedizioni.txt", header = T)
Cerchiamo di capire, attraverso una opportuna rappresentazionegrafica (Figura 23) che tipi di relazioni esistano tra le diversevariabili:
> pairs(spedizioni)
Regressione lineare semplice Regressione lineare multipla
y
3 5 7
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
10 20 30
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
5070
9012
0
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
35
7
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●x1 ●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●
● x2
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
2060
100
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●
●
1020
30
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
x3 ●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
50 70 90 120
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
20 60 100
●●
●●
●●
●●
●●
●●
●●●
●●
●●
●
●●
●●
●●
●●
●●
●●
●●
●●
●●
●●
5 10 20
510
20
x4
Figura 23: Diagrammi di dispersione di tutte le possibili coppie divariabili contenute nel dataframe spedizioni
Regressione lineare semplice Regressione lineare multipla
La Figura 23, ottenuta con il comando
> pairs(spedizioni)
e una matrice di diagrammi di dispersione:
Ogni riga ed ogni colonna sono intestate ad una variabile, ilcui nome e leggibile sulla diagonale della matrice.
I grafici che si trovano su una determinata riga sono idiagrammi di dispersione della variabile a cui quella riga eintestata, contro ciascuna delle variabili a cui sono intestate lecolonne
Sul primo grafico della seconda riga e rappresentato ildiagramma di dispersione di X1 contro Y ; sul secondo graficodella seconda riga e rappresentato il diagramma di dispersionedi X1 contro X2 e cosı via.
Regressione lineare semplice Regressione lineare multipla
Dalla Figura 23 si possono trarre alcune informazioni:
appare evidente una relazione lineare crescente tra il numerodi ore lavoro impiegate nell’arco della settimana (variabilerisposta) e il peso totale del materiale spedito nel medesimoperiodo (X1);
appare altrettanto evidente una relazione lineare decrescentetra variabile risposta e peso medio delle spedizioni nell’arcodella settimana (X3);
non si possono desumere relazioni altrettanto evidenti tra lavariabile risposta e gli altri potenziali regressori. Cio nonsignifica di per se che questi non influiscano sulcomportamento della quantita di lavoro impiegata: il loroeffetto potrebbe essere mascherato dall’influenza esercitatasimultaneamente da piu variabili sulla variabile risposta.
Regressione lineare semplice Regressione lineare multipla
Stimiamo ora il modello
Yi = β0 + β1Xi ,1 + β2Xi ,2 + β3Xi ,3 + β4Xi ,4 + εi
con i seguenti comandi:
> attach(spedizioni)
> spedizioni.lm = lm(y ~ x1 + x2 + x3 + x4)
Regressione lineare semplice Regressione lineare multipla
Visualizziamo ora una sintesi dei risultati:> summary(spedizioni.lm)
Call:
lm(formula = y ~ x1 + x2 + x3 + x4)
Residuals:
Min 1Q Median 3Q Max
-18.1571 -4.4245 0.3047 5.1815 12.6797
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 95.41495 30.03577 3.177 0.00626 **
x1 6.07391 2.66245 2.281 0.03755 *
x2 0.08435 0.08870 0.951 0.35673
x3 -1.74600 0.76018 -2.297 0.03645 *
x4 -0.12450 0.37993 -0.328 0.74768
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.103 on 15 degrees of freedom
Multiple R-Squared: 0.8196, Adjusted R-squared: 0.7715
F-statistic: 17.03 on 4 and 15 DF, p-value: 1.889e-05
Regressione lineare semplice Regressione lineare multipla
Il coefficiente di determinazione lineare multipla e pari a0.8196
il coefficiente di determinazione lineare multipla corretto(Adjusted R-suared) e pari a 0.7715, quindi il modello sembraspiegare abbastanza bene il comportamento della variabilerisposta.
esaminiamo ora i residui
Disegnamo il grafico dei residui (Figura 24):
> plot(resid(spedizioni.lm))
e il grafico quantile quantile dei medesimi, per farci qualcheidea circa la gaussianita del modello (Figura 25):
> qqnorm(resid(spedizioni.lm)/9.103)> qqline(resid(spedizioni.lm)/9.103)
Regressione lineare semplice Regressione lineare multipla
●
●
●
● ●
●
●
●
●
●●
●
●
●
●●
●
●
● ●
5 10 15 20
−15
−10
−50
510
Index
resid
(spe
dizion
i.lm)
Figura 24: Grafico dei residui
Regressione lineare semplice Regressione lineare multipla
●
●
●
●●
●
●
●
●
●●
●
●
●
●●
●
●
●●
−2 −1 0 1 2
−2.0
−1.5
−1.0
−0.5
0.0
0.5
1.0
1.5
Normal Q−Q Plot
Theoretical Quantiles
Sam
ple Q
uant
iles
Figura 25: Grafico quantile quantile dei residui standardizzati
Regressione lineare semplice Regressione lineare multipla
In base all’analisi dei residui possiamo ritenere che il modellorispetti le assunzioni di fondo e che i residui sianodeterminazioni di variabili casuali normali (quindi che ilmodello sia gaussiano).
Regressione lineare semplice Regressione lineare multipla
Un test utile
Potremmo essere interessati al seguente sistema di ipotesi:
H0 : β1 = β2 = · · · = βk = 0
H1 : almeno uno di questi coefficienti e diverso da 0
Di fatto vogliamo verificare se abbia senso considerare un modellodi regressione lineare multipla.
Regressione lineare semplice Regressione lineare multipla
Supponiamo che l’ipotesi nulla sia vera. Allora, se il modello egaussiano, oppure se n e elevato e valgono le assunzioni di fondodel modello di regressione lineare multipla, la seguente quantita
f =(DEVTOT − DEVRES)/k
DEVRES/(n − k)=
R2/k
(1− R2)/(n − k − 1)
sara la determinazione di una particolare variabile casuale cheassume solo valori positivi: una F di Snedecor con k gradi di libertaal numeratore e n − k gradi di liberta al denominatore, Fk,n−k .
Regressione lineare semplice Regressione lineare multipla
Fissato un livello di significativita α,
accetteremo H0 se f e minore del quantile di ordine 1− α diuna Fk,n−k
rifiuteremo H0 se f e maggiore del quantile di ordine 1− α diuna Fk,n−k
oppure, definito il livello di significativita osservato (p-value) come
αoss = P(Fk,n−k > f )
accetteremo H0 se αoss > α
rifiuteremo H0 altrimenti
Regressione lineare semplice Regressione lineare multipla
Per questo sistema di ipotesi, l’ultima riga dell’output del comando
> summary(spedizioni.lm)
fornisce un valore αoss = 1.889 · 10−5, quindi nella nostraapplicazione rifiutiamo H0, cioe riteniamo che almeno uno deiregressori considerati sia influente sulla media della variabilerisposta.
Regressione lineare semplice Regressione lineare multipla
I potenziali regressori sono tutti effettivamente influenti?
Domanda
Nel modello che abbiamo costruito sono incluse delle variabiliesplicative ridondanti? Possiamo escludere alcune di esse?
Regressione lineare semplice Regressione lineare multipla
Per j = 0, dots, k e per un fissato livello di significativita α,impostiamo i seguenti sistemi di ipotesi:
H0 : βj = 0
H1 : βj 6= 0
Per ogni sistema di ipotesi calcoliamo il valore osservato della
corrispondente statistica test: tj =bj
sBj
Tra tutti i valori tj che inducono ad accettare l’ipotesi nullaindividuiamo i piu piccolo in valore assoluto (ovvero quello cheda luogo al piu alto livello di significativita osservato).Supponiamo che cio avvenga per j = j∗
Regressione lineare semplice Regressione lineare multipla
Dobbiamo ora distinguere due casi:
se j∗ = 0 porremo β0 = 0 e ristimeremo il modello senzaintercettase 1 ≤ j∗ ≤ k porremo βj∗ = 0 e ristimeremo il modelloescludendo la j∗-esima varabile esplicativa (i regressori sarannoora k − 1)
Ripetiamo la procedura fino a quando tutti i valori tjindurranno ad accettare il corrispondente sistema di ipotesi.
Regressione lineare semplice Regressione lineare multipla
Fissiamo α = 0.05 e iniziamo la procedura> summary(spedizioni.lm)
Call:
lm(formula = y ~ x1 + x2 + x3 + x4)
Residuals:
Min 1Q Median 3Q Max
-18.1571 -4.4245 0.3047 5.1815 12.6797
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 95.41495 30.03577 3.177 0.00626 **
x1 6.07391 2.66245 2.281 0.03755 *
x2 0.08435 0.08870 0.951 0.35673
x3 -1.74600 0.76018 -2.297 0.03645 *
x4 -0.12450 0.37993 -0.328 0.74768
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.103 on 15 degrees of freedom
Multiple R-Squared: 0.8196, Adjusted R-squared: 0.7715
F-statistic: 17.03 on 4 and 15 DF, p-value: 1.889e-05
Escludiamo la variabile X4 e stimiamo il modello:
Yi = β0 + β1xi ,1 + β2xi ,2 + β3xi ,3 + εi
Regressione lineare semplice Regressione lineare multipla
> spedizioni1.lm = lm(y ~ x1 + x2 + x3)
> summary(spedizioni1.lm)
Call:
lm(formula = y ~ x1 + x2 + x3)
Residuals:
Min 1Q Median 3Q Max
-18.645 -4.531 0.504 5.474 12.398
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 97.76848 28.33918 3.450 0.00329 **
x1 5.75233 2.40495 2.392 0.02939 *
x2 0.08032 0.08536 0.941 0.36074
x3 -1.82762 0.69789 -2.619 0.01862 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.845 on 16 degrees of freedom
Multiple R-Squared: 0.8183, Adjusted R-squared: 0.7842
F-statistic: 24.02 on 3 and 16 DF, p-value: 3.633e-06
Escludiamo la variabile X2 e stimiamo il modello:
Yi = β0 + β1xi,1 + β3xi,3 + εi
Regressione lineare semplice Regressione lineare multipla
> spedizioni2.lm = lm(y ~ x1 + x3)
> summary(spedizioni2.lm)
Call:
lm(formula = y ~ x1 + x3)
Residuals:
Min 1Q Median 3Q Max
-18.092 -4.248 -1.222 4.696 15.431
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 110.4311 24.8556 4.443 0.000357 ***
x1 5.0007 2.2607 2.212 0.040948 *
x3 -2.0122 0.6675 -3.014 0.007810 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.815 on 17 degrees of freedom
Multiple R-Squared: 0.8082, Adjusted R-squared: 0.7857
F-statistic: 35.83 on 2 and 17 DF, p-value: 8.008e-07
Abbiamo costruito un modello soddisfacente.
Regressione lineare semplice Regressione lineare multipla
Intervallo di confidenza per β1 al livello 1− α = 0.95
> quantile = qt(0.975, 17)
> estremo.inferiore = coef(spedizioni2.lm)[2] - quantile * 2.2607
> estremo.superiore = coef(spedizioni2.lm)[2] + quantile * 2.2607
> estremo.inferiore
x1
0.2310464
> estremo.superiore
x1
9.770367
Regressione lineare semplice Regressione lineare multipla
Intervallo di confidenza per la funzione di regressione
Supponiamo di voler costruire, al livello 1− α = 0.99, un intervallodi confidenza per la funzione di regressione in corrispondenza diX1 = 8 e X3 = 20> nuovidati = data.frame(x1 = 8, x3 = 20)
> nuovidati
x1 x3
1 8 20
> intervallo = predict(spedizioni2.lm, nuovidati, interval = "confidence",
+ level = 0.99)
> intervallo
fit lwr upr
[1,] 110.1934 93.00802 127.3788
Regressione lineare semplice Regressione lineare multipla
Intervallo di previsione per Y
Supponiamo di voler costruire, al livello 1− α = 0.99, un intervallodi previsione per Y in corrispondenza di X1 = 8 e X3 = 20> nuovidati = data.frame(x1 = 8, x3 = 20)
> nuovidati
x1 x3
1 8 20
> previsione = predict(spedizioni2.lm, nuovidati, interval = "prediction",
+ level = 0.99)
> previsione
fit lwr upr
[1,] 110.1934 79.40255 140.9842
Regressione lineare semplice Regressione lineare multipla
Trasformazioni delle variabili
Nel modello di regressione, spesso, puo essere opportunoconsiderare delle trasformazioni delle variabili in gioco.Supponiamo, ad esempio, di considerare due sole variabili, Y e X edi definire un modello del tipo
Yi = β0 + β1xi + εi
Una semplice relazione lineare potrebbe non essere sufficiente aspiegare il comportamento di Y e si potrebbe ricorrere ad unmodello polinomiale:
Yi = β0 + β1xi + β2x2i + · · ·+ βkxk
i + εi
Regressione lineare semplice Regressione lineare multipla
Il modello precedente e equivalente al modello di regressionelineare multipla:
Yi = β0 +k∑
j=1
βjzi ,j + εi ,
con zi ,j = x ji , j = 1, . . . , k, i = 1, . . . , n.
Regressione lineare semplice Regressione lineare multipla
Un altro esempio: supponiamo che
Yi = exp(β0)xβ1
i ,1xβ2
i ,2ui
con Y , xi ,j e ui tutte positive per ogni i e per ogni j e inoltre che
εi = log (ui )
sia tale che E(εi ) = 0, Var(εi ) = σ2 e Corr(εi , εj) = 0 quandoi 6= j .Poniamo
Y ∗i = log (Yi ) e X ∗
j = log (Xj), j = 1, 2
Regressione lineare semplice Regressione lineare multipla
Possiamo allora definire il modello di regressione lineare multipla
Y ∗i = β0 + β1x
∗i ,1 + β2x
∗i ,2 + εi
e procedere all’analisi di questo modello
Regressione lineare semplice Regressione lineare multipla
Le trasformazioni piu utilizzate sono:
il logaritmo
la radice quadrata
l’inversa
Regressione lineare semplice Regressione lineare multipla
Come scegliere il tipo di trasformazione:
esaminare la rappresntazione grafica delle variabili in gioco(diagrammi di dispersione)
una volta stimato un modello di regressione esaminare idiagrammi di dispersione dei residui rispetto a ciascunregressore.
Regressione lineare semplice Regressione lineare multipla
Interazioni tra variabili
Consideriamo un modello di regressione in cui
E(Y ) = β0 + β1X1 + β2X2
(omettiamo per brevita il condizionamento di Y rispetto airegressori).
Il coefficiente β1 rappresenta l’incremento in E (Y )corrispondente ad un incremento unitario di X1, mantenendoX2 inalterata
Il coefficiente β2 rappresenta l’incremento in E (Y )corrispondente ad un incremento unitario di X2, mantenendoX1 inalterata
Regressione lineare semplice Regressione lineare multipla
Interazioni tra variabili
Introduciamo ora un termine di interazione tra X1 e X2:
E(Y ) = β0 + β1X1 + β2X2 + β3X1X2
Incremento in E (Y ) corrispondente ad un incremento unitariodi X1, mantenendo X2 inalterata
∆1E(Y ) = β1 + β3X2
Incremento in E (Y ) corrispondente ad un incremento unitariodi X2, mantenendo X1 inalterata
∆2E(Y ) = β2 + β3X2
Regressione lineare semplice Regressione lineare multipla
Riconsideriamo il modello finale a cui siamo giunti nelproblema della azienda di spedizioni.
Disegnamo i diagrammi di dispersione dei residui rispetto aciascuna delle variabili esplicative con i comandi
> plot(x1, resid(spedizioni2.lm))
> plot(x2, resid(spedizioni2.lm))
i grafici nelle Figure 26 e 27 mostrano una debole dipendenzalineare tra i residui e ciascuna delle variabili esplicative.Questo ci induce a ritenere che il modello adattato non sfruttitutta l’informazione contenuta nei regressori
Poiche i grafici non evidenziano particolari relazioni nonlineari, cerchiamo di capire se esistano delle forme diinterazione tra le due variabili.
Regressione lineare semplice Regressione lineare multipla
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
3 4 5 6 7 8
−15
−10
−50
510
15
x1
resid
(spe
dizion
i2.lm
)
Figura 26: Diagramma di dispersione dei residui contro X1
Regressione lineare semplice Regressione lineare multipla
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
20 40 60 80 100
−15
−10
−50
510
15
x2
resid
(spe
dizion
i2.lm
)
Figura 27: Diagramma di dispersione dei residui contro X2
Regressione lineare semplice Regressione lineare multipla
Consideriamo il modello:
Yi = β0 + β1xi ,1 + β3xi ,3 + β4xi ,1xi ,3
> spedizioni3.lm = lm(y ~ x1 + x3 + x1:x3)
> summary(spedizioni3.lm)
Call:
lm(formula = y ~ x1 + x3 + x1:x3)
Residuals:
Min 1Q Median 3Q Max
-11.2933 -3.6282 -0.6933 3.6255 19.7925
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 174.525 39.344 4.436 0.000415 ***
x1 -6.536 6.123 -1.067 0.301617
x3 -5.052 1.637 -3.086 0.007086 **
x1:x3 0.579 0.289 2.004 0.062333 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.124 on 16 degrees of freedom
Multiple R-Squared: 0.8467, Adjusted R-squared: 0.818
F-statistic: 29.46 on 3 and 16 DF, p-value: 9.462e-07
Regressione lineare semplice Regressione lineare multipla
Fissando α = 0.05 e procedendo nuovamente alla selezione dellevariabili, giungiamo al modello, giungiamo al modello
Yi = β0 + β3xi ,3 + β4xi ,1xi ,3
> spedizioni4.lm = lm(y ~ x3 + x1:x3)
> summary(spedizioni4.lm)
Call:
lm(formula = y ~ x3 + x1:x3)
Residuals:
Min 1Q Median 3Q Max
-13.5042 -3.6299 -0.7304 3.6693 17.0395
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 134.61262 12.29103 10.952 4.02e-09 ***
x3 -3.34866 0.36640 -9.139 5.69e-08 ***
x3:x1 0.28896 0.09873 2.927 0.00941 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 8.158 on 17 degrees of freedom
Multiple R-Squared: 0.8358, Adjusted R-squared: 0.8165
F-statistic: 43.26 on 2 and 17 DF, p-value: 2.143e-07
Regressione lineare semplice Regressione lineare multipla
Ci poniamo ora il problema di rappresentare graficamentel’andamento della funzione di regressione stimata, intesa comefunzione del pesmo medio settimanale delle spedizioni, incorrispondenza di alcuni fissati valori del peso totale dellespedizioni settimanali, diciamo X1 = 4, X1 = 4.95 e X1 = 6.2.
Per ognuno dei fissati livelli di X1 stimiamo la funzione diregressione in corrispondenza dei valori del peso medio dellespedizioni settimanali osservati sul campione utilizzando iseguenti comandi:
> beta = coef(spedizioni4.lm)
> eta1 = beta[1] + beta[2] * x3 + beta[3] * 4 * x3
> eta2 = beta[1] + beta[2] * x3 + beta[3] * 4.95 * x3
> eta3 = beta[1] + beta[2] * x3 + beta[3] * 6.2 * x3
Regressione lineare semplice Regressione lineare multipla
Disegnamo ora i grafici (Figura 28) delle tre funzioni con i seguenticomandi:> plot(x3, eta1, type = "l", col = "blue", ylim = c(60, max(y)),
+ xlab = "peso medio settimanale delle spedizioni", ylab = "funzione di regressione stimata")
> lines(sort(x3), eta2[order(x3)])
> lines(sort(x3), eta3[order(x3)], col = "red")
Regressione lineare semplice Regressione lineare multipla
10 15 20 25 30
6070
8090
100
110
120
peso medio settimanale delle spedizioni
funz
ione
di re
gres
sione
stim
ata
X1 == 4
X1 == 4.95
X1 == 6.2
Figura 28: Grafici della funzione di regressione stimata in corrispondenzadei tre valori fissati di X1
Regressione lineare semplice Regressione lineare multipla
Variabili esplicative di tipo qualitativo
Il file cars4.txt contiene dei dati rilevati su 25 modelli di autoveicoliamericani adibiti al trasporto di persone:
Y consumo urbano di carburante (miglia per gallone)
X peso in migliaia di libbre
type. Variabile qualitativa con tre modalita: SUV,Wagon,Minivan
D1. Variabile indicatrice: D1 = 1 se type = Wagon; D1 = 0altrimenti
D2. Variabile indicatrice: D2 = 1 se type = Minivan; D2 = 0altrimenti
Se D1 = D2 = 0 allora type = SUV
Regressione lineare semplice Regressione lineare multipla
Il modello:
Y = β0 + β11
X+ β2D1 + β3D2 + β4D1
1
X+ β5D2
1
X+ ε
SUV (gruppo di controllo)
E(Y ) = β0 + β11
X[D1 = D2 = 0]
Wagon
β0 + β11
X+ β2 + β4
1
X[D1 = 1,D2 = 0]
Minivan
β0 + β11
X+ β3 + β5
1
X[D1 = 0,D2 = 1]
Regressione lineare semplice Regressione lineare multipla
Carichiamo i dati e stimiamo il modello:> rm(list = ls())
> graphics.off()
> cars = read.table("cars.txt", header = T)
> attach(cars)
> cars.lm = lm(Y ~ I(1/X) + D1 + D2 + D1:I(1/X) + D2:I(1/X))
Esercizio. Analizzare i residui. In particolare, accertarsi se la gaussianita del modello sia un’assunzione plausibile.
Regressione lineare semplice Regressione lineare multipla
Esaminiamo la sintesi dei risultati> summary(cars.lm)
Call:
lm(formula = Y ~ I(1/X) + D1 + D2 + D1:I(1/X) + D2:I(1/X))
Residuals:
Min 1Q Median 3Q Max
-1.7507 -0.9358 0.0484 0.7963 2.5464
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.291 2.658 2.367 0.028726 *
I(1/X) 40.894 10.293 3.973 0.000815 ***
D1 -9.894 4.596 -2.153 0.044416 *
D2 -2.669 9.717 -0.275 0.786542
I(1/X):D1 44.316 15.157 2.924 0.008712 **
I(1/X):D2 18.581 38.879 0.478 0.638160
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.278 on 19 degrees of freedom
Multiple R-Squared: 0.9267, Adjusted R-squared: 0.9074
F-statistic: 48.01 on 5 and 19 DF, p-value: 3.974e-10
Regressione lineare semplice Regressione lineare multipla
Procedendo con la selezione delle variabili giungiamo al modello
Y = β0 + β11
X+ β2D1 + β4D1
1
X+ β5D2
1
X+ ε
> cars1.lm = lm(Y ~ I(1/X) + D1 + D1:I(1/X) + D2:I(1/X))
> summary(cars1.lm)
Call:
lm(formula = Y ~ I(1/X) + D1 + D1:I(1/X) + D2:I(1/X))
Residuals:
Min 1Q Median 3Q Max
-1.70941 -0.93581 0.04847 0.79629 2.55585
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.091 2.497 2.439 0.024152 *
I(1/X) 41.659 9.676 4.305 0.000345 ***
D1 -9.694 4.432 -2.187 0.040780 *
I(1/X):D1 43.550 14.550 2.993 0.007187 **
I(1/X):D2 7.924 2.390 3.315 0.003457 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.248 on 20 degrees of freedom
Multiple R-Squared: 0.9264, Adjusted R-squared: 0.9116
F-statistic: 62.91 on 4 and 20 DF, p-value: 4.807e-11
Regressione lineare semplice Regressione lineare multipla
Rappresentiamo graficamente i risultati in Figura 29 con i seguenticomandi:> invx = 1/X
> beta = coef(cars1.lm)
> plot(invx, Y, type = "n", xlab = "1/X")
> invx0 = invx[D1 == 0 & D2 == 0]
> points(invx0, Y[D1 == 0 & D2 == 0], pch = "s")
> lines(sort(invx0), beta[1] + beta[2] * invx0[order(invx0)])
> invx1 = invx[D1 == 1]
> points(invx1, Y[D1 == 1], pch = "w")
> lines(sort(invx1), beta[1] + beta[2] * invx1[order(invx1)] +
+ beta[3] + beta[4] * invx1[order(invx1)], col = "blue")
> invx2 = invx[D2 == 1]
> points(invx2, Y[D2 == 1], pch = "m")
> lines(sort(invx2), beta[1] + beta[2] * invx2[order(invx2)] +
+ beta[5] * invx2[order(invx2)], col = "red")
Regressione lineare semplice Regressione lineare multipla
0.20 0.25 0.30 0.35 0.40
1520
2530
1/X
Y
s
s
s
ss
s
s
sss
s
s
w
w
w
w
w
w
m
m m
m
m mm
Figura 29: Diagramma di dispersione e funzione di regressione