Modelli statistici per l economia e l azienda (Nuovo Ordinamento) Laurea Specialistica Docente: Prof.ssa J. MORTERA Numero di crediti: 9

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modelli statistici per l economia e l azienda (Nuovo Ordinamento) Laurea Specialistica Docente: Prof.ssa J. MORTERA Numero di crediti: 9"

Transcript

1 Modelli statistici per l economia e l azienda (Nuovo Ordinamento) Laurea Specialistica Docente: Prof.ssa J. MORTERA Numero di crediti: 9 1. Obiettivi Come obbiettivo principale si vuole spiegare come analizzare i dati attraverso modelli statistici moderni. Le tecniche statistiche verranno applicate a dati reali in campo economico ed aziendale, mediante l'uso del software statistico, di pubblico dominio, R (http://cran.r-project.org/). 2. Programma del corso Introduzione al software R. Specificazione di un modello parametrico. Inferenza basata sulla funzione di verosimiglianza. L analisi della varianza. Il modello lineare. Introduzione ai modelli lineari generalizzati. La famiglia esponenziale. Inferenza e stima per i modelli lineari generalizzati. Regressione logistica. Tabelle di frequenza: modelli log-lineari. Cenni all analisi dei dati di sopravivenza. Testi consigliati

2 Agresti A. An Introduction to Categorical Data Analysis, J. Wiley, 1996 Azzalini A. (2001) Inferenza statistica, Springer Verlag; Ed. 2. Dobson A. J. (2001) An Introduction to Generalized Linear Models, 2nd Edition, Chapman & Hall/CRC. W. Krzanowski (1998) An Introduction to Statistical Modelling, H. Arnold Lavine M. Introduction to statistical thought (disponibile on line O Vitali (1993) Statistica per le scienze applicate Vol. II, Caccuci Ed. Testi di riferimento per R R: un tutorial per l autoapprendimento An Introduction to R : (http://cran.r-project.org/). Borotot P., Ventura L., Salvan A. Inferenza statistica: Applicazioni con S-plus e R, Cedam, Che cosa è R e come utilizzarlo R is a free software language and environment for statistical computing and graphics... ovvero

3 R è un ambiente integrato che permette di elaborare dati, eseguire calcoli ed effettuare rappresentazioni grafiche. E UN LINGUAGGIO SOFTWARE per l analisi statistica dei dati; si tratta di un linguaggio pensato per descrivere modelli statistici anche estremamente complessi; permette la rappresentazione grafica di dati; è un linguaggio che può essere facilmente esteso dall utente finale; è gratuito e Open source, ovvero ciascuno può avere accesso al codice interno di R ; Per iniziare Per entrare in R dal desktop andate su Start/Programmi/R oppure cliccate direttamente sull icona con la R presente sul desktop. Sullo schermo apparirà una finestra bianca riconoscibile per la presenza del prompt da cui si potranno scrivere i comandi. Come interagire con R Si interagisce con R attraverso la R -console digitando dopo il prompt > i comandi che vogliamo eseguire. Ad esempio digitando >help(plot) otterremo l aiuto in linea per il comando plot, mentre con il comando

4 >demo(graphics) si ottiene una dimostrazione delle potenzialità grafiche di R Per uscire da R basta digitare >q()... e rispondere alla seguente domanda: Salva area di lavoro? [y/n]: Operazioni algebriche, vettori e matrici R lavora in generale con dati strutturati e le strutture più semplici sono Scalari, vettori e matrici. Una caratteristica importante di R è che effettuerà operazioni diverse su oggetti di tipo diverso. Operazioni algebriche (l ordine di esecuzione è quello standard) >8+2 Il risultato e (dove [1] indica il primo elemento di un vettore) [1] 10 #Ad esempio 8+2*3 (8+2)*3 5*3^2 (5*3)^2 (3+1)^2 #radice quadrata 2^(1/2)

5 sqrt(2) # Per andare a capo compare il simbolo + > (3+1)^2* + sqrt(4) # Operatori di confronto producono come risultato TRUE (vero) oppure FALSE (falso) 4>2 4!=4 4!= 24 2>=2 #Operatori Logici sono &(AND) (OR)! (NOT) 2<4 & 2<0 2<4 2<0!2<0 #Funzioni matematiche log(2) log(exp(2)) log10(2) log10(10) exp(2) sin(pi/2) cos(pi) tan(pi) tan(pi/2)

6 tan(pi/4) #per altre funzioni matematiche vedi la voce on-line Math Assegnazione di valori a variabili #Assegnazione di variabili x<-6 y<-4 z<-x+y # Per vedere l elenco degli oggetti creati ls (LIST) > ls() [1] "x" "y" "z" #NB: c'è differenza tra variabili scritte con la maiuscola e minuscola X<-4 x X #per cancellare una variabile rm (REMOVE) rm(x) #evitare nomi di funzioni come rm ls, anche se è possibile definire: ls<-5

7 #CREARE E MANIPOLARE VETTORI (numerici,di stringhe di caratteri e logici) x<-c(5,9,1,0) y<-c(2,1,0) #aggiungono valori ad un vettore z1<-c(x, 2.5) #concateno tra loro dei vettori z2<-c(x,y) #Per formare: stringhe di caratteri y<-c("data", "ANALYSIS", "COURSE") # stringhe di vettori logici x<-c(4>6, 2<1, 0!=1) #Per creare successioni di numeri x<-1:10 # Oppure con la funzione seq(min, max, increment) che permette più flessibilità y<-seq(1,10,1) seq(0,1,0.1) seq(0,1,length=10) seq(0,1,by=0.1) #Per creare ripetizioni di numeri rep(vettore, #ripetizioni) a<-rep(1,5) b<-rep(c(0,1),5) rep(1:3,6) rep(1:3,c(6,6,6))

8 #Funzioni che operano su vettori: length, sort, rank, min, max e sum a<-seq(1, 6,0.2) length(a) min(a) max(a) b<-c(2,5,0,3) sort(b) rank(b) sum(b) #Operazioni con vettori. R si addatta al tipo di oggetto sui quali opera. #Ad esempio: x<-1:5 y<-sort(x) > x+y [1] > x*y [1] x<y x<=3 x^2 length(a) length(x) a+x

9 #Per richiamare degli elementi di un vettore x<- seq(0,30,10) x x[1] x[4] x[6] x[1:2] x[c(1,4)] x[-1] #esclude il primo elemento #Estrazione elementi di un vettore usando espressioni logiche peso<-c(50, 56,70,80,98) altezza<-c(160,170, 165, 175, 170) peso[peso>70] peso[altezza>=170] peso[peso>70 altezza>=170] #alla fine per pulire eseguire rm(list=ls(all=true)) #MATRICI Ci sono diversi modi per creare matrici in R. Ad esempio:

10 matrix(vector,nrow=,ncol=,byrow=), se si vuole riempire la matrice per riga si deve mettere byrow=t ( è opzionale) a<-matrix(1:6,nrow=2) b<-matrix(1:6,nrow=2,byrow=t) dim(a) dim(b) # cbind e rbind concatenano assieme scalari o vettori per colonna(riga) x<-c(1,2,3) y<-c(4,5,6) z<-cbind(x,y) z1<-rbind(x,y) #si possono concatenare le matrici stesse (ovviamente quando le dimensioni lo consentono) rbind(z,z) # Ogni cosa in R è un oggetto. Possibili tipi di oggetti sono: character,numeric, integer, logical, complex #Si possono creare matrici di caratteri o variabili logiche x<-c("omar", "Marge", "Bart", "Lisa") matrix(x,ncol=2) matrix(c(3>2, 0!=0, 0!=1, 1<2), nrow=2) #Operazioni con matrici

11 a<-matrix(0:5,nrow=2) b<-matrix(seq(0,10,2),nrow=2) #Per vedere la dimensione di una matrice dim(a) dim(b) a+b a*b #Notare che la precedente moltiplicazione avviene elemento per elemento #Per la moltiplicazione matriciale si usa il commando %*%. #In questo caso R interpreta i vettori come vettori colonna c<-a%*%b #e possibile? # Per trovare la transposta b b<-t(b) dim(b) #e ora posso fare c<-a%*%b # Per trovare l inversa di una matrice e la matrice di #identità: solve(c) i<-c%*%solve(c) #il determinante di una matrice det(c)

12 #Come per i vettori si possono estrarre delle componenti di matrici: x<-matrix(1:10,ncol=5) x[,1] #seleziona la prima colonna x[2,] #seleziona la seconda riga x[2,3] #selezione l'elemento [2,3] x[,4:5] #seleziona solo le colonne 4 e 5 x[,-c(2,4)] #seleziona le colonne 1, 3 e 5 Per salvare solo alcuni oggetti del workspace, possiamo utilizzare il comando save specificando la lista degli oggetti da salvare. Uscendo da R viene sempre chiesto se vogliamo salvare un immagine dell area di lavoro che abbiamo creato. Salvando l area di lavoro, alla successiva utilizzazione di R, questa verrà caricata automaticamente insieme al file.rhistory ovvero la sequenza di comandi (corretti e sbagliati) che abbiamo eseguito durante le precedenti sessioni di lavoro. Esiste poi il concetto di lista che può essere visto come un contenitore di oggetti dei più disparati. L <- list(l1 = C, L2 = c(1, 2)) mode(l) #per indicare il tipo di oggetto Per estrarre gli elementi da una lista possiamo richiamare il nome della lista seguito da $ più il nome dell elemento, oppure specificando l indice dell elemento tra due parentesi quadre

13 L$L1 L[[1]] Informazioni sulla struttura degli elementi della lista possono essere ottenuti con il comando str str(l) #structure Altri tipi di oggetti Oltre alle liste esistono altre classi di oggetti con una struttura diversa da quella dei vettori e delle matrici array fattori data frames funzioni Funzioni, test e cicli Funzioni In R è possibile creare della funzioni personalizzate. La sintassi generale è nomefunzione<-function(arg1,arg2,...) {espressione} Ad esempio somma <- function(a, b) {a+ b} Il nome della funzione è somma ed è una funzione di due argomenti. somma(2,5) I test

14 R permette di utilizzare due strumenti fondamentali per un linguaggio di programmazione: i cicli e i test (logici). La costruzione di un test viene fatta nel modo seguente >if (condizione) conseguenza1 else conseguenza2 Vediamo un esempio di funzione: > roulette <- function(numero, euro) { r <- sample(x = seq(0, 36), size = 1) if (r == numero) vincita <- 36 * euro else vincita <- 0 return(vincita) } #dove sample estrae un campione casuale. Ad esempio 100 lanci di una #moneta (prove Bernouillane) sample(c(0,1), 100, replace = TRUE) #che media avra? mean( sample(c(0,1), 10000, replace = TRUE)) I cicli Eseguire un ciclo in R è molto semplice. > for (i in 1:10) print(roulette(10, i)) Bisogna notare che i cicli in R sono molto dispendiosi in termini di tempo macchina e il più delle volte possono essere evitati.

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

Corso Introduttivo all utilizzo di R! Prof.ssa D.F. Iezzi stella.iezzi@uniroma2.it

Corso Introduttivo all utilizzo di R! Prof.ssa D.F. Iezzi stella.iezzi@uniroma2.it Corso Introduttivo all utilizzo di R! Prof.ssa D.F. Iezzi stella.iezzi@uniroma2.it Il software R q Il software R è distribuito gratuitamente come software Open Source con licenza GPL (General Public License)

Dettagli

Vettori ed assegnamenti in R

Vettori ed assegnamenti in R Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Vettori ed assegnamenti in R Giorgio Valentini e

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

Dettagli

Note sull uso di R per l Algebra Lineare

Note sull uso di R per l Algebra Lineare Note sull uso di R per l Algebra Lineare Sommario Introduzione Alcuni comandi elementari di R Creazione di matrici e vettori e accesso ai loro elementi Alcuni particolari tipi di matrice Operazioni con

Dettagli

Laboratorio di Statistica con R

Laboratorio di Statistica con R Laboratorio di Statistica con R R è un vero e proprio linguaggio di programmazione. Il suo nome, è dovuto probabilmente al nome dei suoi sviluppatori:robert Gentleman e Ross Ihaka Le principali funzioni

Dettagli

Strutture di controllo del flusso di esecuzione

Strutture di controllo del flusso di esecuzione Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Strutture di controllo del flusso di esecuzione

Dettagli

Python. Valerio Perticone

Python. Valerio Perticone Python Valerio Perticone Python Python è un linguaggio di programmazione molto semplice e conciso Ha il vantaggio di essere semplice da imparare e di poter essere eseguito su diversi sistemi operativi

Dettagli

Laboratorio Algoritmi 2014 Secondo Semestre

Laboratorio Algoritmi 2014 Secondo Semestre Laboratorio Algoritmi 2014 Secondo Semestre Lunedì 14:30 17:30 Aula 2. Ricevimento: inviare e-mail a frasca@di.unimi.it. 44 ore (9 CFU) Linguaggio di programmazione: MATLAB Esame : progetto e/o prova scritta

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI e AZIONAMENTI ELETTRICI INTRODUZIONE A MATLAB Ing. Alberto Bellini Tel. 0522 522626 e-mail: alberto.bellini@unimore.it

Dettagli

Primi passi con R. D. Fioredistella IEZZI e-mail: stella.iezzi@uniroma2.it

Primi passi con R. D. Fioredistella IEZZI e-mail: stella.iezzi@uniroma2.it Primi passi con R Che cosa è Ø R è un ambiente di programmazione (un insieme di funzioni, librerie, oggetti) Ø R è specializzato in analisi dei dati e rappresentazioni grafiche Ø R opera su sistemi operativi

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag