Laboratorio di Statistica e Analisi dei Daticesari.di.unimi.it/teaching/SADcesari.pdfunique(x)...
Transcript of Laboratorio di Statistica e Analisi dei Daticesari.di.unimi.it/teaching/SADcesari.pdfunique(x)...
Laboratorio di Statistica e Analisi dei Dati
Tommaso R. Cesari
Università degli Studi di Milano
A.A. 2018-2019
Programma
Pagina del corso: http://cesari.di.unimi.it/teaching.html
I Linguaggio R ed analisi dei dati:I script in R,I vettori,I data frame,I grafici,I variabili aleatorie,I esercizi
I Calcolo di probabilità:I richiami di teoria,I esercizi
Introduzione: Ambiente R
I Strumento per l’analisi statistica dei datiI Numerosi comandi già implementatiI Linguaggio diffuso e richiesto nel mondo del lavoroI Disponibile per piattaforme Linux, MacOS e WindowsI Linguaggio ad alto livelloI Linguaggio interpretato
Download
I R (necessario per utilizzare Rstudio):https://cran.rstudio.com/
I RStudio (l’editor che utilizzere durante il corso):https://www.rstudio.com/
Script in RScrivere uno script
1. Scrivere su un file di testo i comandi da eseguire separati dainterlinee (il ";" non è necessario)
2. Utilizzare il carattere # per commentare3. Utilizzare il comando print() per stampare sulla console4. Salvare il file come nome.R (R maiuscola)
Eseguire un intero script
I Code | Source (Ctrl+Shift+S)
Eseguire una riga di uno script
I Run (Ctrl+Enter)
VettoriI Sequenze finite unidimensionali di elementi omogenei
Vettori numerici
## [1] 5 7 8 0 1 5 8
Vettori di stringhe
## [1] "pippo" "paperino" "topolino"
Vettori logici
## [1] TRUE TRUE FALSE TRUE
Creazione di vettori numerici1:5
## [1] 1 2 3 4 5
3:-4
## [1] 3 2 1 0 -1 -2 -3 -4
seq(from = 1, to = 4, by = 0.5)
## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0
seq(from = 2, to = 3, length.out = 4)
## [1] 2.000000 2.333333 2.666667 3.000000
Creazione di vettori qualunque
I I singoli elementi sono considerati vettori di lunghezza 1
c("pippo", c("paperino", "topolino"))
## [1] "pippo" "paperino" "topolino"
rep(1:2, times = 3)
## [1] 1 2 1 2 1 2
rep(c(TRUE, FALSE), length.out = 5)
## [1] TRUE FALSE TRUE FALSE TRUE
Assegnamenti
I Gli indici partono da 1
x <- c(1, 4, 5)x
## [1] 1 4 5
x[1] <- 2x
## [1] 2 4 5
Vettori ed operatori logici
I Vale la regola del riciclo
x <- 1:7
x > 5
## [1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE
x == c(5,6)
## Warning in x == c(5, 6): longer object length is not a multiple of shorter## object length
## [1] FALSE FALSE FALSE FALSE TRUE TRUE FALSE
Dati mancanti (Not Available)
I Per i dati mancanti R utilizza il valore speciale NAI La quasi totalità delle operazioni e dei comandi che coinvolga
valori NA ha come risultato NA (eccezione: is.na())
x <- c(1:4, NA)
x + 2
## [1] 3 4 5 6 NA
is.na(x)
## [1] FALSE FALSE FALSE FALSE TRUE
Vettori: selezione e accesso a sottoinsiemi di elementi
x <- c(2, 6, 3, 7, 1, 9)
Vettore di indici interi positivi
I L’ordine è importante
x[c(1, 5, 2)]
## [1] 2 1 6
Vettori di indici a caratteri
I Applicabile su vettori etichettati o su previa impostazionedell’attributo names
I Anche in questo caso l’ordine è importante
campione <- c(45, 180, 70, 3)names(campione) <-c("Eta", "Altezza", "Peso", "Nr")campione
## Eta Altezza Peso Nr## 45 180 70 3
campione[c("Altezza", "Nr", "Eta")]
## Altezza Nr Eta## 180 3 45
Vettore di indici logici (filtri)
I Seleziona gli elementi corrispondenti a TRUE ed omette gli altri
x <- c(2, 3, NA, NA, 3, NA, 47)xx[!is.na(x) & x > 2]
!is.na(x)
## [1] TRUE TRUE FALSE FALSE TRUE FALSE TRUE
x > 2
## [1] FALSE TRUE NA NA TRUE NA TRUE
!is.na(x) & x > 2
## [1] FALSE TRUE FALSE FALSE TRUE FALSE TRUE
x[!is.na(x) & x > 2]
## [1] 3 3 47
Operazioni e comandi utiliI Le operazioni usuali dell’aritmetica +, -, *, / vengono eseguite
sui vettori elemento per elemento
Comandi utili
?comando #documentazione di "comando"max(x) #massimo di xmin(x) #minimo di xsum(x) #somma degli elementi di xsort(x) #copia ordinata di xunique(x) #copia di x senza ripetizionisample(x, n, replace = TRUE) #estrae n elementi a casotable(x) #frequenze assolute di xprop.table(table(x)) #frequenze relative di xpaste (x, y, sep = c) #concatena ogni stringa di x con#il separatore c e la rispettiva stringa di y
EserciziCreare tre vettori distinti contenenti i seguenti valori
I 2.5, 2, 5, 1, 11, -0.1, 10, 9I 8 numeri equispaziati tra 10 e 6.5 (estremi inclusi)I I numeri interi tra 1 e 8 (estremi inclusi)
1. Calcolare massimo ed il minimo di ciascun vettore2. Calcolare la somma degli elementi di ciascun vettore3. Concatenare i tre vettori ed estrarre un campione casuale pari
al 30% di tutti gli elementi4. Contare il numero di elementi >= 5 per ciascun vettore5. Estrarre gli elementi diversi da 3 dal terzo vettore6. Sostituire il valore NA agli attuali valori presenti nella seconda e
nella sesta posizione del primo vettore7. Costruire un vettore logico contenente TRUE nelle posizioni in
cui il primo vettore contiene un NA, FALSE altrove. Utilizzarloper sostituire 1 a tutti gli NA
EserciziI seguenti dati rappresentano il numero di giorni in cui ciascuno di20 lavoratori si è assentato per malattia nelle ultime sei settimane
I 2,2,0,0,5,8,3,4,1,0,0,7,1,7,1,5,4,0,4,0
I codici dei lavoratori sono "Lav_0", "Lav_2", . . . , "Lav_19"
1. Creare un vettore contenente i giorni di malattia e nel camponames i corrispondenti codici
2. Selezionare il numero di giorni di malattia di "Lav_6"3. Determinare quanti lavoratori hanno fatto 0 giorni di malattia e
stamparne i codici4. Estrarre il sottovettore contenente i giorni di malattia di tutti i
lavoratori eccetto "Lav_2" e "Lav_11"5. Estrarre un lavoratore con il minor numero di giorni di malattia6. Creare un vettore ordinato e non etichettato contenente gli
elementi distinti del vettore originario
Data frame
Tabella con vettori colonna numerici, logici o a caratteri (fattori)
## Nome.Passato.Tentativi## 1 Pippo,FALSE,0## 2 Pluto,TRUE,1## 3 Paperino,FALSE,7## 4 Topolino,FALSE,1## 5 Minni,TRUE
CSV
Rappresentazione testuale di un data frame: comma-separatedvalues
Nome,Passato,TentativiPippo,FALSE,0Pluto,TRUE,1Paperino,FALSE,7Topolino,FALSE,1Minni,TRUE
Importare un data frame
I Creare un data frame a partire da un file csv
d1 <- read.delim(file="esami.csv", sep=",", dec=";")
Accesso agli elementi di un data frame
I Se il data frame è etichettato il comando attach permette diaccedere alle colonne semplicemente
d1 <- read.delim(file="esami.csv", sep=",", dec=";")attach(d1)sum(Passato) # equivalente a sum(d1$Passato)
I Se il data frame non è etichettato, utilizzare coppie dicoordinate
d1[i,j] #restituisce l'elemento di posto (i,j)d1[i,] #restituisce la i-esima rigad1[,j] #restituisce la j-esima colonna
Sotto-data-frameEstrarre un sottoinsieme di un data frame
subset(d1, !is.na(Tentativi), select=c(Nome, Tentativi))
## Nome Tentativi## 1 Pippo 0## 2 Pluto 1## 3 Paperino 7## 4 Topolino 1
subset(d1, Nome %in% c("Pippo","Pluto") & Passato==TRUE)
## Nome Passato Tentativi## 2 Pluto TRUE 1
Esercizi
Scaricate il file dati-ospedali.csv dalla pagina del laboratorio
1. Visualizzare il dataframe2. Calcolare le frequenze assolute e relative dell’attributo Regione3. Estrarre il sotto-data-frame contenente nome (attributo
Denominazione.Str..Pubblica.New) e numero di medici(attributo Medici.SSN) degli ospedali con meno di 200 medici.
4. Visualizzare il nome degli ospedali della Lombardia5. Calcolare il numero medio di ingegneri (Ingegneri.SSN)
presenti negli ospedali campani6. Calcolare la varianza degli assistenti sociali
(Assistenti.sociali.SSN) presenti negli ospedali con più di400 medici
Esercizi
7. Qual è la regione con più ospedali? E l’ospedale con menomedici?
8. Visualizzare in ordine alfabetico il nome delle 10 strutture conpiù medici
9. Visualizzare la riga contenente l’ospedale con meno ingegneri10. Visualizzare il numero di ospedali che ha dichiarato il numero
di odontoiatri (Odontoiatri.SSN)11. Calcolare le frequenze assolute del numero di odontoiatri.
Utilizzare questo numero per calcolare le frequenze relative
Esercizi
12. Quanti sono gli ospedali presenti nel dataset?13. Quanti sono in tutto gli attributi del dataset che descrivono un
ospedale?14. Calcolare media, varianza e coefficiente di variazione degli
attributi Medici.SSN e Farmacisti.SSN15. Notate una relazione tra il numero di medici e il numero di
farmacisti presenti in un ospedale? In caso affermativo, diquale tipo di relazione si tratta? Supportate la vostra rispostacon il valore di un indice numerico
16. Calcolare le frequenze assolute congiunte degli attributiAvvocati.SSN e grande.struttura. Utilizzate i valori dellatabella per calcolare la tabella delle frequenze assolute marginalidel numero di avvocati e quella della tipologia di ospedale
Grafici
Grafico di dispersione
x <- 1:10y <- x^2plot(x, y)
Grafico di dispersione
2 4 6 8 10
020
4060
8010
0
x
y
Grafico a barre
x <- c(5,5,1,2,2,3,4,2,4,5,5,6)barplot(prop.table(table(x)))
Grafico a barre
1 2 3 4 5 6
0.00
0.05
0.10
0.15
0.20
0.25
0.30
Istogramma
y <- rnorm(100) #ne parleremo in seguitohist(y)
Istogramma
Histogram of y
y
Fre
quen
cy
−4 −3 −2 −1 0 1 2 3
010
2030
Plot della cumulativa empirica
x <- c(5,5,1,2,2,3,4,2,4,5,5,6)y <- rnorm(100) #ne parleremo in seguitopar(mfrow=c(1,2)) #affianca due graficiplot(ecdf(x))plot(ecdf(y))par(mfrow=c(1,1)) #interrompe l'affiancamento
Plot della cumulativa empirica
0 1 2 3 4 5 6 7
0.0
0.2
0.4
0.6
0.8
1.0
ecdf(x)
x
Fn(
x)
−2 −1 0 1 2
0.0
0.2
0.4
0.6
0.8
1.0
ecdf(y)
x
Fn(
x)
Boxplot
Rappresenta la distribuzione di un vettore di numeri, cerchiando glioutlier (ne parleremo in seguito)
x <- c(5,5,1,2,2,3,4,2,4,5,5,6)z <- c(x, -5, 11, 12)boxplot(z)
Boxplot−
50
510
Qqplot
Grafico di dispersione dei quantili di due distribuzioni. Più ledistribuzioni sono simili, più si avvicina alla bisettrice del primoquadrante (ne riparleremo in seguito)
x <- c(5,5,1,2,2,3,4,2,4,5,5,6)n <- length(x)x1 <- sample(x,n)x2 <- 1:npar(mfrow=c(1,2)) #affianca due graficiqqplot(x,x1) #stessa distribuzioneqqplot(x,x2) #distribuzione molto diversa
1 2 3 4 5 6
12
34
56
x
x1
1 2 3 4 5 6
24
68
1012
x
x2
Diagramma di Pareto
Installare la libreria qcc con il comandoinstall.packages("qcc")
library(qcc) #carica la libreriax <- c(1,2,2,4,2,4,2,1,5,5,2,3,1)pareto.chart(prop.table(table(x)))
Diagramma di Pareto
Generato con la libreria qcc
2 1 4 5 3
Fre
quen
cy
Pareto Chart for prop.table(table(x))
0.0
0.2
0.4
0.6
0.8
1.0
0%25
%50
%75
%10
0%
Cum
ulat
ive
Per
cent
age
#### Pareto chart analysis for prop.table(table(x))## Frequency Cum.Freq. Percentage Cum.Percent.## 2 0.38461538 0.38461538 38.46153846 38.46153846## 1 0.23076923 0.61538462 23.07692308 61.53846154## 4 0.15384615 0.76923077 15.38461538 76.92307692## 5 0.15384615 0.92307692 15.38461538 92.30769231## 3 0.07692308 1.00000000 7.69230769 100.00000000
Curve ROCInstallare la libreria pROC con il comandoinstall.packages("pROC")
library(pROC) #carica la libreriaplot.roc(roc(Esito, ValoreTest))
Curve ROCGenerato con la libreria pROC
Specificity
Sen
sitiv
ity
1.0 0.5 0.0
0.0
0.2
0.4
0.6
0.8
1.0
Esercizi
1. Scaricare ed importare il file capelli.csv dalla pagina dellaboratorio
2. Calcolare la correlazione tra la lunghezza e le altre variabili3. Generare i relativi grafici di dispersione. Confermano il valore
numerico?4. Generare affiancati il boxplot e l’istogramma della colonna
spesaShampoMensile. Cosa li accomuna?
Esercizi
1. Scaricare ed importare il file dati-ospedali.csv dalla paginadel laboratorio
2. Generare affiancati l’istogramma ed il grafico della cumulativaempirica dell’attributo Medici.SSN
3. Controllare con un qqplot se il numero di medici(Medici.SSN) e il numero di farmacisti (Farmacisti.SSN)hanno la stessa distribuzione
4. Generare il diagramma di Pareto ed il grafico a barre dellefrequenze relative del carattere Biologi.Universitari. Cosasi nota?
Analisi Esplorative
1. Scaricare e svolgere l’analisi esplorativa finanziamenti dallink
I http://cesari.di.unimi.it/teaching/anexp-finanziamenti.pdf
2. Scaricare e svolgere l’analisi esplorativa cani dal linkI http://cesari.di.unimi.it/teaching/anexp-cani.pdf
Calcolo Combinatorio
1. Un lucchetto per biciclette ha un dispositivo di chiusura acombinazione formato da tre rotelle dentellate imperniate,ognuna delle quali può essere ruotata su 10 posizioni numerateda 0 a 9. Quante combinazioni segrete si possono formare?
2. Il PIN di ogni tessera bancomat è costituito da 5 cifre. Quantisono i possibili codici segreti?
3. Supponiamo che in un certo paese straniero le targhe delleautomobili siano costituite da due lettere diverse dell’alfabetoitaliano e da tre cifre, dallo 0 al 9. Quante targhe si possonoformare?
4. Se gli studenti del corso di statistica sono n, qual è laprobabilità che non ci siano studenti che hanno il compleannonello stesso giorno? Qual è la probabilità che almeno duestudenti abbiano il compleanno nello stesso giorno?
Calcolo delle probabilità
1. Si consideri il seguente esperimento casuale: “si lancia tre volteuna moneta”. Qual è lo spazio degli esiti di questo esperimentocasuale? Si scriva esplicitamente l’evento “si ottengono piùteste che croci”
2. Si consideri il seguente esperimento casuale: “Si tirano duedadi”. Si considerino gli eventi E = “la somma dei punteggi èdispari”, F = “il primo dado realizza un 1” e G = “la sommadei punteggi è 5”. Si descrivano gli eventi E ∩ F , E ∪ F ,F ∩G, E ∩ F c e E ∩ F ∩G
Calcolo delle probabilità
3. Si consideri il seguente esperimento casuale: “Un sistema ècomposto da 4 componenti, ciascuno dei quali o funzionaoppure è guasto. Si osserva lo stato dei componenti ottenendoun vettore (x1, x2, x3, x4), dove xi è 1 oppure 0 a seconda cheil componente i-esimo funzioni oppure no”.3.1 Da quanti elementi è formato lo spazio degli esiti?3.2 Il sistema nel suo insieme funziona fintantoché entrambi i
componenti 1 e 2 oppure entrambi i componenti 3 e 4funzionano. Specifica tutti gli esiti dell’evento il “sistemafunziona”.
3.3 Sia E l’evento “i componenti 1 e 3 sono guasti”. Quanti esiticontiene?
4. Si dimostri che in uno spazio degli esiti Ω dotato di unaprobabilità P, per ogni evento E,F ⊂ Ω vale la disuguaglianzaseguente
P (E ∩ F ) ≥ P (E) + P (F )− 1.
Calcolo delle probabilità
5. Un gruppo di 5 bambini e 10 bambine è in fila in ordinecasuale, nel senso che tutte le 15! possibili permutazioni sisuppongono equiprobabili.5.1 Qual è la probabilità che il quarto della fila sia un bambino?5.2 E il dodicesimo?5.3 Qual è la probabilità che un determinato bambino occupi la
terza posizione?
6. In un comune vi sono 5 alberghi. Se 3 persone devono scegliereun albergo in cui pernottare, qual è la probabilità che finiscanotutte in alberghi differenti? Che cosa stiamo assumendo senzadirlo esplicitamente?
Calcolo delle probabilità
7. La media del salario annuale di un gruppo di 100 lavoratoriimpiegati nell’amministrazione di una grande azienda è di130 000 dollari con una deviazione standard di 20 000 dollari.Se si prende una persona a caso da questo gruppo cosapossiamo dire sulla probabilità che il suo salario sia7.1 tra i 90 000 e i 170 000 dollari.7.2 superiore a 150 000 dollari?
8. In una certa regione vi sono due ditte che producono forni amicroonde. Quelli della fabbrica A sono difettosi conprobabilità 0.05, mentre quelli della fabbrica B, con probabilità0.01. Supponi di aver acquistato due apparecchi prodotti dallastessa ditta, che può essere la A o la B con probabilità del50%. Se il primo microonde è difettoso, qual è la probabilitàcondizionata che sia difettoso anche il secondo?
Calcolo delle probabilità9. Hai chiesto ad un vicino di innaffiare una piantina delicata
mentre sei in vacanza. Pensi che senza acqua la piantina muoiacon probabilità 0.8, mentre se innaffiata questa probabilità siridurrebbe a 0.15. La tua fiducia che il vicino si ricordi diinnaffiarla è del 90%.9.1 Qual è la probabilità che la pianta sia ancora viva al tuo ritorno?9.2 Se fosse morta, quale sarebbe la probabilità che il vicino si sia
dimenticato di innaffiarla?
10. Una compagnia di assicurazioni classifica i suoi clienti in trefasce: basso rischio, medio rischio, alto rischio. Le suestatistiche indicano che le probabilità che un cliente delle trefasce abbia un incidente entro un periodo di un anno sonorispettivamente 0.05, 0.15, e 0.30. Se il 20% dei clienti sono abasso rischio, il 50% a medio rischio e il 30% ad alto rischio,che percentuale dei clienti avrà mediamente incidenti in unlasso di un anno? Se un cliente non ha avuto incidenti nel 1987,qual è la probabilità che appartenga a ciascuna delle tre fasce?
Calcolo delle probabilità
11. Dimostra che se X1 e X2 hanno la stessa distribuzione, allora
Cov(X1 +X2, X1 −X2) = 0.
12. Consideriamo una variabile aleatoria X che può assumere ivalori 1, 2 o 3. Se sappiamo che
fX(1) = 13 , fX(2) = 3
7 .
12.1 Quanto vale fX(3)?12.2 Disegnare il grafico di questa funzione di massa.12.3 Disegnare il grafico della relativa funzione di ripartizione.
Calcolo delle probabilità
13. La funzione di ripartizione di X è definita come segue.
FX(x) =
0, x < 0x2 0 ≤ x < 123 1 ≤ x < 21112 2 ≤ x < 31 3 ≤ x
13.1 Se ne tracci il grafico13.2 Quanto vale P (X > 1/2)?13.3 Quanto vale P (2 ≤ X ≤ 4)?13.4 Quanto vale P (X ≤ 3)?13.5 Quanto vale P (X = 1)?
Calcolo delle probabilità
14. Un tipo di prodotti vengono classificati a seconda dei lorodifetti e della fabbrica che li ha prodotti. Sia X1 il numero (1 o2) della fabbrica, e sia X2 il numero di difetti per pezzo (chepossono essere da 0 a 3), di un prodotto scelto a caso tra latotalità di quelli esistenti. La tabella seguente riporta lafunzione di massa di probabilità congiunta per queste duevariabili aleatorie discrete. Le righe si riferiscono alla variabileX1, mentre le colonne alla variabile X2
14.1 Trova le distribuzioni marginali di X1 e X2.14.2 Calcola media e varianza di X2.
0 1 2 3
1 1/8 1/16 3/16 1/82 1/16 1/16 1/8 1/4
Distribuzioni in R
Esistono quattro comandi di base per ogni distribuzione:
I r: restituisce un vettore di numeri casuali estratti secondo ladistribuzione
I d: restituisce il vettore della densità (o funzione di massa) delladistribuzione valutata nei valori del vettore di input
I p: restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore diinput
I q: restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input
Variabili aleatorie discrete: Binomiale
I rbinom(n, size, prob): restituisce un vettore di nn numeriestratti secondo una distribuzione Binomiale di parametri size,prob
I dbinom(x, size, prob): restituisce la probabilità diottenere esattamente x successi in un esperimento dicotomicoripetuto size volte con una probabilità di successo prob (xpuò essere un vettore)
I pbinom(q, size, prob): restituisce il valore della funzionedi ripartizione in q (q può essere un vettore)
I qbinom(p, size, prob): restituisce il valore del quantile diordine p (p può essere un vettore)
La variabile aleatoria di Bernoulli si ottiene ponendo size = 1
Variabili aleatorie discrete: Ipergeometrica
I rhyper(nn, m, n, k): restituisce un vettore di n numeriestratti secondo una distribuzione Ipergeometrica di parametrim, n, k
I dhyper(x, m, n, k): restituisce la probabilità di estrarreesattamente x elementi da un sottoinsieme di n elementi di uninsieme di n+m elementi usando k estrazioni senza reinserimento
I phyper(q, m, n, k): restituisce il valore della funzione diripartizione in q (q può essere un vettore)
I qhyper(p, m, n, k): restituisce il valore del quantile diordine p (p può essere un vettore)
Variabili aleatorie discrete: Geometrica
I rgeom(n, prob): restituisce un vettore di n numeri estrattisecondo una distribuzione Geometrica di parametro p
I dgeom(x, prob): restituisce la probabilità di avere unsuccesso dopo esattamente x insuccessi in una successione diesperimenti dicotomici con una probabilità di successo prob (xpuò essere un vettore)
I pgeom(q, prob): restituisce il valore della funzione diripartizione in q (q può essere un vettore)
I qgeom(p, prob): restituisce il valore del quantile di ordine p(p può essere un vettore)
Variabili aleatorie discrete: Poisson
I rpois(n, lambda): restituisce un vettore di n numeri estrattisecondo una distribuzione Poisson di parametro lambda
I dpois(x, lambda): restituisce il valore λx/(eλx!
)(x può
essere un vettore)I ppois(q, lambda): restituisce il valore della funzione di
ripartizione in q (q può essere un vettore)I qpois(p, lambda): restituisce il valore del quantile di ordine
p (p può essere un vettore)
Variabili aleatorie continue: UniformeI runif(n, min, max): restituisce un vettore di n numeri
estratti dall’intervallo [min, max] secondo una distribuzioneuniforme continua
I dunif(x, min, max): restituisce il valore
1max− min
I[min, max](x)
della densità in x (x può essere un vettore)I punif(q, min, max): restituisce il valore della funzione di
ripartizione in q (q può essere un vettore), ovvero 0 se q <min, 1 se q > max e
q - minmax - min
se q ∈ [min, max]
I qunif(p, min, max): restituisce il valore del quantile diordine p (p può essere un vettore)
Variabili aleatorie continue: Normale (o Gaussiana)
I rnorm(n, mean, sd): restituisce un vettore di n numeriestratti secondo una distribuzione Normale di parametri mean,sd
I dnorm(x, mean, sd): restituisce il valore
1sd√
2πe
− (x−mean)2
2(sd2)
(x può essere un vettore)I pnorm(q, mean, sd): restituisce il valore della funzione di
ripartizione in q (q può essere un vettore)I qnorm(p, mean, sd): restituisce il valore del quantile di
ordine p (p può essere un vettore)
Variabili aleatorie continue: Esponenziale
I rexp(n, rate): restituisce un vettore di n numeri estrattisecondo una distribuzione Esponenziale di parametro rate
I dexp(x, rate): restituisce il valore rate · e−rate·x (x puòessere un vettore)
I pexp(q, rate): restituisce il valore della funzione diripartizione in q (q può essere un vettore)
I qexp(p, rate): restituisce il valore del quantile di ordine p (ppuò essere un vettore)
Esercizi
1. Un’urna contiene 10 palline di cui 4 bianche e 6 nere. Sieseguono 5 estrazioni con reimmissione1.1 Tracciare grafico della funzione massa di probabilità della
variabile casuale X = "numero di palline biancheestratte"
1.2 Calcolare la probabilità di estrarre 2 palline bianche1.3 Calcolare la probabilità di estrarre al più 2 palline bianche1.4 Calcolare la probabilità di estrarre almeno 2 palline bianche1.5 Qual è il numero minimo x tale che la probabilità di estrarre al
più x palline bianche sia almeno 0.8?
Esercizi
2. Si eseguono 10 estrazioni senza reimmissione da un’urna2.1 Tracciare il grafico della funzione massa di probabilità della
variabile casuale X = "numero di palline biancheestratte" nei seguenti casi:2.1.1 l’urna contenente 100 palline di cui 20 bianche e le restanti nere2.1.2 l’urna contiene 100 palline di cui 2 bianche e le restanti nere
2.2 Tracciare il grafico della funzione massa di probabilità dellavariabile casuale X nel caso dell’urna 1 se si eseguono 25estrazioni
2.3 Consideriamo l’urna 1 e k = 10 estrazioni. Si aumenti ilnumero totale M di palline nell’urna mantenendo uguale a 0.2 lafrazione di palline bianche. Per ciascun valore di M confrontaregraficamente la distribuzione di probabilità del numero di pallinebianche estratte nel caso di estrazioni con e senza reimmissione.Provare con 20, 40 e 200 palline bianche
Esercizi
3. Calcolare la probabilità di ottenere più teste che croci lanciando7 volte una moneta truccata con probabilità di avere croce paria 0.45
4. Calcolare la probabilità di avere almeno 3 sei lanciando 5 dadia 12 facce
5. Calcolare la probabilità di estrarre 20 euro da un saccocontenente 47 monete da 1 centesimo e 53 da 2 euroestraendo (uniformemente) a caso 10 monete senza reinserirle
6. Un grammo di uranio emette mediamente 2152 particelle αogni millisecondo. Qual è con buona approssimazione laprobabilità che un grammo di uranio emetta al più 2000particelle α in un millisecondo?
Esercizi
7. Si generi un campione di 10000 valori estratti da unadistribuzione geometrica di parametro p = 0.5
7.10 Si confrontino attraverso un qqplot la distribuzione empiricadei dati appena ottenuta e quella teorica
8. Un uomo si risveglia in mezzo al deserto senza acqua. Dopoogni minuto ha una probabilità del 3% di perdere conoscenzaper via delle condizioni estreme. Calcolare la probabilità chel’uomo perda conoscenza dopo almeno due ore e la probabilitàche l’uomo perda conoscenza dopo esattamente un quarto d’ora
9. Se un votante scelto a caso è favorevole ad una certa riformacon probabilità di 0.7, qual è la probabilità che su 10 votanti,esattamente 7 siano favorevoli?
Esercizi10. Sia X una variabile aleatoria normale di parametri µ = 10 e
σ = 36. Calcola:10.1 P (X > 5)10.2 P (4 < X < 16)10.3 P (X < 8)
11. Il numero di errori tipografici per pagina di una certa rivistasegue una distribuzione di Poisson. Sapendo che mediamentesono presenti 0.2 errori per pagina, determinare la probabilitàche una pagina contenga:11.1 nessun refuso11.2 più refusi
12. Arrivi alla fermata dell’autobus alle 10:00 e sei certo che nepasserà uno in un momento distribuito uniformemente tra le10:00 e le 10:3012.1 Qual è la probabilità che tu debba aspettare più di 10 minuti?12.2 Se alle 10:15 l’autobus non è ancora arrivato, qual è la
probabilità che tu debba aspettare almeno altri 10 minuti?
Esercizi
13. Il signor Jones è convinto che il tempo di vita di unaautomobile (in migliaia di chilometri percorse) sia una variabilealeatoria esponenziale di parametro 1/20. Il signor Smith hauna macchina usata da vendere che ha percorso circa 10 000chilometri13.1 Se il signor Jones decide di comprarla, che probabilità ha di farle
fare almeno altri 20 000 chilometri prima che sia da buttare?13.2 Il modello assunto dal signor Jones è ragionevole?
14. Sia X una variabile casuale binomiale di parametri n = 100 ep = 0.714.1 Tracciate la funzione di ripartizione di X14.2 Calcolate, con un unico comando, il primo quartile, il quantile di
ordine 0.9 e la mediana di X14.3 Calcolare la probabilità P (X ≤ 60)14.4 Calcolare la probabilità P (X > 88)14.5 Trovare il più piccolo valore x tale che P (X ≤ x) ≥ 0.9
Esercizi
15. Un’urna contiene M = 50 palline di cui K = 5 bianche.Estraggo una pallina dall’urna, ne controllo il colore e registro 1se è bianca e 0 altrimenti; poi rimetto la pallina nell’urna15.2 Simulare questo esperimento per 100 volte. (Ciò equivale a
generare un vettore di 100 valori estratti da una distribuzionebernoulliana di parametro p = 1/10)
15.3 Verificare che le frequenze relative dei 100 risultati ottenuti(cioè delle 100 osservazioni) rispettino una legge bernoulliana diparametro p = 0.1
15.4 Tracciare il grafico della funzione di ripartizione teorica esovrapporgli utilizzando comando lines() il grafico dellafunzione cumulativa empirica
15.5 Verificare che la media e la varianza del campione generato siavvicinino al valore atteso e alla varianza del modello teoricoche lo ha generato
Esercizi
16. Sia X una variabile aleatoria con varianza 1. Sia inoltreX1, . . . , Xn un campione aleatorio di numerosità n = 1000estratto da X, ovvero siano X1, . . . , Xn variabili aleatorieindipendenti, tutte distribuite come X16.1 Si fornisca uno stimatore per il valore atteso di X16.2 Si fornisca una maggiorazione della probabilità che si commetta,
nello stimare il valore atteso di X, un errore per eccesso o perdifetto superiore a 1/100
16.3 Si fornisca una condizione sufficiente sull’errore commesso pereccesso o per difetto nello stimare il valore atteso di X affinchéla probabilità di commettere al più tale errore sia almeno 0.99
Esercizi di riepilogo su R
0. Sia X una variabile aleatoria bernulliana di parametro p=0.1.Tracciare il grafico della funzione massa di probabilità
Scaricare dalla pagina del corso il file regolarita-mensile-tgv.csv
1. Importare i dati (tenendo presente che il separatore di decimaliper i numeri è la virgola) e dire quanti casi sono presenti neldataset
2. Consideriamo il carattere Direttrice, che indica la zona lungo laquale circolano i treni2.1 Quante sono le direttrici di circolazione?2.2 Calcolare la tabella delle frequenze relative dei treni lungo le
diverse direttrici2.3 I Mostrare un grafico adeguato per riassumere la distribuzione
delle zone di circolazione
Esercizi di riepilogo su R
3. Consideriamo il carattere NumeroTreniAnnullati
3.1 Calcolare la tabella delle frequenze assolute del numero di treniannullati
3.2 In totale, quanti sono stati i treni annullati?3.3 I Mostrare un grafico adeguato per riassumere la distribuzione
del numero di treni annullati3.4 L’informazione riguardo al numero di treni annullati è presente
per tutte le tratte?3.5 In media, quanti sono stati i treni annullati per tratta?3.6 Calcolare la deviazione standard del numero di treni annullati
4. In questo punto vogliamo studiare la possibile relazione tra ilnumero di treni annullati e il numero di treni programmato4.1 Visualizzare il diagramma di dispersione per gli attributi
NumeroTreniProgrammati e NumeroTreniAnnullati4.2 I Calcolare il coefficiente di correlazione tra i due attributi e
commentare il risultato ottenuto4.3 I Notate una relazione tra il numero di treni annullati e il numero
di treni programmato? Giustificate la risposta
Esercizi di riepilogo su R
5. Prendiamo in considerazione l’IndiceRegolarita
5.1 Visualizzare l’istogramma5.2 Determinare la mediana5.3 Determinare il decimo percentile5.4 Tracciare il diagramma di dispersione per le seguenti coppie di
caratteri:5.4.1 IndiceRegolarita e PercentualeTreniCircolanti,5.4.2 IndiceRegolarita e PercentualeTreniAnnullati,5.4.3 IndiceRegolarita e PercentualeTreniInritardo
5.5 I Osservando i grafici ottenuti è facile concludere chel’IndiceRegolarita è un carattere derivato da un altrocarattere del dataset. Dire di quale carattere si tratta e scriverela relazione che esiste tra questo e l’IndiceRegolarita
5.6 Per ciascuna delle quattro direttrici stampare boxplot eistogrammi relativi al carattere IndiceRegolarità
Esercizi di riepilogo su R
6. In questo esercizio considereremo solamente il sottoinsieme deldataset relativo alle tratte presenti nelle zone di circolazioneNord e SudEst (per “tratta” intendiamo la linea che collegauna stazione di Partenza con una di Arrivo)6.1 Quante sono in tutto le tratte presenti su queste due direttrici?6.2 Calcolare i valori minimo (nmin) e massimo (nmax) di treni
circolanti sulle tratte appartenenti alle due direttrici
Esercizi di riepilogo su R
7. La carta dei servizi delle ferrovie garantisce agli utenti pendolariche viaggiano tra una città A e una città B (quindi sulle tratteda A verso B e da B verso A) un rimborso di partedell’abbonamento. Tale rimborso viene effettuato se daldataset utilizzato nei punti precedenti emerge chel’IndiceRegolarita è risultato inferiore a 0.85 almeno nel 10%dei casi sulle due tratte considerate. Per facilitare i calcoli chedevono essere fatti dall’ufficio rimborsi, il programmatore dellasocietà ha pensato di inserire nel dataset una nuova colonna,denominata RisarcUtenti. Ha poi calcolato il valore diRisarcUtenti nel seguente modo: se IndiceRegolarita èminore di 0.85, imposta RisarcUtenti ad 1, altrimenti a 0.Si pensi tale regola come ad un algoritmo e non come ad uncomando in un particolare linguaggio di programmazione.
Esercizi di riepilogo su R
8. 8.1 Calcolare la media del carattere RisarcUtenteIndichiamo con SN il collegamento STRASBOURG-NANTES, inentrambe le direzioni
8.2 Quante volte l’indice di regolarità sull’asse SN ha assunto unvalore minore di 0.85?
8.3 Calcolare la media del carattere RisarcUtente estesa al solocollegamento SN
8.4 Io viaggio regolarmente sull’asse SN. Ho diritto al rimborso?8.5 L’algoritmo usato dal programmatore per calcolare il carattere
RisarcUtenti come si comporta nel caso sia mancante ilvalore IndiceDiRegolarità?
8.6 Ho ragione nel lamentarmi che utilizzare il contenuto delcarattere RisarcUtenti per decidere se rimborsare potrebbenon essere onesto nel confronto degli utenti? Si giustifichi larisposta