UNIVERSITÀ CA FOSCARI DI VENEZIA FACOLTÀ DI ECONOMIA Statistica Computazionale I Prof. Stefano Tonellato COGNOME.................................... NOME.................................... MATRICOLA.................................... NOME FILE.................................... Fac-simile prova di esame Esercizio Nel file ammoniaca.dat sono riportati i dati relativi a 21 giorni di attività di un impianto utilizzato per l ossidazione dell ammoniaca in una fase della produzione di acido nitrico. Le variabili considerate sono: X 1, flusso d aria nell impianto; X 2, temperatura dell acqua (in gradi centigradi) utilizzata per il raffreddamento; X 3, concentrazione percentuale di acidi; Y, percentuale di ammoniaca persa in questa fase del processo produttivo. 1. Utilizzando i dati a disposizione, stimare il modello di regressione Y i = β 0 + β 1 X 1,i + β 2 X 2,i + β 3 X 3,i + ε i ; 2. Analizzare i residui e valutare la bontà di adattamento del modello. 3. Esistono delle variabili che possano essere escluse dal modello? Se sì indicare quali esse siano spiegando il metodo seguito e le assunzioni sulle quali esso si fonda. 4. Come deve essere interpretato il parametro β 2 nel modello considerato? 5. Proporre ed applicare un test che consenta di accertare, ad un livello di significatività pari a 0.01, se nessun regressore sia in grado di influenzare il valore atteso di Y. 6. Stimare il modello log(y i ) = γ 0 + γ 1 X 1,i + γ 2 X 2 1,i + γ 3X 2,i + η i ; 7. Questo modello può essere considerato migliore di quello utilizzato sopra? 8. Come deve essere interpretato il parametro γ 3? 9. Sareste in grado di stimare la variazione della media di log(y) indotta da un decremento di X 2 pari a 5 gradi centigradi, a parità di ogni altra condizione? 10. Posti X 1 = 70, X 2 = 20 e X 3 = 58, sapreste indicare un intervallo di previsione per log(y) ad un livello di fiducia pari a 0.95? Sapreste costruire, allo stesso livello di fiducia, un intervallo di previsione per Y? Soluzione. Cancelliamo tutto ciò gche è memorizzato in R, chiudiamo le finestre grafiche, carichiamo i dati rendendo immediatamente accessibili le variabili presenti nel data frame che abbiamo creato: > rm(list = ls()) > graphics.off() > dati = read.table("ammoniaca.txt", header = T) > attach(dati) Ora siamo in grado di rispondere alle domande. 1. Stimiamo il modello e vediamo la sintesi dei risultati con i seguenti comandi: > dati.0.lm = lm(y ~ x1 + x2 + x3) > summary(dati.0.lm) Call: lm(formula = y ~ x1 + x2 + x3) Residuals: Min 1Q Median 3Q Max -0.72377-0.17117-0.04551 0.23614 0.56978
Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 3.61416 8.90213 0.406 0.68982 x1 0.07156 0.01349 5.307 5.8e-05 *** x2 0.12953 0.03680 3.520 0.00263 ** x3-0.15212 0.15629-0.973 0.34405 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.3243 on 17 degrees of freedom Multiple R-Squared: 0.9136, Adjusted R-squared: 0.8983 F-statistic: 59.9 on 3 and 17 DF, p-value: 3.016e-09 L equazione stimata sarà dunque: ŷ i = 3.6412 + 0.0716x 1,i + 0.1295x 2,i 0.1521x 3,i, i = 1, dots, 21, e la stima della varianza dei disturbi è s 2 = 0.3243 2 = 0.1052. 2. Definiamo due variabili che rappresenteranno, rispettivamente, il vettore dei residui ed il vettore dei residui standardizzati > residui = resid(dati.0.lm) > resid.st = rstandard(dati.0.lm) Per una spiegazione sommaria della funzione rstandard() si veda la soluzione dell Esercizio 8; per una spiegazione più esauriente si usi il comando help(rstandard). Disegnamo ora i diagrammi di dispersione dei residui contro i valori stimati della funzione di regressione e le variabili esplicative incluse nel modello (Figura 1) con i seguenti comandi: > plot(fitted(dati.0.lm), residui, xlab = expression(hat(y))) > plot(x1, residui) > plot(x2, residui) > plot(x3, residui) Il primo di questi grafici sembra evidenziare una qualche forma di dipendenza tra i residui e il valori stimati della funzione di regressione: si osserva un tratto in cui i residui decrescono al crescere dei valori di ŷ i. Un andamento simile si nota anche nel diagramam di dispersione dei residui contro X 2. Nel diagramma di dispersione dei residui rispetto a X 3 si osserva una andamento crescente della variabilità dei residui rispetto a quel regressore (i residui si aprono a ventaglio nella rappresentazione grafica): un comportamento di questo tipo ci fa ritenere che la varianza dei disturbi non sia costante. Tutto questo implica che il modello non sia adeguato, nonostante il valore del coefficiente di determinzione lineare multipla sia elevato (0.9296). Il grafico quantile-quantile dei residui standardizzati sembra deporre a favore della gaussianità del modello (Figura 2), ma le patologie evidenziate sopra rendono poco attendibile questa rappresentazione grafica, la quale ha senso solo se sono soddisfatte le assunzioni di fondo del modello di regresione lineare multipla. 3. Se tutte le assunzioni di fondo del modello di regressione lineare multipla fossero soddisfatte (disturbi incorrelati, con media nulla e varianza costante; disturbi indipendenti dai regressori) e se il modello fosse gaussiano (in alternativa alla gaussianità sarebbe sufficiente disporre di un campione di numerosità sufficientemente elevata), si potrebbe applicare il metodo di selezione delle variabili descritto nella soluzione dell Esercizio 8. In questo caso, però, sembra che quelle assunzioni non siano rispettatte e quindi gli eventuali test risulterebbero inattendibili. In definitiva, non sembra avere senso indugiare su questo modello ed appare opportuno considerare un modello alternativo. 4. In questo modello il parametro β 2 rappresenta la derivata parziale della funzione di regressione rispetto alla temperatura dell acqua utilizzata per il raffreddamento dell impianto. In termini più grossolani, esso indica quanto varia il valore atteso della percentuale di ammoniaca persa in corrispondenza di un incremento unitario della temperatura dell acqua a parità di ogni altra condizione (cioè mantenendo costante il valore degli altri regressori).
residui residui 0.5 1.5 2.5 3.5 y^ 50 55 60 65 70 75 80 x1 residui residui 18 20 22 24 26 x2 57.5 58.0 58.5 59.0 x3 Figura 1: Analisi dei residui del primo modello 5. Valgono le considerazioni fatte nel punto 3.: in queste circostanze non disponiamo di test attendibili. Se valessero le condizioni citate nel punto 3., potremmo saggiare il seguente sistema di ipotesi utilizzando la statistica test H 0 : β 1 = β 2 = β 3 = 0 H 1 : almeno uno di questi coefficienti è diverso da 0 F = R 2 /3 (1 R 2 )/17 che sotto l ipotesi nulla si distribuirebbe come una F di Snedecor con 3 gradi di libertà al numeratore e 17 gradi di libertà al denominatore. Il valore osservato della statistica è pari a 59.9, a cui corrisponde un livello di significatività osservato pari a 3.016 10 9 (si veda l output del comando summary(dati.0.lm)), che deporrebbe a favore dell ipotesi alternativa per qualsiasi ragionevole livello di significatività. Tuttavia, per le ragioni addotte sopra, non possiamo considerare affidabile questo test nel contesto di questo esercizio. 6. Per stimare il modello alternativo, utilizziamo i seguenti comandi: > dati.l0.lm = lm(i(log(y)) ~ x1 + I(x1^2) + x2) > summary(dati.l0.lm) Call: lm(formula = I(log(y)) ~ x1 + I(x1^2) + x2)
Normal Q Q Plot Sample Quantiles Theoretical Quantiles Figura 2: normaità residui Residuals: Min 1Q Median 3Q Max -0.32934-0.08596-0.04409 0.13872 0.27017 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -6.8779680 1.5165828-4.535 0.000293 *** x1 0.1550635 0.0472428 3.282 0.004395 ** I(x1^2) -0.0009398 0.0003682-2.553 0.020589 * x2 0.0681747 0.0171932 3.965 0.001000 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.1506 on 17 degrees of freedom Multiple R-Squared: 0.9296, Adjusted R-squared: 0.9172 F-statistic: 74.85 on 3 and 17 DF, p-value: 5.307e-10 Ponendo Z = log(y), l equazione di regressione stimata è la seguente: ẑ i = 6.8780 + 0.1551x 1,i 0.0009x 2 1,i + 0.0682x 2,i e la stima della varianza dei disturbi aleatori è s 2 = 0.1506 2 = 0.0227 7. Definiamo i residui e i residui standardizzati ottenuti in seguito alla stima del nuovo modello:
> = resid(dati.l0.lm) > resid.l.st = rstandard(dati.l0.lm) Conduciamo ora l analisi grafica dei residui del secondo modello con i seguenti comandi: > plot(fitted(dati.l0.lm),, xlab = expression(hat(log(y)))) > plot(x1, ) > plot(x2, ) > plot(x3, ) > qqnorm(resid.l.st) > qqline(resid.l.st) I grafici rapprsentati in Figura 3 sono molto migliori di quelli ottenuti in corrispondenza del primo modello e non evidenziano particolari patologie nel comportamento dei residui. Possiamo ritenere che le assunzioni di fondo del modello di regressione lineare multipla siano soddisfatte per questo nuovo modello. Si ossevi che, nella figura 3 abbiamo inserito il diagramma di disperisone dei residui contro X 3, benché questa variabile non fosse inserita, come regressore, nel modello. Questo diagramma di dispersione dovrebbe indicare se esista una qualche relazione tra i residui (cioè la parte di variabilità della risposta non spiegata dal modello) e una variabile che non è inserita tra i regressori. Se si riscontrasse una qualche forma di dipendenza, sarebbe opprotuno considerare l inclusione di X 3 tra i regressori. Nel nostro caso questo non avviene, e quindi non includeremo X 3 nel modello. Alla luce della Figura 4, l assunzione di gaussianità sembra invece non valere. Ritenendo che la dimensione campionaria sia sufficientemente elevata, possiamo condurre comunque i test sui parametri (con qualche doverosa cautela!) Consideriamo infine i coefficienti di determinazione lineare multipla e di determinazione lineare multipla corretto che valgono rispettivamente 0.9296 e 0.9172. Essi assumono valori elevatio e quindi soddisfacenti. Si osservi che questi loro valori non sono comparabili con quelli assunti in seguito alla stima del primo modello: Essendo cambiata la variabile risposta, essi non sono comparabili. Osserviamo infine che non è necessario rimuovere alcuna variabile dal modello poichè ciascun coefficiente risulta diverso da 0 ad un livello di significatività pari a 0.05. Cosa succederebbe invece se fissassimo in livello di significativitá pari a 0.01 (allo studente l ardua risposta)? 8. In questo modello il parametro γ 3 rappresenta la derivata parziale della funzione di regressione, ovvero di E(log(Y) X 1 = x 1, X 2 = x 2 ) rispetto alla temperatura dell acqua utilizzata per il raffreddamento dell impianto. In termini più grossolani, esso indica quanto varia il valore atteso del logaritmo della percentuale di ammoniaca persa in corrispondenza di un incremento unitario della temperatura dell acqua a parità di ogni altra condizione (cioè mantenendo costante il valore del flusso d aria nell impianto). 9. La risposta è una immediata conseguenza di quella data nel punto precedente. Se la temperatura dell acqua diminuisce di 5 gradi, a parità di ogni altra condizione il valore atteso di log(y) varierà di una quantità pari a γ 3 ( 5). Noi però abbiamo ottenuto una stima di γ 3 : ˆγ 3 = 0.0682. Quindi la stima della variazione del valore atteso di E(log(Y)) corrispondente ad un decremento di 5 gradi della temperatura dell acqua, a parità di ogni altra condizione, sará data da: 0.0682 ( 5) = 0.341 10. Poiché il modello non sembra gaussiano, non possiamo utilizzare il metodo di previsione che abbiamo studiato. Questo non sarebbe possibile nemmeno su un campione di numerosità molto elevata, poiché per la previsione è necessario assumere la gaussianità della variabile risposta. A scopo puramente didattico vediamo come avremmo dovuto operare se l assunzione di gaussianità fosse stata soddisfatta. L intervallo di previsione per log(y) si costruisce come segue: > nuovidati = data.frame(x1 = 70, x2 = 20, x3 = 58) > previsione = predict(dati.l0.lm, newdata = nuovidati, interval = "prediction", + level = 0.95) > previsione fit lwr upr [1,] 0.7348005 0.3740847 1.095516
0.0 0.5 1.0 ^ log(y) 50 55 60 65 70 75 80 x1 18 20 22 24 26 x2 57.5 58.0 58.5 59.0 x3 Figura 3: Analisi dei residui del secondo modello In corrispondenza dei valori fissati dei regressori, la previsione puntuale di log(y) è pari a 0.7348 e l intervallo di previsione, ad un livello di fiducia pari a 0.99, è: [0.3741, 1.0955]. Poiché, sulla base del modello stimato, 0.95 = P(0.3741 log(y) 1.0955) = P ( e 0.3741 Y e 1.0955) = P(1.4537 Y 2.9907), la previsione puntuale di Y sarà data da e 0.7348 = 2.0851 e l intervallo di previsione, al livello di fiducia 0.95, sarà: [1.4537, 2.9907].
Normal Q Q Plot Sample Quantiles Theoretical Quantiles Figura 4: Grafico quantile-quantile dei residui standardizzati del secondo modello