Lettura e analisi statistiche dei dati e computer analysis Lezioni per il corso di dottorato in Economia Aziendale Università Ca’ Foscari A.A. 2000/01 Francesca Parpinel http://www.dst.unive.it/˜parpinel/dottorato
Gli applicativi statistici Motivi: Analisi di grandi masse di dati; analisi complesse; tecniche di analisi basate sulle simulazioni (tecniche bootstrap); ecc. Applicativi: Raccolta dei dati e analisi preliminari: fogli di calcolo (tipo Excel). Analisi statistiche ad hoc: Statgraphics, SAS, SPSS, Minitab, Pcgive (serie storiche). Programmazione statistica: S-plus, R.
Scelta del programma R Ambiente di programmazione con sviluppi per le applicazioni statistiche. R è un programma di pubblico dominio per piattaforme Windows, Linux e Macintosh. Informazioni nel sito: www.ci.tuwien.ac.at/R Caratteristiche: Interattivo, facilità grafiche. Versione aggiornata: R1.2.0 (15-12-00).
Qualche informazione su R R inizialmente viene scritto da Robert Gentleman e Ross Ihaka (Università di Auckland) e divulgato nel 1996. Dal 1997 la scrittura dei sorgenti di R è compito di un gruppo di studiosi. Inoltre R è disponibile per varie piattaforme di tipo UNIX e sistemi simili (ad esempio FreeBSD e Linux). Viene inoltre fornito per sistemi operativi quali Windows 9x/NT/2000 e Macintosh. Per questi ultimi sistemi è possibile ottenere dei file di installazione pre-compilati e quindi di più facile implementazione.
R per Windows La versione di R per il sistema operativo Windows, attualmente curata da Guido Masarotto (Univ. di Padova) e Brian D. Ripley (Univ. di Oxford), si trova, navigando in un CRAN, nella directory bin/windows/windows-NT/ dove si trovano i file per la versione base (base/) e numerosi pacchetti (contrib/). Per installare la versione base attraverso Internet si consiglia un PC, dotato di sistema operativo Windows 95/98/2000 o Windows NT, con un'area libera di circa 20M sul disco fisso e il collegamento ad Internet. Tra i file disponibili vi è anche l'eseguibile rwin.exe che consente un'installazione automatica.
Alcune informazioni Per cambiare directory di lavoro. La versione per Windows permette di cambiare facilmente directory intervenendo in linea comandi. La sintassi dei comandi. Tutti i comandi in R sono seguiti dalle parentesi rotonde, ad esempio nella forma >help(). Omettendo le parentesi il programma risponde fornendo la codifica del comando. Per uscire dal programma. si digita il comando q() Per caricare i programmi di dimostrazione: demo() Esempi.
Documentazione Il programma R comprendi i seguenti manuali: di riferimento (refman.pdf, più di 850 p.), di descrizione di R (R-intro.pdf, 103 p.), per produrre estensioni di R (R-exts.pdf, 66 p.), per la lettura e scrittura di file di dati (R-data.pdf, 32 p.), per il linguaggio di programmazione (R-lang.pdf, 59 p.) Aiuto in linea e in formato html. Testi su S-PLUS in combinazione con le FAQ di R Alcune informazioni e moduli di auto-istruzione all’indirizzo http://helios.unive.it/˜statcomp
Analisi esplorativa dei dati Simulazione di dati casuali: rnorm(n,m,s) Istogrammi: hist(dati) Sovrapposizioni di curve teorica densità stimata
Distribuzioni implementate in R
Funzioni con le distribuzioni Densità o probabilità: Funzione di ripartizione: Funzione dei quantili: Generazione di numeri casuali:
Analisi preliminari dei dati Lettura dei dati (ogni pacchetto ha il proprio formato di lettura e la lettura di file ASCII). Matrice di dati: n righe: unità statistiche k colonne: variabili osservate Comandi R per la lettura di file di dati: read.table(); scan(). Principali indici di sintesi e presentazioni grafiche.
Lettura di dati da file Lettura di un file di dati grezzi organizzato come matrice e assegnazione: dati1<-read.table(“a:dati2.txt”) Lettura di un file di dati numerici con separatore dei decimali “,” e organizzati in matrice: dati2<-matrix(scan(“a:dati2.txt”,dec=”,”),30,2)
Analisi esplorativa dei dati Sintesi: summary(dati1)fornisce informazioni su Minimo, I Quartile, Mediana, Media, III Quartile, Massimo. Indici di sintesi: mean(), sd(), var() cor() cov() Rappresentazione scatola-baffi e ramo-foglia boxplot() stem() Diagrammi di dispersione a due variabili plot() Istogrammi hist() Diagrammi di dispersione a 3 tre dimensioni scatterplot3d()
Indagine sui frequentanti i corsi I dati riguardanti 169 studenti di un corso di Statistica. Analisi univariate:
Altre indagini: la distribuzione Distribuzione non normale evidentemente asimmetrica con coda a destra
Altre indagini: la distribuzione Consideriamo alcuni test sul tipo di distribuzione: library(ctest) shapiro.test(dati$ETA) lam<-mean(dati$ETA) ks.test(dati$ETA, +pchisq,lam)
Analisi esplorativa: dati bivariati Scatter-plot modello di regressione analisi della regressione analisi dei residui Q-Q plot per l’analisi di normalità dei residui qqnorm(rdati1$resid) qqline(rdati1$resid, + col=2)
Descrizione del file di dati Descrizione dei dati: Righe: uffici d’area Variabili: Tempo totale per la transazione, numero di transazioni di tipo 1 e di tipo 2, numero di caso: Time (in minuti, numerico) T1 (numerico) T2 (numerico) Case.numbers (numerico) L’obiettivo è modellare il tempo totale come funzione del numero di transazioni. Fonte: Cunningham and Heathcote (1989), Estimating a non-Gaussian regression model with multicollinearity. Australian Journal of Statistics, 31,12-17. I dati sono stati arrotondati.
Matrice degli scatter-plot
Rappresentazione a tre dimensioni Per rappresentazioni grafiche più complesse si stanno creando dei pacchetti aggiuntivi ad esempio il pacchetto scatterplot3d che viene richiamato col comando library(scatterplot3d)
Modello di regressione
L’output del comando lm() La funzione summary.lm calcola e restituisce una serie di statistiche del modelli lineare adattato: residuals: i residui pesati con la radice dei pesi specificati in lm coefficients: matrice px4 le cui colonne sono i coefficienti stimati, il loro errore standard, la statistica t e il p-value a due code sigma: la radice della varianza dell’errore casuale stimata df: gradi di libertà, vettore a tre dimensioni (p, n-p, p*) fstatistic: vettore a 3 dimensioni con il valore della statistica F con i gradi di libertà del suo numeratore e denominatore r.squared: R^2, la frazione di varianza spiegata dal modello adj.r.squared: la statistica R^2 aggiustata per valori alti di p. cov.unscaled: una matrice di covarianza pxp dei coef[j], j=1,...,p correlation: la matrice di correlazione se specificato
Analisi delle serie storiche Modelli autoregressivi: library(ts) Esempio comando ar() ar(x, aic = TRUE, order.max = NULL, method=c("yule-walker", "burg", "ols", "mle", "yw"), na.action, series, ...) ar.burg(x, aic = TRUE, order.max = NULL, na.action, demean = TRUE, series, var.method = 1) ar.yw(x, aic = TRUE, order.max = NULL, na.action, demean = TRUE, series) ar.mle(x, aic = TRUE, order.max = NULL, na.action, demean = TRUE, series) predict(ar.obj, newdata, n.ahead = 1, se.fit = TRUE)