23
qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfgh jklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmrtyuiopasdfgh Corso di “Metodologie Avanzate e Nuove Tecnologie per il Marketing” 2012/2013 23/05/2013 Loredana Liverani 640641

Applicazione su “RStudio” del modello di regressione lineare

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Applicazione su “RStudio” del modello di regressione lineare

qwertyuiopasdfghjklzxcvbnmqw

ertyuiopasdfghjklzxcvbnmqwert

yuiopasdfghjklzxcvbnmqwertyui

opasdfghjklzxcvbnmqwertyuiop

asdfghjklzxcvbnmqwertyuiopas

dfghjklzxcvbnmqwertyuiopasdf

ghjklzxcvbnmqwertyuiopasdfgh

jklzxcvbnmqwertyuiopasdfghjkl

zxcvbnmqwertyuiopasdfghjklzx

cvbnmqwertyuiopasdfghjklzxcv

bnmqwertyuiopasdfghjklzxcvbn

mqwertyuiopasdfghjklzxcvbnm

qwertyuiopasdfghjklzxcvbnmqw

ertyuiopasdfghjklzxcvbnmqwert

yuiopasdfghjklzxcvbnmqwertyui

opasdfghjklzxcvbnmqwertyuiop

asdfghjklzxcvbnmrtyuiopasdfgh

Corso di “Metodologie Avanzate e Nuove Tecnologie per il Marketing” 2012/2013

23/05/2013

Loredana Liverani 640641

Page 2: Applicazione su “RStudio” del modello di regressione lineare

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

Page 3: Applicazione su “RStudio” del modello di regressione lineare

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 variabili2 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.

Page 4: Applicazione su “RStudio” del modello di regressione lineare

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 statistico5 . 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). 4 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).

Page 5: Applicazione su “RStudio” del modello di regressione lineare

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).

Page 6: Applicazione su “RStudio” del modello di regressione lineare

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 p-

value, 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 DIVERSI 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

Page 7: Applicazione su “RStudio” del modello di regressione lineare

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 significativi13:

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).

Page 8: Applicazione su “RStudio” del modello di regressione lineare

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 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 *** 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

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

Page 9: Applicazione su “RStudio” del modello di regressione lineare

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 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.

o 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 (**).

o 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.

o 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).

o 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

15 Cioè con una probabilità di errore (ovvero di rifiutare l’ipotesi nulla quando questa invece è vera) pari al 5%.

Page 10: Applicazione su “RStudio” del modello di regressione lineare

10

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).

o 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.

o 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 p-

value straordinariamente basso). Le variabili che sembrano più influenzare la spesa

Page 11: Applicazione su “RStudio” del modello di regressione lineare

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 modello.13.5 modello.6

n° di variabili esplicative

utilizzate nel modello di

regressione

sette (di cui 2 qualitative

politomiche)

cinque (di cui 1 qualitativa

politomica)

sei (di cui 3 qualitative

politomiche)

stima corretta

dell’errore standard

residuo ()

12,79 (con 140 gdl)

12,9 (con 143 gdl)

14,29 (con 140 gdl)

(1)

n° di variabili esplicative

del modello con

parametri significativi

Cinque Cinque due

(2)

(% di queste sul totale

dei predittori utilizzati

nel modello)

71,43%

100%

33,33%

n° di variabili esplicative

del modello con

parametri non

significativi

Due

Zero

quattro

(% di queste sul totale

dei predittori utilizzati

nel modello)

28,57%

0%

66,67%

predittori più influenti su

Y 1. inc: +21,0651

2. isced(16):

+20,0486 3. habit:

+12,6875

1. inc: +21,0038

2. isced(16):

+20,0621 3. habit:

+12,7245

1. inc: +24,8920

2. isced(16):

+18,8445 3. skill(c):

-11,2852

(3)

valore della statistica F 189,1 (con 140 gdl e con 9

variabili considerate)

278,2 (con 143 gdl e con 6

variabili considerate)

148,4 (con 140 gdl e 9 variabili

considerate)

(4)

p-value della statistica F 𝟐, 𝟐 ∗ 𝟏𝟎−𝟏𝟔 𝟐, 𝟐 ∗ 𝟏𝟎−𝟏𝟔 𝟐, 𝟐 ∗ 𝟏𝟎−𝟏𝟔 (5)

bontà di adattamento

del modello ai dati (R) 0,924 0,9211 0,9052

coefficiente di

determinazione corretto

(𝑅 2)

0,9191 0,9178 0,8991

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.

Page 12: Applicazione su “RStudio” del modello di regressione lineare

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.

Page 13: Applicazione su “RStudio” del modello di regressione lineare

13

APPENDICE

IPERPIANO DI REGRESSIONE 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 Median 3Q Max -48.463 -10.066 -0.858 5.331 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).

Page 14: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -48.901 -9.616 -0.234 4.904 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 Median 3Q Max -47.274 -9.100 -1.065 4.305 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 Median 3Q Max -44.578 -8.528 -1.153 6.128 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 .

Page 15: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -46.025 -6.534 -1.200 4.652 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 Median 3Q Max -46.117 -7.120 -1.354 4.855 65.771 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 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 >

Page 16: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -44.343 -7.172 -1.311 5.490 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 Median 3Q Max -44.163 -6.862 -1.640 5.999 59.504 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -29.8358 30.8772 -0.966 0.33560 inc 26.9609 12.7325 2.117 0.03601 * months -1.6645 5.1143 -0.325 0.74533 rateb 2.0913 3.0068 0.696 0.48790 ratec 1.6091 2.8345 0.568 0.57117 sex 5.4712 2.2601 2.421 0.01679 * iscedl4 11.2593 3.4571 3.257 0.00142 ** iscedl6 22.3644 3.1264 7.153 4.53e-11 *** skillb 6.0146 7.2663 0.828 0.40925 skillc -3.9118 9.3565 -0.418 0.67654 age -0.8444 0.6990 -1.208 0.22912 habit 13.0140 2.7660 4.705 6.10e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 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)

Page 17: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -44.097 -6.889 -1.610 5.918 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 Median 3Q Max -42.861 -6.887 -2.206 5.226 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

Page 18: Applicazione su “RStudio” del modello di regressione lineare

18

> > #stima del modello di regressione lineare (con 11 variabili) > modello.11 <- lm(exp ~ inc + months + rate + sex + isced + skill + age + habit + online + trust + look , data = dati.tesina) > summary(modello.11) Call: lm(formula = exp ~ inc + months + rate + sex + isced + skill + age + habit + online + trust + look, data = dati.tesina) Residuals: Min 1Q Median 3Q Max -43.121 -7.084 -2.067 5.410 58.204 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -3.066e+01 3.110e+01 -0.986 0.32596 inc 2.492e+01 1.293e+01 1.928 0.05598 . months -1.119e+00 5.168e+00 -0.217 0.82887 rateb 2.384e+00 3.083e+00 0.773 0.44083 ratec 1.737e+00 2.865e+00 0.606 0.54523 sex 5.446e+00 2.348e+00 2.320 0.02185 * iscedl4 1.086e+01 3.511e+00 3.092 0.00242 ** iscedl6 2.208e+01 3.159e+00 6.990 1.15e-10 *** skillb 8.008e+00 7.658e+00 1.046 0.29757 skillc -2.483e+00 9.583e+00 -0.259 0.79596 age -8.805e-01 7.101e-01 -1.240 0.21715 habit 1.229e+01 2.866e+00 4.288 3.41e-05 *** online -5.594e-04 1.203e-02 -0.047 0.96297 trust 2.043e-01 6.689e-01 0.306 0.76045 look 6.049e-01 6.497e-01 0.931 0.35349 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 13.35 on 135 degrees of freedom Multiple R-squared: 0.9202, Adjusted R-squared: 0.9119 F-statistic: 111.2 on 14 and 135 DF, p-value: < 2.2e-16 > > #stima del modello di regressione lineare (con 12 variabili) > modello.12 <- lm(exp ~ inc + months + rate + sex + isced + skill + age + habit + online + trust + look + use , data = dati.tesina) > summary(modello.12) Call: lm(formula = exp ~ inc + months + rate + sex + isced + skill + age + habit + online + trust + look + use, data = dati.tesina) Residuals: Min 1Q Median 3Q Max -41.465 -6.119 -1.805 5.624 58.648 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -3.177e+01 3.110e+01 -1.021 0.30888 inc 2.444e+01 1.293e+01 1.890 0.06088 . months -1.112e+00 5.165e+00 -0.215 0.82991 rateb 2.293e+00 3.083e+00 0.744 0.45829 ratec 1.733e+00 2.863e+00 0.605 0.54615 sex 5.492e+00 2.347e+00 2.340 0.02074 * iscedl4 1.004e+01 3.592e+00 2.794 0.00596 ** iscedl6 2.091e+01 3.341e+00 6.260 4.85e-09 *** skillb 6.872e+00 7.728e+00 0.889 0.37546 skillc -3.558e+00 9.631e+00 -0.369 0.71242 age -8.252e-01 7.116e-01 -1.160 0.24826 habit 1.201e+01 2.876e+00 4.177 5.30e-05 *** online -6.653e-04 1.202e-02 -0.055 0.95595 trust 9.262e-02 6.766e-01 0.137 0.89134 look 4.848e-01 6.590e-01 0.736 0.46319 use 6.814e-01 6.383e-01 1.068 0.28763 ---

Page 19: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -42.483 -6.735 -1.234 4.534 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 Median 3Q Max -43.110 -6.424 -1.098 4.155 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

Page 20: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -43.375 -6.714 -1.422 4.882 66.053 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -37.6221 29.9496 -1.256 0.21117 inc 21.0922 0.8224 25.647 < 2e-16 *** rateb 2.8034 2.9153 0.962 0.33792 ratec 1.8384 2.7427 0.670 0.50378 sex 5.5900 2.1842 2.559 0.01156 * iscedl4 10.5753 3.3367 3.169 0.00188 ** iscedl6 19.8402 3.1316 6.335 3.12e-09 *** skillb 8.4466 7.0622 1.196 0.23373 skillc -1.5572 9.0573 -0.172 0.86375 age -0.7171 0.6762 -1.060 0.29081 habit 12.6537 2.6782 4.725 5.61e-06 *** conv 1.9870 0.6415 3.097 0.00237 ** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 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 Median 3Q Max -44.108 -6.778 -1.354 4.318 64.848 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -29.6643 28.7190 -1.033 0.30343

Page 21: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -43.953 -6.858 -1.004 4.963 64.659 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -30.1368 28.8541 -1.044 0.29806 inc 20.9131 0.9036 23.143 < 2e-16 *** sex 4.8352 2.1463 2.253 0.02582 * iscedl4 9.6313 3.3482 2.877 0.00464 ** iscedl6 19.7912 3.1259 6.331 3.04e-09 *** age -0.6410 0.6443 -0.995 0.32151 habit 12.3637 2.7128 4.558 1.11e-05 *** look 0.1739 0.5542 0.314 0.75413 conv 1.8061 0.6472 2.791 0.00599 ** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 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 Median 3Q Max -45.520 -6.576 -1.311 4.982 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 ***

Page 22: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -44.037 -6.908 -1.146 4.793 65.159 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -30.3956 28.7506 -1.057 0.29221 inc 21.0314 0.8186 25.692 < 2e-16 *** sex 4.8513 2.1389 2.268 0.02483 * iscedl4 9.7511 3.3157 2.941 0.00382 ** iscedl6 19.8471 3.1109 6.380 2.34e-09 *** age -0.6348 0.6419 -0.989 0.32437 habit 12.5279 2.6533 4.722 5.56e-06 *** conv 1.8382 0.6370 2.886 0.00452 ** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 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 Median 3Q Max -46.102 -6.434 -1.410 4.797 62.926 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -67.0769 8.8179 -7.607 3.62e-12 *** inc 21.0271 0.8147 25.809 < 2e-16 *** sex 5.4587 2.1610 2.526 0.01264 * iscedl4 10.7857 3.3259 3.243 0.00148 ** iscedl6 20.2892 3.0998 6.545 1.02e-09 *** skillb 7.8980 6.7403 1.172 0.24327 skillc -1.0177 8.8139 -0.115 0.90824 habit 12.9028 2.6511 4.867 3.00e-06 *** conv 1.9765 0.6387 3.094 0.00238 ** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 12.83 on 141 degrees of freedom

Page 23: Applicazione su “RStudio” del modello di regressione lineare

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 Median 3Q Max -45.520 -6.576 -1.311 4.982 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 *** 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 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.