Il lavoro, eseguito sul software statistico RStudio, consiste nell’applicazione critica (stime e commenti) di un modello di regressione lineare a dati prestabiliti. Il file di dati utilizzato contiene informazioni sulla spesa mensile di un campione di 150 clienti di alcuni siti specializzati in e-commerce, i quali hanno aderito ad un questionario online.
F. Pammolli: Struttura e dinamica dei sistemi economici Alcuni strumenti d’in...
Applicazione su “RStudio” del modello di regressione lineare
1. qwertyuiopasdfghjklzxcvbnmqw
ertyuiopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiop
Corso di “Metodologie Avanzate e Nuove
asdfghjklzxcvbnmqwertyuiopas
Tecnologie per il Marketing” 2012/2013
dfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfgh
jklzxcvbnmqwertyuiopasdfghjkl
zxcvbnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnm
qwertyuiopasdfghjklzxcvbnmqw
ertyuiopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiop
23/05/2013
Loredana Liverani 640641
2. SOMMARIO
Applicazione su “RStudio” del modello di regressione lineare: stime e commenti
........................................................................................................... 3
Dati utilizzati ...................................................................................... 3
La regressione lineare multipla: un brevissimo excursus teorico ................. 4
Elaborazione di diversi modelli con RStudio e commenti agli stessi.............. 6
Appendice........................................................................................... 13
Iperpiano di regressione con k=2......................................................... 13
Script del lavoro eseguito su RStudio ................................................... 13
Riferimenti ....................................................................................... 23
2
3. APPLICAZIONE SU “RSTUDIO” DEL MODELLO DI REGRESSIONE
LINEARE: STIME E COMMENTI
DATI UTILIZZATI
Il mio lavoro su RStudio1 consiste nell’applicazione di un modello di regressione lineare a
dati prestabiliti. Il file di dati utilizzato, denominato “tesina07.csv”, contiene informazioni sulla
spesa mensile di un campione di 150 clienti di alcuni siti specializzati in e-commerce, i quali
hanno aderito ad un questionario online. Le variabili 2 contenute nel file, sulle quali si và ad
implementare il lavoro, sono 14:
exp è la spesa media mensile in euro. È la variabile dipendente (o variabile risposta),
rappresenta ciò che si cerca di stimare con le altre variabili del modello.
Le seguenti variabili sono, invece, le variabili esplicative (o predittori, o regressori, o
variabili indipendenti) del modello. Alcune sono quantitative, altre sono qualitative.
1. inc è il reddito mensile in migliaia di euro.
2. months rappresenta il numero di mesi trascorsi dal primo acquisto on-line.
3. rate è il giudizio complessivo espresso dal cliente sui prodotti acquistati (con
modalità: “a”, modalità base=molto positivo, “b”=medio, “c”=negativo).
4. sex indica il sesso del cliente (con modalità: “0”=maschio, “1”=femmina).
5. isced indica il grado di istruzione (con modalità: “12”, modalità base=istruzione
primaria, “14”=istruzione secondaria, “16”=istruzione terziaria).
6. skill è un’autovalutazione della capacità di utilizzare internet e le sue applicazioni
(con modalità: “a”, modalità base=buona, “b”=media, “c”=scarsa).
7. age rappresenta l’età del cliente in anni.
8. habit indica se il cliente acquista abitualmente prodotti on-line (con modalità:
“0”=no, “1”=si).
9. online è il tempo medio giornaliero di navigazione in internet da parte dell’utente, in
minuti.
10. trust indica una valutazione del grado di fiducia sulla sicurezza su internet (in una
scala crescente da 1 a 10, con 1=scarsa fiducia e 10=alta fiducia).
11. look è una valutazione dell’aspetto del sito su cui sono stati effettuati gli acquisti (in
una scala crescente da 1 a 10, con 1=aspetto non gradito e 10=aspetto del tutto
gradito).
12. use è una valutazione della facilità di utilizzo del sito sul quale sono stati effettuati gli
acquisti (in una scala crescente da 1 a 10, con 1=scarsa facilità e 10=elevata facilità).
13. conv esprime una valutazione sulla convenienza di effettuare acquisti on-line (in una
scala crescente da 1 a 10, con 1=assolutamente non conveniente e 10=del tutto
conveniente).
1
RStudio (http://rstudio.org/) è un Integrated Development Environment (IDE), open-source e gratuito, per il
linguaggio di scripting statistico R (http://r-project.org). È una versione interfacciata e più user-friendly di R.
2
Il metodo sperimentale si basa sul rapporto tra variabili (dove per variabile si intendono attributi o condizioni di
persone o situazioni che possono variare a seconda delle condizioni): la variabile indipendente (quella che viene
manipolata dallo sperimentatore, su cui egli agisce) e la variabile dipendente (quella che subisce gli effetti dei
cambiamenti agiti sulla variabile indipendente). Le variabili possono poi essere distinte tra quelle quantitative o
qualitative, dove le prima variano in grandezza mentre le seconde cambiano in genere (un buon esempio di variabile
quantitativa potrebbe essere il tempo di reazione a uno stimolo, mentre una variabile qualitativa potrebbe essere la
professione dei soggetti che partecipano a una ricerca). Una variabile qualitativa che assume solo due modalità è
detta dicotomica, o dummy; altrimenti è politomica.
3
4. LA REGRESSIONE LINEARE MULTIPLA: UN BREVISSIMO EXCURSUS TEORICO
L’analisi di regressione è un metodo statistico per analizzare la relazione tra due o più
variabili affinché una variabile possa essere predetta o spiegata attraverso l’uso delle altre.3 La
formula matematica che sottintende questa analisi è il modello di regressione. Questa
definizione non evidenzia esplicitamente la natura della relazione poiché (la relazione) può
assumere svariate forme ed essere sempre analizzata con i modelli di regressione.
Nella regressione lineare semplice la relazione viene descritta attraverso una retta e con
un’unica variabile esplicativa. Il modello di regressione lineare semplice collega i valori
osservati della variabile dipendente 𝑦 (sempre quantitativa) con i valori della singola variabile
indipendente 𝑥 (qualitativa o quantitativa). L’estensione di questo modello che permette di
considerare un maggior numero di variabili indipendenti è chiamata modello di regressione
lineare4 multipla, esprimibile come segue:
𝑦 = 𝛽0 + 𝛽1 𝑥1 + 𝛽2 𝑥2 + ⋯ + 𝛽 𝑘 𝑥 𝑘 + 𝜀
Dove:
𝛽0 , 𝛽1 , 𝛽2 , … , 𝛽 𝑘 sono i parametri del modello. In particolare 𝛽0 è l’intercetta del modello
(cioè il valore di 𝑦 quando ogni variabile esplicativa è pari a 0) e 𝛽𝑗 il coefficiente
angolare di 𝑥 (cioè esprime l’incremento di 𝑦, corrispondente ad un incremento unitario
di 𝑥 𝑗 , fermo restando tutte le altre variabili).
𝜀 è il termine di errore (casuale), che esprime il contributo di tutti i fattori non
osservabili, e quindi non contenuti nelle 𝑘 variabili esplicative.
Negli studi empirici la relazione che può essere osservata tra 𝑦 e 𝑥1 , 𝑥2 , … , 𝑥 𝑘 non è mai una
relazione matematica esatta: infatti ad una determinata combinazione di valori delle variabili
esplicative possono corrispondere più valori di 𝑦 . Tra le variabili esplicative e la variabile
risposta sussiste quindi una relazione di tipo statistico 5 . Il modello presenta una serie di
assunzioni, che possono esser così sintetizzate:
6
L’equazione di una regressione lineare multipla con k variabili esplicative rappresenta
l’equazione di un iperpiano in k+1 dimensioni. Tale iperpiano prende il nome di superficie di
regressione (o di risposta), e la sua posizione nello spazio dipende dai valori assunti dai
coefficienti di regressione.
3
Freund, R.J., & Wilson, W.J. (2000).
Il modello è chiamato di regressione lineare poiché è lineare nei parametri, cioè, i coefficienti 𝛽𝑗 sono “semplici”
(lineari) moltiplicatori delle variabili indipendenti e il termine di errore.
5
In una relazione statistica vi è una componente deterministica, rappresentata da 𝑓(𝑋), e una componente stocastica,
rappresentata dalla variabile casuale 𝜀.
6
Borra, S., & Di Ciaccio, A. (2004).
4
4
5.
In appendice: esempio di superficie di regressione con k=2
Il modello di regressione lineare può essere riformulato utilizzando l’algebra matriciale (che
permette di sintetizzarne più facilmente i risultati).7
Per quanto riguarda i coefficienti 𝛽𝑗 occorre individuare le stime di tali parametri (𝛽𝑗 ), in modo
tale che i valori stimati della 𝑌 siano il più vicino possibile ai valori osservati. La valutazione
dell’adattamento del modello ai dati osservati viene fatta in base agli scarti (cioè le differenze
tra i valori stimati e quelli osservati): si utilizza il metodo dei minimi quadrati (OLS)8.
La devianza campionaria dei dati (SST, o SQT) può essere espressa come somma di due
elementi: la somma dei quadrati della regressione (SSR, o SQR) più la somma dei quadrati dei
residui (SSE, o SQE). In formule:
9
Da tale relazione si può derivare il coefficiente di determinazione multiplo R2 che è una
misura della bontà di adattamento del modello ai dati: misura la proporzione di variabilità della
Y spiegata dal modello (tanto più il suo valore è elevato, tanto più il modello mostra un buon
adattamento ai dati).
10
A causa della diminuzione (o comunque non crescita) di SSE (o SQE) all’aumento delle variabili
esplicative nel modello, R2 non è adatto per confrontare due modelli che differiscano tra loro
soltanto perché uno presenta (almeno) una variabile in più rispetto all’altro. Si utilizza quindi
(come si vedrà largamente nel successivo lavoro) il coefficiente di determinazione corretto
𝑹 𝟐 . Il modello migliore è logicamente quello che presenta tale indice più elevato rispetto agli
altri.
11
Abbiamo visto come valutare la bontà di adattamento del modello ai dati, ma ciò non basta per
decretare la validità del modello utilizzato: bisogna anche verificare che i parametri utilizzati
siano effettivamente significativi. A questo scopo si possono utilizzare dei test inferenziali12:
Il test t, basato sulla variabile casuale t-Student, per valutare la significatività di una
determinata variabile. In generale, fissato un livello di significatività 𝛼, se 𝑡 > 𝑡 𝛼 2 allora
la variabile è significativa (ovvero diversa da zero) ed adeguata nel modello. Per
brevità considereremo nel lavoro una variabile significativa quando 𝑡 > 2 (il che
equivale a rifiutare l’ipotesi nulla ad un livello di significatività pari a 𝛼 = 0,05).
7
per approfondimenti: dispense sul modello di regressione lineare a cura del Prof. Massari, pagg. 28-32, ma,
soprattutto, cap.19 di Borra, S., & Di Ciaccio, A. (2004).
8
per approfondimenti, nuovamente: dispense sul modello di regressione lineare a cura del Prof. Massari, pagg. 28-34,
e cap.19 di Borra, S., & Di Ciaccio, A. (2004).
9
Borra, S., & Di Ciaccio, A. (2004).
10
nuovamente: Borra, S., & Di Ciaccio, A. (2004).
11
nuovamente: dispense sul modello di regressione lineare a cura del Prof. Massari.
12
per approfondimenti, nuovamente: dispense sul modello di regressione lineare a cura del Prof. Massari, pagg. 42-51,
e cap.19 di Borra, S., & Di Ciaccio, A. (2004).
5
6.
Il test F, basato sulla variabile casuale F-Fisher, per verificare che più parametri del
modello siano congiuntamente significativi. In generale, fissato un livello di
significatività 𝛼, se 𝐹 > 𝐹𝛼 allora il test è significativo ed il modello adeguato.
Si può inoltre utilizzare, per una valutazione più veloce, il p-value (e ciò è valido per entrambi
i test): questo è una misura del grado di disaccordo rispetto all’ipotesi nulla; più è piccolo il pvalue, maggiore è l’evidenza contro l’ipotesi nulla. In generale, se il p-value è minore di 𝛼,
allora si può rifiutare l’ipotesi nulla e considerare le variabili significative.
Un ultimo aiuto per valutare il grado di significatività delle variabili è inoltre offerto nella
grafica di output dello stesso RStudio attraverso l’utilizzo di asterischi (*) accanto alle variabili
stimate: maggiore è il numero di asterischi, maggiore è la significatività delle stesse.
ELABORAZIONE DI DIVE RSI MODELLI CON RSTUDIO E COMMENTI AGLI
STESSI
Il mio lavoro su RStudio è stato svolto secondo i seguenti step:
1. Elaborazione dei diversi modelli di regressione lineare, partendo dalla stima di un
modello di regressione semplice (che presenta solo la variabile esplicativa 1), fino a
visualizzare tutti i successivi 12 modelli, formati con l’aggiunta di una variabile alla volta
(nell’ordine crescente di presentazione delle stesse, cioè dalla numero 2 fino a giungere
alla numero 13).
2. Individuazione del miglior modello tra i 13 elaborati.
3. Stima di nuovi modelli dal suddetto, attraverso l’eliminazione delle variabili risultati non
molto significative per lo stesso. In questa fase si visualizzano quindi 5 nuovi modelli
rispetto ai precedenti.
4. Individuazione, nuovamente, del miglior modello tra i 13+5=18 modelli elaborati.
5. Stima di ulteriori modelli dal nuovo miglior modello trovato, sempre attraverso
l’eliminazione delle variabili non molto significative dallo stesso. In questa fase ho
elaborato quindi altri 2 modelli.
6. Individuazione del modello migliore tra i 18+2=20 visualizzati. Commenti allo stesso e
paragoni con alcuni altri modelli scelti tra i diversi disponibili.
In appendice: visualizzazione della “Console” di RStudio con tutti i suddetti modelli creati
Considerazioni generali:
A mio parere i 20 modelli stimati sono TUTTI buoni modelli esplicativi, con una discreta
validità.
Presentano tutti un buon adattamento ai dati con 0,8712 ≪ 𝑅2 ≪ 0,925 e 0,8701 ≪ 𝑅2 ≪ 0,9191:
ciò significa che il modello “meno affidabile” è già in grado di spiegare l’87% circa della
variabilità complessiva.
Inoltre l’ipotesi nulla che i coefficienti angolari delle variabili siano tutti congiuntamente uguali
a 0 viene rifiutata SEMPRE poiché il valore del p-value è bassissimo, e si presenta lo stesso in
ogni stima: 𝑝 − 𝑣𝑎𝑙𝑢𝑒 < 2,2 ∗ 10−16 .
Fissando un livello di significatività standard 𝛼 = 0,05, purtroppo i singoli parametri, in ogni
modello, non sono sempre tutti significativamente diversi da 0. Vi sono alcune variabili che
presentano dei p-value superiori ad 𝛼 in ogni modello visualizzato: months, rate, skill, age,
online, trust, look, use. Evidentemente queste variabili, alla luce dei risultati delle analisi, non
6
7. sono buoni predittori della spesa media mensile degli user dei siti di e-commerce selezionati.
Tutte le altre variabili sono invece sempre significative (seppur in alcuni modelli la medesima
variabile si presenti più significativa rispetto che in altri, ad esempio). Ho provato a
visualizzare un modello formato con le sole variabili che presentano parametri significativi 13:
ho ottenuto un coefficiente di determinazione corretto (𝑅2 = 0,9178) che non è il più alto tra i
vari risultanti, quindi in questo modo non si ottiene un modello migliore degli altri 14 ,
nonostante le premesse.
Tra i primi e “più semplici” 13 modelli analizzati, confrontando sempre il coefficiente di
determinazione corretto degli stessi, il migliore risulta essere il “modello.13”: 𝑅 2 = 0,9159 .
Questo modello è stato il punto di partenza per l’elaborazione di tutti i restanti successivi
modelli. I modelli ottenuti come modifiche da questo sono tutti OTTIMI modelli, con valori di 𝑅2
altissimi (𝑅2 ≫ 0,9172) e quindi più che soddisfacenti per stimare e spiegare exp.
Il modello migliore tra tutti i diversi che ho analizzato è il “modello.13.7a”: non è il migliore in
assoluto poiché non ho né le conoscenze teoriche né quelle relative agli strumenti necessari
per analizzare qualsiasi modello potesse essere esplicativo di exp in funzione di una qualsiasi
combinazione delle 13 variabili indipendenti, ma è il modello che alla luce dei risultati del mio
lavoro presenta il maggior valore di 𝑅2 (quindi è migliore relativamente agli altri).
Commenti a “modello.13.7a”:
Questo è l’output della funzione summary(modello.13.7a) da RStudio:
Call:
lm(formula = exp ~ inc + sex + isced + skill + age + habit + conv, data =
dati.tesina)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -29.6643
28.7190 -1.033 0.30343
inc
21.0651
0.8127 25.920 < 2e-16 ***
sex
5.6708
2.1599
2.625 0.00962 **
iscedl4
10.6535
3.3171
3.212 0.00164 **
iscedl6
20.0486
3.0953
6.477 1.47e-09 ***
skillb
9.6071
6.8346
1.406 0.16204
skillc
-0.1149
8.8115 -0.013 0.98961
age
-0.8897
0.6502 -1.368 0.17338
habit
12.6875
2.6476
4.792 4.16e-06 ***
conv
1.9425
0.6372
3.048 0.00275 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.79 on 140 degrees of freedom
Multiple R-squared: 0.924,
Adjusted R-squared: 0.9191
F-statistic: 189.1 on 9 and 140 DF, p-value: < 2.2e-16
In questo modello, per effettuare la regressione della spesa media mensile degli utenti dei siti
di e-commerce selezionati (exp), le variabili esplicative utilizzate sono state: il reddito mensile
in migliaia di euro degli stessi (inc), il sesso dei clienti (sex), il loro grado di istruzione (isced),
l’autovalutazione delle loro capacità di utilizzare internet e le sue applicazioni (skill), l’età del
cliente in anni (age), l’abitudine del cliente di acquistare abitualmente prodotti on-line o meno
(habit), ed infine, una valutazione del cliente sulla convenienza nell’effettuare acquisti on-line
(conv):
13
In appendice è possibile visualizzare l’output del summary di RStudio per il modello in questione, che presenta solo
le variabili con parametri significativi: vedere “modello.13.5”.
14
Vi sono ben 4 modelli che presentano un 𝑅2 maggiore di quello nominato, e 1 modello che presenta il medesimo
valore di 𝑅 2 : in tutto quindi 5 altri modelli (su 19) che hanno 𝑅 2 ≫ 𝑅 2 (𝑚𝑜𝑑𝑒𝑙𝑙𝑜. 13.5).
7
8. 𝐸 EXP = −29,6643 + 21,0651 ∗ INC + 0 ∗ SEX M + 5,6708 ∗ SEX F
+ 0 ∗ ISCED 12 + 10,6535 ∗ ISCED 14 + 20,0486 ∗ ISCED 16
+ 0 ∗ SKILL a + 9,6071 ∗ SKILL b − 0,1149 ∗ SKILL c − 0,8897 ∗ AGE + [0 ∗ HABIT no
+ 12,6875 ∗ HABIT si ] + 1,9425 ∗ CONV
L’intercetta ci dà il valore della variabile risposta quando tutte le variabili esplicative sono
uguali a zero, ma in essa confluiscono anche le modalità base delle variabili qualitative. La
spesa media mensile di un utente è pari a -29,66€ (è negativa!) se l’user in questione ha
reddito mensile pari a zero, è un uomo, possiede un’istruzione di tipo primario, valuta buona la
sua capacità di utilizzare internet e le sue applicazioni, ha età pari a zero anni, non acquista
abitualmente prodotti on-line, esprime una valutazione della convenienza di acquistare online
pari a zero (in una scala da 1 a 10?). Dalla spiegazione appena data è subito chiaro il motivo
per il quale l’intercetta non è un parametro significativo per la stima di exp: ha insiti in sé
alcuni valori delle variabili esplicative che non è possibile possano verificarsi(i quali sarebbero
inc=0, age=0 e conv=0). L’intercetta di questo modello ha un t-value inferiore a 2 (𝑡 − 𝑣𝑎𝑙𝑢𝑒 =
−1. ,033) e un p-value decisamente superiore all’𝛼 prefissato (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0,30343); presenta
inoltre una variabilità (data dall’errore standard) decisamente elevata: la sua devianza è pari a
28,72.
Vi sono altri modelli nei quali l’intercetta ha una devianza decisamente bassa rispetto al suo
valore d’influenza sulla variabile risposta. In questi modelli la sua influenza è confermata dalla
positività ai test di significatività. Prendiamo ad esempio gli output in summary di altri due tra i
modelli analizzati, che saranno in seguito riutilizzati per altri confronti con il modello.13.7a:
o
summary(modello.13.5):
Call:
lm(formula = exp ~ inc + sex + isced + habit + conv, data = dati.tesina)
Coefficients:
Estimate Std. Error t value
(Intercept) -58.4310
4.7902 -12.198
inc
21.0038
0.8181 25.675
sex
4.7767
2.1374
2.235
iscedl4
9.9295
3.3106
2.999
iscedl6
20.0621
3.1030
6.465
habit
12.7245
2.6457
4.810
conv
1.8781
0.6357
2.954
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
< 2e-16
< 2e-16
0.02698
0.00319
1.49e-09
3.79e-06
0.00366
***
***
*
**
***
***
**
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.9 on 143 degrees of freedom
Multiple R-squared: 0.9211,
Adjusted R-squared: 0.9178
F-statistic: 278.2 on 6 and 143 DF, p-value: < 2.2e-16
o
summary(modello.6):
Call:
lm(formula = exp ~ inc + months + rate + sex + isced + skill, data =
dati.tesina)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -45.9414
8.8157 -5.211 6.58e-07
inc
24.8920
13.6863
1.819 0.07109
months
-1.2809
5.4983 -0.233 0.81613
rateb
2.9798
3.1353
0.950 0.34355
ratec
3.7520
2.9730
1.262 0.20904
sex
6.3818
2.4105
2.648 0.00904
iscedl4
8.7952
3.6761
2.393 0.01806
iscedl6
18.8445
3.2545
5.790 4.43e-08
skillb
-0.7043
7.5374 -0.093 0.92568
8
***
.
**
*
***
9. skillc
-11.2852
9.9017 -1.140 0.25635
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 14.29 on 140 degrees of freedom
Multiple R-squared: 0.9052,
Adjusted R-squared: 0.8991
F-statistic: 148.4 on 9 and 140 DF, p-value: < 2.2e-16
Torniamo ora al modello di regressione modello.13.7a per commentare una ad una le variabili
esplicative che lo compongono, come è stato fatto per l’intercetta.
Cosa ci dicono le stime OLS dei parametri del modello?
I parametri del modello sono, inoltre, statisticamente significativi? Confrontiamoli con un solito
livello di significatività 𝛼 = 0,05. 15
o
o
o
o
o
15
Per ogni 1000€ di reddito mensile in più, la spesa media mensile aumenta di
21,07€.
Il parametro è decisamente significativo, poiché la sua statistica t è sicuramente
maggiore in valore assoluto di 2 ( 𝑡 − 𝑣𝑎𝑙𝑢𝑒 = 25,920 ), ha un p-value bassissimo
(𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 2 ∗ 10−16 ): presenta il massimo numero di asterischi (***) che assegna
R.
Se l’utente è di sesso femminile, la spesa tende ad aumentare di circa 5,67€.
Il parametro è significativo, poiché la sua statistica t è maggiore in valore assoluto
di 2 (𝑡 − 𝑣𝑎𝑙𝑢𝑒 = 2,625), ha un basso p-value (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0,00962): l’output di R le
assegna due asterischi (**).
La spesa media mensile tende inoltre ad aumentare all’aumento del grado di
istruzione del cliente: con un’istruzione di tipo secondario la spesa aumenta di
10,65€, con un’istruzione di tipo terziario aumenta invece di 20,05€.
Il parametro isced(14) è abbastanza significativo, poiché la sua statistica t è
anch’essa maggiore in valore assoluto di 2 (𝑡 − 𝑣𝑎𝑙𝑢𝑒 = 3,212) ed ha un p-value basso
( 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0,00962 ): l’output di R le assegna due asterischi (**). Il parametro
isced(16) è, invece, decisamente significativo, poiché la sua statistica t è
sicuramente maggiore in valore assoluto di 2 ( 𝑡 − 𝑣𝑎𝑙𝑢𝑒 = 6,477 ), ha un p-value
bassissimo (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 1,47 ∗ 10−9 ): presenta il massimo numero di asterischi (***)
che assegna R.
Come ci si potrebbe aspettare, se vi è una capacità di utilizzare internet e le sue
applicazioni non buona, ne risente l’e-commerce e quindi la spesa media mensile del
cliente tende ad esserne negativamente influenzata, anche se in maniera lievissima
secondo questo modello: con un’autovalutazione delle capacità definita “nella
media” la spesa aumenta di 9,61€, mentre invece con un’autovalutazione delle
capacità definita “scarsa” la spesa diminuisce di 0,11€.
Come scritto precedentemente, ricordo che la variabile esplicativa skill non risulta
essere significativa in nessun modello analizzato. Il parametro skill(b) non è, quindi,
significativo: la sua statistica t è minore in valore assoluto di 2 (𝑡 − 𝑣𝑎𝑙𝑢𝑒 = 1,406) ed
ha un p-value leggermente alto (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0,16204). Il parametro skill(c) non è,
anch’esso, significativo poiché la sua statistica t è minore in valore assoluto di 2
(𝑡 − 𝑣𝑎𝑙𝑢𝑒 = −0,013) ed ha un p-value decisamente alto (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0,98961).
Per ogni anno in più del cliente, la sua spesa media mensile subisce una lieve
diminuzione pari a -0,89€.
Come scritto precedentemente, ricordo che anche la variabile esplicativa age non
risulta essere significativa in nessun modello analizzato. Il parametro della stessa
Cioè con una probabilità di errore (ovvero di rifiutare l’ipotesi nulla quando questa invece è vera) pari al 5%.
9
10. o
o
non è quindi significativo anche qui: la sua statistica t è minore in valore assoluto di
2 (𝑡 − 𝑣𝑎𝑙𝑢𝑒 = −1,368) ed ha un p-value leggermente alto (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0,17338).
Se il cliente è solito acquistare abitualmente on-line, la sua spesa media mensile
aumenta di 12,69€.
Il parametro è decisamente significativo, poiché la sua statistica t è sicuramente
maggiore in valore assoluto di 2 ( 𝑡 − 𝑣𝑎𝑙𝑢𝑒 = 4,792 ), ha un p-value bassissimo
(𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 4,16 ∗ 10−6 ): presenta il massimo numero di asterischi (***) che assegna
R.
Per ogni incremento unitario nella valutazione del cliente sulla convenienza ad
effettuare acquisti on-line (quindi al crescere della sua percezione di tale
convenienza), la spesa media mensile dello stesso aumenta di 1,94€.
Il parametro è significativo, poiché la sua statistica t è maggiore in valore assoluto
di 2 (𝑡 − 𝑣𝑎𝑙𝑢𝑒 = 3,048), ha un basso p-value (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0,00275): l’output di R le
assegna due asterischi (**).
In generale, è confermata l’ipotesi che tutti i parametri del modello in questione (tranne
l’intercetta, che non rientra nella statistica) sono diversi da zero, e sono nell’insieme
significativi. Ciò è verificabile osservando l’alto valore della statistica F (𝐹 = 189,1), sicuramente
significativo poiché dalle tavole basta che essa sia superiore a valori molti più bassi di F –
compresi tra 1 e 3 -, e il bassissimo valore del corrispondente p-value (𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 2,2 ∗ 10−16 ).
Ecco il motivo per il quale, nonostante la non significatività di alcuni parametri nei loro test t,
ho scelto comunque di lasciare tale variabili esplicative nel modello.
Come già anticipato, questo è il modello che fra tutti ha il maggior coefficiente di
determinazione corretto: 𝑅2 = 0,9159. Anche il valore di 𝑅2 è molto elevato (sebbene non sia il
più alto in assoluto tra i vari modelli visualizzati): la proporzione di variabilità della Y spiegata
dal modello.13.7a è del 92,4%.
Cosa dire degli altri due modelli presentati?
Procedendo con considerazioni analoghe a quelle effettuate per il modello.13.7a, si possono
commentare le stime OLS dei parametri dei due modelli (senza rinominare l’intercetta, che si è
già visto è significativa in entrambi) e la validità generale dei due modelli stessi:
o
modello.6:
Fissato il solito livello di significatività, il modello presenta solamente due variabili
con parametri significativi (sex e isced), le altre 4 variabili esplicative presentano
parametri non significativi (alcuni dei quali, come months e skill(b), con un p-value
veramente elevato). Le variabili che sembrano più influenzare la spesa media
mensile sono il reddito dell’individuo e il suo grado di istruzione: per ogni 1000€ di
reddito mensile in più, la spesa media mensile aumenta di 24,89€, con un’istruzione
di tipo secondario la spesa aumenta di 8,80€, con un’istruzione di tipo terziario
aumenta invece di 18,84€. Il modello ha anch’esso un alto valore della statistica F
( 𝐹 = 148,4 ), e il solito corrispondente bassissimo p-value. La proporzione di
variabilità della Y spiegata dal modello.6 è del 90,52% e ha 𝑅2 = 0,8991.
o
modello.13.5:
Fissato il solito livello di significatività, questo modello è formato da sole variabili
con parametri significativi (alcune delle quali, come inc ed isced, presentano un pvalue straordinariamente basso). Le variabili che sembrano più influenzare la spesa
10
11. media mensile sono, anche qui, il reddito dell’individuo e il suo grado di istruzione:
per ogni 1000€ di reddito mensile in più, la spesa media mensile aumenta di 21€,
con un’istruzione di tipo secondario la spesa aumenta di 9,93€, con un’istruzione di
tipo terziario aumenta invece di 12,72€. Il modello ha anch’esso un alto valore della
statistica F (𝐹 = 278,2), e il solito corrispondente bassissimo p-value (uguale, come
già detto, per ognuno dei 20 modelli). La proporzione di variabilità della Y spiegata
dal modello.13.5 è del 92,11% e ha 𝑅 2 = 0,9178.
Confronto tra “modello.13.7a” e gli altri due modelli selezionati:
modello.13.7a
n° di variabili esplicative
utilizzate nel modello di
regressione
stima corretta
dell’errore standard
residuo ()
n° di variabili esplicative
del modello con
parametri significativi
(% di queste sul totale
dei predittori utilizzati
nel modello)
n° di variabili esplicative
del modello con
parametri non
significativi
(% di queste sul totale
dei predittori utilizzati
nel modello)
predittori più influenti su
Y
valore della statistica F
modello.13.5
modello.6
sette
cinque
sei
(di cui 2 qualitative
politomiche)
(di cui 1 qualitativa
politomica)
(di cui 3 qualitative
politomiche)
12,79
12,9
14,29
(con 140 gdl)
(con 143 gdl)
(con 140 gdl)
Cinque
Cinque
due
(2)
71,43%
100%
33,33%
Due
Zero
quattro
28,57%
0%
66,67%
1. inc: +21,0651
2. isced(16):
+20,0486
3. habit:
+12,6875
189,1
1. inc: +21,0038
2. isced(16):
+20,0621
3. habit:
+12,7245
278,2
1. inc: +24,8920
2. isced(16):
+18,8445
3. skill(c):
-11,2852
148,4
(con 140 gdl e con 9
variabili considerate)
p-value della statistica F
bontà di adattamento
del modello ai dati (R)
coefficiente di
determinazione corretto
(𝑅 2 )
(1)
(con 143 gdl e con 6
variabili considerate)
(con 140 gdl e 9 variabili
considerate)
𝟐, 𝟐 ∗ 𝟏𝟎−𝟏𝟔
𝟐, 𝟐 ∗ 𝟏𝟎−𝟏𝟔
𝟐, 𝟐 ∗ 𝟏𝟎−𝟏𝟔
0,924
0,9211
0,9178
(4)
0,9052
0,9191
(3)
0,8991
(5)
Nella tabella sono riportati in grassetto i valori migliori che emergono per ogni campo, dal
confronto trai i 3 modelli. Di seguito gli ulteriori commenti alla tabella:
(1).
A parità di gradi di libertà, la stima dell’errore standard residuo ( ) del
modello.13.7a si presenta decisamente inferiore rispetto a quella del modello.6.
(2).
Le stime modello.13.7a e modello.13.5, nonostante il numero totale di variabili
che contengono, presentano lo stesso numero di variabili con parametri significativi.
(3).
Si noti come i predittori più influenti nella stima della spesa media mensile siano
nei tre modelli pressappoco sempre gli stessi: il livello di reddito dell’individuo in
questione, il suo livello di istruzione, la sua abitudine ad acquistare o meno on-line.
11
12. (4).
La statistica F del modello.13.5 è sicuramente quella con il valore più alto in
assoluto, tuttavia è degno di nota il confronto tra le statistiche F del modello.13.7a e del
modello.6: a parità di gradi di libertà e di variabili computate nel calcolo si noti come il
valore del primo sia nettamente maggiore rispetto al valore del secondo.
(5).
Nonostante le differenze nelle statistiche F, i tre modelli presentano tutti lo
stesso p-value: si giunge quindi sempre alle medesime considerazioni per tutti e tre.
12
13. APPENDICE
IPERPIANO DI REGRESS IONE CON K=2
A titolo esplicativo, si consideri un modello con due variabili esplicative (𝑘 = 2) e 𝛽0 = 5, 𝛽1 = −2
e 𝛽2 = 1 . In questo caso si ottiene come superficie di regressione un piano di equazione
𝐸 𝑌 = 5 − 2𝑋1 + 𝑋2 collocato in uno spazio tridimensionale. Il piano è mostrato nella seguente
figura.
16
Quando 𝑋1 = 𝑋2 = 0, il valore di 𝐸 𝑌 è pari a 5. Inoltre 𝐸 𝑌 decresce di 2 quando 𝑋1 incrementa
di 1 e 𝑋2 è tenuta costante; similmente, 𝐸 𝑌 incrementa di 1 in corrispondenza di un
incremento unitario di 𝑋2 , tenuta costante 𝑋1 . Si può osservare che per l’i-esima osservazione
la differenza tra il valore della variabile dipendente 𝑦 𝑖 e il suo valore atteso 𝐸 𝑌𝑖 = 5 − 2𝑋 𝑖1 + 𝑋 𝑖2
rappresenta il termine di errore 𝜀1 .
SCRIPT DEL LAVORO ESEGUITO SU RSTUDIO
> #script per caricare il file con i dati
> dati.tesina <- read.csv(file="tesina07.csv")
>
> #procedo alla stima di tutti i modelli possibili, partendo da una variabile
esplicativa e aggiungendone di volta in volta una in più
>
> #stima del modello di regressione lineare (con 1 variabile)
> modello.1 <- lm(exp ~ inc , data = dati.tesina)
> summary(modello.1)
Call:
lm(formula = exp ~ inc, data = dati.tesina)
Residuals:
Min
1Q
-48.463 -10.066
Median
-0.858
3Q
5.331
Max
76.923
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -23.1416
2.5036 -9.243 2.42e-16 ***
inc
20.1181
0.6359 31.638 < 2e-16 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 16.2 on 148 degrees of freedom
Multiple R-squared: 0.8712,
Adjusted R-squared: 0.8703
16
Borra, S., & Di Ciaccio, A. (2004).
13
14. F-statistic:
1001 on 1 and 148 DF,
p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 2 variabili)
> modello.2 <- lm(exp ~ inc + months , data = dati.tesina)
> summary(modello.2)
Call:
lm(formula = exp ~ inc + months, data = dati.tesina)
Residuals:
Min
1Q
-48.901 -9.616
Median
-0.234
3Q
4.904
Max
77.433
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -23.342
2.516 -9.276
<2e-16 ***
inc
33.258
15.198
2.188
0.0302 *
months
-5.277
6.098 -0.865
0.3882
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 16.21 on 147 degrees of freedom
Multiple R-squared: 0.8718,
Adjusted R-squared: 0.8701
F-statistic:
500 on 2 and 147 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 3 variabili)
> modello.3 <- lm(exp ~ inc + months + rate ,data = dati.tesina)
> summary(modello.3)
Call:
lm(formula = exp ~ inc + months + rate, data = dati.tesina)
Residuals:
Min
1Q
-47.274 -9.100
Median
-1.065
3Q
4.305
Max
79.789
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -27.864
3.584 -7.775 1.28e-12 ***
inc
33.353
15.120
2.206
0.0290 *
months
-5.170
6.067 -0.852
0.3955
rateb
2.871
3.510
0.818
0.4147
ratec
6.038
3.233
1.868
0.0638 .
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 16.13 on 145 degrees of freedom
Multiple R-squared: 0.8749,
Adjusted R-squared: 0.8714
F-statistic: 253.5 on 4 and 145 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 4 variabili)
> modello.4 <- lm(exp ~ inc + months + rate + sex , data = dati.tesina)
> summary(modello.4)
Call:
lm(formula = exp ~ inc + months + rate + sex, data = dati.tesina)
Residuals:
Min
1Q
-44.578 -8.528
Median
-1.153
3Q
6.128
Max
77.379
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -30.399
3.778 -8.046 2.89e-13 ***
inc
34.826
14.994
2.323
0.0216 *
months
-5.774
6.016 -0.960
0.3388
rateb
2.974
3.477
0.855
0.3937
ratec
5.567
3.211
1.733
0.0852 .
14
15. sex
5.155
2.633
1.958
0.0522 .
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 15.97 on 144 degrees of freedom
Multiple R-squared: 0.8781,
Adjusted R-squared: 0.8739
F-statistic: 207.5 on 5 and 144 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 5 variabili)
> modello.5 <- lm(exp ~ inc + months + rate + sex + isced , data = dati.tesina)
> summary(modello.5)
Call:
lm(formula = exp ~ inc + months + rate + sex + isced, data = dati.tesina)
Residuals:
Min
1Q
-46.025 -6.534
Median
-1.200
3Q
4.652
Max
66.068
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -46.235
4.547 -10.168 < 2e-16 ***
inc
26.069
13.671
1.907
0.0586 .
months
-1.786
5.491 -0.325
0.7454
rateb
2.599
3.119
0.833
0.4062
ratec
3.396
2.916
1.165
0.2461
sex
6.086
2.365
2.573
0.0111 *
iscedl4
8.173
3.651
2.239
0.0267 *
iscedl6
18.955
3.236
5.857 3.13e-08 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 14.32 on 142 degrees of freedom
Multiple R-squared: 0.9034,
Adjusted R-squared: 0.8987
F-statistic: 189.8 on 7 and 142 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 6 variabili)
> modello.6 <- lm(exp ~ inc + months + rate + sex + isced + skill , data =
dati.tesina)
> summary(modello.6)
Call:
lm(formula = exp ~ inc + months + rate + sex + isced + skill,
data = dati.tesina)
Residuals:
Min
1Q
-46.117 -7.120
Median
-1.354
3Q
4.855
Max
65.771
Coefficients:
Estimate Std. Error t value
(Intercept) -45.9414
8.8157 -5.211
inc
24.8920
13.6863
1.819
months
-1.2809
5.4983 -0.233
rateb
2.9798
3.1353
0.950
ratec
3.7520
2.9730
1.262
sex
6.3818
2.4105
2.648
iscedl4
8.7952
3.6761
2.393
iscedl6
18.8445
3.2545
5.790
skillb
-0.7043
7.5374 -0.093
skillc
-11.2852
9.9017 -1.140
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
6.58e-07
0.07109
0.81613
0.34355
0.20904
0.00904
0.01806
4.43e-08
0.92568
0.25635
***
.
**
*
***
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 14.29 on 140 degrees of freedom
Multiple R-squared: 0.9052,
Adjusted R-squared: 0.8991
F-statistic: 148.4 on 9 and 140 DF, p-value: < 2.2e-16
>
15
16. >
>
=
>
#stima del modello di regressione lineare (con 7 variabili)
modello.7 <- lm(exp ~ inc + months + rate + sex + isced + skill + age , data
dati.tesina)
summary(modello.7)
Call:
lm(formula = exp ~ inc + months + rate + sex + isced + skill +
age, data = dati.tesina)
Residuals:
Min
1Q
-44.343 -7.172
Median
-1.311
3Q
5.490
Max
67.412
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.3310
32.5855 -0.102 0.91873
inc
25.8649
13.6640
1.893 0.06045 .
months
-1.6732
5.4894 -0.305 0.76097
rateb
1.8912
3.2270
0.586 0.55880
ratec
2.9132
3.0278
0.962 0.33763
sex
6.6448
2.4110
2.756 0.00664 **
iscedl4
8.7257
3.6654
2.381 0.01864 *
iscedl6
18.6604
3.2475
5.746 5.54e-08 ***
skillb
1.8131
7.7401
0.234 0.81513
skillc
-9.4663
9.9624 -0.950 0.34366
age
-1.0174
0.7492 -1.358 0.17667
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 14.25 on 139 degrees of freedom
Multiple R-squared: 0.9064,
Adjusted R-squared: 0.8997
F-statistic: 134.6 on 10 and 139 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 8 variabili)
> modello.8 <- lm(exp ~ inc + months + rate + sex + isced + skill + age + habit
,data = dati.tesina)
> summary(modello.8)
Call:
lm(formula = exp ~ inc + months + rate + sex + isced + skill +
age + habit, data = dati.tesina)
Residuals:
Min
1Q
-44.163 -6.862
Median
-1.640
3Q
5.999
Max
59.504
Coefficients:
Estimate Std. Error t value
(Intercept) -29.8358
30.8772 -0.966
inc
26.9609
12.7325
2.117
months
-1.6645
5.1143 -0.325
rateb
2.0913
3.0068
0.696
ratec
1.6091
2.8345
0.568
sex
5.4712
2.2601
2.421
iscedl4
11.2593
3.4571
3.257
iscedl6
22.3644
3.1264
7.153
skillb
6.0146
7.2663
0.828
skillc
-3.9118
9.3565 -0.418
age
-0.8444
0.6990 -1.208
habit
13.0140
2.7660
4.705
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
0.33560
0.03601
0.74533
0.48790
0.57117
0.01679
0.00142
4.53e-11
0.40925
0.67654
0.22912
6.10e-06
*
*
**
***
***
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.27 on 138 degrees of freedom
Multiple R-squared: 0.9193,
Adjusted R-squared: 0.9129
F-statistic:
143 on 11 and 138 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 9 variabili)
16
17. > modello.9 <- lm(exp ~ inc + months + rate + sex + isced + skill + age + habit
+ online , data = dati.tesina)
> summary(modello.9)
Call:
lm(formula = exp ~ inc + months + rate + sex + isced + skill +
age + habit + online, data = dati.tesina)
Residuals:
Min
1Q
-44.097 -6.889
Median
-1.610
3Q
5.918
Max
59.586
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.987e+01 3.101e+01 -0.964 0.33699
inc
2.694e+01 1.279e+01
2.107 0.03696 *
months
-1.658e+00 5.136e+00 -0.323 0.74736
rateb
2.109e+00 3.054e+00
0.691 0.49097
ratec
1.618e+00 2.854e+00
0.567 0.57172
sex
5.451e+00 2.330e+00
2.340 0.02075 *
iscedl4
1.127e+01 3.484e+00
3.235 0.00152 **
iscedl6
2.237e+01 3.143e+00
7.118 5.59e-11 ***
skillb
6.001e+00 7.301e+00
0.822 0.41254
skillc
-3.899e+00 9.397e+00 -0.415 0.67886
age
-8.413e-01 7.060e-01 -1.192 0.23545
habit
1.302e+01 2.777e+00
4.687 6.62e-06 ***
online
-4.585e-04 1.198e-02 -0.038 0.96952
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.32 on 137 degrees of freedom
Multiple R-squared: 0.9193,
Adjusted R-squared: 0.9123
F-statistic: 130.1 on 12 and 137 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con 10 variabili)
> modello.10 <- lm(exp ~ inc + months + rate + sex + isced + skill + age +
habit + online + trust , data = dati.tesina)
> summary(modello.10)
Call:
lm(formula = exp ~ inc + months + rate + sex + isced + skill +
age + habit + online + trust, data = dati.tesina)
Residuals:
Min
1Q
-42.861 -6.887
Median
-2.206
3Q
5.226
Max
59.918
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.091e+01 3.109e+01 -0.994 0.32176
inc
2.618e+01 1.285e+01
2.037 0.04358 *
months
-1.527e+00 5.147e+00 -0.297 0.76714
rateb
2.390e+00 3.082e+00
0.776 0.43936
ratec
1.744e+00 2.863e+00
0.609 0.54357
sex
5.305e+00 2.341e+00
2.266 0.02506 *
iscedl4
1.119e+01 3.491e+00
3.206 0.00168 **
iscedl6
2.224e+01 3.153e+00
7.053 8.06e-11 ***
skillb
5.905e+00 7.314e+00
0.807 0.42085
skillc
-4.119e+00 9.416e+00 -0.437 0.66248
age
-8.264e-01 7.074e-01 -1.168 0.24472
habit
1.255e+01 2.851e+00
4.400 2.17e-05 ***
online
-9.761e-04 1.201e-02 -0.081 0.93537
trust
4.594e-01 6.099e-01
0.753 0.45257
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.34 on 136 degrees of freedom
Multiple R-squared: 0.9197,
Adjusted R-squared: 0.912
F-statistic: 119.8 on 13 and 136 DF, p-value: < 2.2e-16
17
19. Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.34 on 134 degrees of freedom
Multiple R-squared: 0.9209,
Adjusted R-squared: 0.912
F-statistic: 103.9 on 15 and 134 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (con TUTTE e 13 le variabili)
> modello.13 <- lm(exp ~ inc + months + rate + sex + isced + skill + age +
habit + online + trust + look + use + conv, data = dati.tesina)
> summary(modello.13)
Call:
lm(formula = exp ~ inc + months + rate + sex + isced + skill +
age + habit + online + trust + look + use + conv, data = dati.tesina)
Residuals:
Min
1Q
-42.483 -6.735
Median
-1.234
3Q
4.534
Max
64.543
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -37.851686 30.480993 -1.242 0.21649
inc
19.532099 12.763721
1.530 0.12832
months
0.441404
5.080920
0.087 0.93090
rateb
2.879072
3.020681
0.953 0.34226
ratec
1.883891
2.798832
0.673 0.50205
sex
5.635173
2.294077
2.456 0.01532 *
iscedl4
10.067020
3.510833
2.867 0.00481 **
iscedl6
19.475655
3.308439
5.887 3.04e-08 ***
skillb
9.555268
7.617459
1.254 0.21190
skillc
-0.893339
9.464023 -0.094 0.92494
age
-0.744555
0.696119 -1.070 0.28675
habit
12.125682
2.811239
4.313 3.11e-05 ***
online
0.000408
0.011757
0.035 0.97237
trust
0.037595
0.661609
0.057 0.95477
look
0.435426
0.644324
0.676 0.50035
use
0.187207
0.650064
0.288 0.77381
conv
1.865201
0.690609
2.701 0.00782 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.04 on 133 degrees of freedom
Multiple R-squared: 0.925,
Adjusted R-squared: 0.9159
F-statistic: 102.5 on 16 and 133 DF,
p-value: < 2.2e-16
> #il modello.13 risulta il più significativo: di seguito apporto delle
modifiche sullo stesso con il fine di trovare un modello ancora migliore usando
il modello.13 come punto di partenza
>
> #stima del modello di regressione lineare (togliendo le 4 meno
significative)
> modello.13.9 <- lm(exp ~ inc + rate + sex + isced + skill + age + habit +
look + conv, data = dati.tesina)
> summary(modello.13.9)
Call:
lm(formula = exp ~ inc + rate + sex + isced + skill + age + habit +
look + conv, data = dati.tesina)
Residuals:
Min
1Q
-43.110 -6.424
Median
-1.098
3Q
4.155
Max
64.663
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -37.5577
29.9806 -1.253 0.21244
inc
20.7613
0.9114 22.780 < 2e-16 ***
rateb
2.8962
2.9204
0.992 0.32308
19
20. ratec
1.8817
2.7460
0.685 0.49435
sex
5.6364
2.1871
2.577 0.01102 *
iscedl4
10.3177
3.3540
3.076 0.00253 **
iscedl6
19.7312
3.1375
6.289 4.00e-09 ***
skillb
10.0337
7.3140
1.372 0.17235
skillc
-0.3716
9.1742 -0.041 0.96775
age
-0.7598
0.6788 -1.119 0.26494
habit
12.2517
2.7227
4.500 1.44e-05 ***
look
0.4847
0.5728
0.846 0.39888
conv
1.9181
0.6473
2.963 0.00359 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.85 on 137 degrees of freedom
Multiple R-squared: 0.9249,
Adjusted R-squared: 0.9183
F-statistic: 140.6 on 12 and 137 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (togliendo le 4 meno
significative, meno look)
> modello.13.8 <- lm(exp ~ inc + rate + sex + isced + skill + age + habit +
conv, data = dati.tesina)
> summary(modello.13.8)
Call:
lm(formula = exp ~ inc + rate + sex + isced + skill + age + habit +
conv, data = dati.tesina)
Residuals:
Min
1Q
-43.375 -6.714
Median
-1.422
3Q
4.882
Max
66.053
Coefficients:
Estimate Std. Error t value
(Intercept) -37.6221
29.9496 -1.256
inc
21.0922
0.8224 25.647
rateb
2.8034
2.9153
0.962
ratec
1.8384
2.7427
0.670
sex
5.5900
2.1842
2.559
iscedl4
10.5753
3.3367
3.169
iscedl6
19.8402
3.1316
6.335
skillb
8.4466
7.0622
1.196
skillc
-1.5572
9.0573 -0.172
age
-0.7171
0.6762 -1.060
habit
12.6537
2.6782
4.725
conv
1.9870
0.6415
3.097
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
0.21117
< 2e-16
0.33792
0.50378
0.01156
0.00188
3.12e-09
0.23373
0.86375
0.29081
5.61e-06
0.00237
***
*
**
***
***
**
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.84 on 138 degrees of freedom
Multiple R-squared: 0.9245,
Adjusted R-squared: 0.9185
F-statistic: 153.7 on 11 and 138 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (togliendo le 4 meno
significative, meno look e rate)
> modello.13.7a <- lm(exp ~ inc + sex + isced + skill + age + habit + conv,
data = dati.tesina)
> summary(modello.13.7a)
Call:
lm(formula = exp ~ inc + sex + isced + skill + age + habit +
conv, data = dati.tesina)
Residuals:
Min
1Q
-44.108 -6.778
Median
-1.354
3Q
4.318
Max
64.848
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -29.6643
28.7190 -1.033 0.30343
20
21. inc
21.0651
0.8127 25.920 < 2e-16 ***
sex
5.6708
2.1599
2.625 0.00962 **
iscedl4
10.6535
3.3171
3.212 0.00164 **
iscedl6
20.0486
3.0953
6.477 1.47e-09 ***
skillb
9.6071
6.8346
1.406 0.16204
skillc
-0.1149
8.8115 -0.013 0.98961
age
-0.8897
0.6502 -1.368 0.17338
habit
12.6875
2.6476
4.792 4.16e-06 ***
conv
1.9425
0.6372
3.048 0.00275 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.79 on 140 degrees of freedom
Multiple R-squared: 0.924,
Adjusted R-squared: 0.9191
F-statistic: 189.1 on 9 and 140 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (togliendo le 4 meno significative
DI PRIMA, PIù RATE E SKILL)
> modello.13.7b <- lm(exp ~ inc + sex + isced + age + habit + look + conv, data
= dati.tesina)
> summary(modello.13.7b)
Call:
lm(formula = exp ~ inc + sex + isced + age + habit + look + conv,
data = dati.tesina)
Residuals:
Min
1Q
-43.953 -6.858
Median
-1.004
3Q
4.963
Max
64.659
Coefficients:
Estimate Std. Error t value
(Intercept) -30.1368
28.8541 -1.044
inc
20.9131
0.9036 23.143
sex
4.8352
2.1463
2.253
iscedl4
9.6313
3.3482
2.877
iscedl6
19.7912
3.1259
6.331
age
-0.6410
0.6443 -0.995
habit
12.3637
2.7128
4.558
look
0.1739
0.5542
0.314
conv
1.8061
0.6472
2.791
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
0.29806
< 2e-16
0.02582
0.00464
3.04e-09
0.32151
1.11e-05
0.75413
0.00599
***
*
**
***
***
**
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.94 on 141 degrees of freedom
Multiple R-squared: 0.9217,
Adjusted R-squared: 0.9172
F-statistic: 207.4 on 8 and 141 DF, p-value: < 2.2e-16
>
> #stima del modello di regressione lineare (togliendo TUTTE le restanti non
significative)
> modello.13.5 <- lm(exp ~ inc + sex + isced + habit + conv, data =
dati.tesina)
> summary(modello.13.5)
Call:
lm(formula = exp ~ inc + sex + isced + habit + conv, data = dati.tesina)
Residuals:
Min
1Q
-45.520 -6.576
Median
-1.311
3Q
4.982
Max
63.701
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -58.4310
4.7902 -12.198 < 2e-16 ***
inc
21.0038
0.8181 25.675 < 2e-16 ***
sex
4.7767
2.1374
2.235 0.02698 *
iscedl4
9.9295
3.3106
2.999 0.00319 **
iscedl6
20.0621
3.1030
6.465 1.49e-09 ***
habit
12.7245
2.6457
4.810 3.79e-06 ***
21
22. conv
1.8781
0.6357
2.954 0.00366 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.9 on 143 degrees of freedom
Multiple R-squared: 0.9211,
Adjusted R-squared: 0.9178
F-statistic: 278.2 on 6 and 143 DF, p-value: < 2.2e-16
> #il più significativo sembra essere ora il modello.13.7a: apporto ultime
modeifiche allo stesso con il fine di trovare un modello ancor meglio
esplicativo
>
> #come prima ma togliendo skill
> modello.13.7a.skill <- lm(exp ~ inc + sex + isced + age + habit + conv, data
= dati.tesina)
> summary(modello.13.7a.skill)
Call:
lm(formula = exp ~ inc + sex + isced + age + habit + conv, data = dati.tesina)
Residuals:
Min
1Q
-44.037 -6.908
Median
-1.146
3Q
4.793
Max
65.159
Coefficients:
Estimate Std. Error t value
(Intercept) -30.3956
28.7506 -1.057
inc
21.0314
0.8186 25.692
sex
4.8513
2.1389
2.268
iscedl4
9.7511
3.3157
2.941
iscedl6
19.8471
3.1109
6.380
age
-0.6348
0.6419 -0.989
habit
12.5279
2.6533
4.722
conv
1.8382
0.6370
2.886
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
0.29221
< 2e-16
0.02483
0.00382
2.34e-09
0.32437
5.56e-06
0.00452
***
*
**
***
***
**
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.9 on 142 degrees of freedom
Multiple R-squared: 0.9216,
Adjusted R-squared: 0.9178
F-statistic: 238.6 on 7 and 142 DF, p-value: < 2.2e-16
>
>
>
=
>
#come prima ma togliendo age
modello.13.7a.age <- lm(exp ~ inc + sex + isced + skill + habit + conv, data
dati.tesina)
summary(modello.13.7a.age)
Call:
lm(formula = exp ~ inc + sex + isced + skill + habit + conv,
data = dati.tesina)
Residuals:
Min
1Q
-46.102 -6.434
Median
-1.410
3Q
4.797
Max
62.926
Coefficients:
Estimate Std. Error t value
(Intercept) -67.0769
8.8179 -7.607
inc
21.0271
0.8147 25.809
sex
5.4587
2.1610
2.526
iscedl4
10.7857
3.3259
3.243
iscedl6
20.2892
3.0998
6.545
skillb
7.8980
6.7403
1.172
skillc
-1.0177
8.8139 -0.115
habit
12.9028
2.6511
4.867
conv
1.9765
0.6387
3.094
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
3.62e-12
< 2e-16
0.01264
0.00148
1.02e-09
0.24327
0.90824
3.00e-06
0.00238
***
***
*
**
***
***
**
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.83 on 141 degrees of freedom
22
23. Multiple R-squared: 0.923,
Adjusted R-squared: 0.9186
F-statistic: 211.2 on 8 and 141 DF, p-value: < 2.2e-16
>
> #come prima ma togliendo skill e age
> #il modello che si ottiene così equivale quindi al modello.13.5, è lo stesso
> modello.13.7a.ageskill <- lm(exp ~ inc + sex + isced + habit + conv, data =
dati.tesina)
> summary(modello.13.7a.ageskill)
Call:
lm(formula = exp ~ inc + sex + isced + habit + conv, data = dati.tesina)
Residuals:
Min
1Q
-45.520 -6.576
Median
-1.311
3Q
4.982
Max
63.701
Coefficients:
Estimate Std. Error t value
(Intercept) -58.4310
4.7902 -12.198
inc
21.0038
0.8181 25.675
sex
4.7767
2.1374
2.235
iscedl4
9.9295
3.3106
2.999
iscedl6
20.0621
3.1030
6.465
habit
12.7245
2.6457
4.810
conv
1.8781
0.6357
2.954
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
Pr(>|t|)
< 2e-16
< 2e-16
0.02698
0.00319
1.49e-09
3.79e-06
0.00366
***
***
*
**
***
***
**
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.9 on 143 degrees of freedom
Multiple R-squared: 0.9211,
Adjusted R-squared: 0.9178
F-statistic: 278.2 on 6 and 143 DF, p-value: < 2.2e-16
>
> #il modello migliore sembra essere, tra quelli visualizzati, il modello.13.7a
RIFERIMENTI
Borra, S., & Di Ciaccio, A. (2004). Statistica. Metodologie per le scienze economiche e
sociali. McGraw-Hill, Milano.
Capitolo 19 del suddetto, consultabile all’indirizzo www.ateneonline.it/borra2e.
Freund, R.J., & Wilson, W.J. (2000). Metodi Statistici. Piccin Nuova Libraria, Padova.
Dispense del corso stesso di Metodologie Avanzate e Nuove Tecnologie per il Marketing.
23