Secondo seminario per il corso di calcolo delle probabilita` e statistica matematica del professor fedullo (conoscere Latex all\'epoca mi avrebbe fatto comodo)
1. R E LA STATISTICAR E LA STATISTICA
Corso di calcolo delle probabilità e statistica matematica
Professor Aniello Fedullo
Vincenzo De Maio
Matricola 0510200251
2. Riassunto della puntataRiassunto della puntata
precedenteprecedente
● Tipi di dati e strutture dati di R
● R, i vettori, l'aritmetica
● Strutture di controllo
● Creazione di proprie funzioni
3. Presupponiamo che sianoPresupponiamo che siano
note le definizioni dinote le definizioni di
● Spazio di probabilità
● Variabile aleatoria
● Densità discreta
● Funzione di distribuzione
5. Distribuzioni in RDistribuzioni in R
In R, le distribuzioni che noi ben conosciamo
vengono così definite:
Distribuzione Nome R Parametri
binomiale binom n,p
gamma gamma α,λ
geometrica geom p
ipergeometrica hyper m,n,k
normale norm m,σ^2
binomiale negativa nbinom n,p
Poisson pois λ
Uniforme unif min,max
6. Distribuzioni in RDistribuzioni in R
● Così come sono, i nomi dati in precedenza non
servono a nulla; Per poter utilizzare le rispettive
funzioni in R, bisogna aggiungere
● p per avere la funzione di distribuzione
● d per avere la densità discreta
● r per effettuare una simulazione
● e ovviamente i rispettivi parametri
● Cioè?
● Per avere la funzione binomiale, useremo pbinom(n,k); per
avere la densità, dbinom() e per effettuare una simulazione
rbinom()
7. Oggi vedremo...Oggi vedremo...
● Richiami su variabili aleatorie e distribuzioni
● Le distribuzioni in R
● Alcuni esempi
● Distribuzione binomiale
● Distribuzione geometrica
● Distribuzione ipergeometrica
● Distribuzione binomiale negativa
● Distribuzione di Poisson
● Distribuzione normale
8. Distribuzione binomialeDistribuzione binomiale
La distribuzione binomiale, detta anche di Bernoulli
in onore del matematico svizzero che la formalizzò,
vale
P(X<=i) = Σ(κ = 0 ,ι)binomiale(nk) * p^k *
(1-p)^n-k
Sia p la probabilità di successo dell'esperimento; Il
risultato ottenuto probabilità di avere k successi su n
ripetizioni di un esperimento.
9. EH? e perchè mai?EH? e perchè mai?
● Ovvio!
● Per l'assioma di Bernoulli, p^k(1-p)^n-k è la probabilità
di avere k teste ed n-k croci in n lanci.
● Ma ci sono binomiale(nk) modi di scegliere tra gli n
lanci quei k che ci danno le teste.
● Da qui otteniamo il prodotto
binomiale(nk) * p^k * (1-p)^n-k
10. Utilizzo in RUtilizzo in R
● L'utilizzo della distribuzione binomiale in R
avviene tramite queste funzioni
● dbinom(k,n,p) – densità discreta binomiale
● pbinom(k,n,p) – funzione di distribuzione binomiale
● rbinom(N,n,p) - simulazione della distribuzione
● Dove
● k è il numero di successi
● n è il numero di tentativi di un esperimento
● p è la probabilità di successo
● N è il numero di osservazioni sul fenomeno aleatorio.
11. Un semplice problema...Un semplice problema...
● E' noto che la probabilità che le viti prodotte da
una fabbrica siano difettose è pari a 0.01. Se la
fabbrica vende le viti in confezioni di 10 e le
sostituisce solo nel caso in cui vi sia più di una
vite difettosa, qual è la percentuale di pacchetti
che dovrà rimpiazzare?
12. SoluzioneSoluzione
● Sia X la variabile aleatoria “numero di viti
difettose in una confezione da 10”; assumiamo
può essere vista come una variabile aleatoria di
Bernoulli di parametri (10,0.01).
● Il risultato che cerchiamo è pari a 1-P(X<=1), in
quanto le confezioni vengono rimpiazzate solo se
possiedono più di una vite difettosa.
13. Un paio di calcoli...Un paio di calcoli...
● 1-P(X=0)+P(X=1) ( o ,se preferite, 1-Fx(1) )
● 1-{[binom(10,0)*(0.01)^0*(0.99)^10] +
[binom(10,1)*(0.01)^1*(0.99)^9]} ≈ 0.004.
● E noi dovremmo fare tutto questo???
● Ma non esiste proprio!
● Fortuna che esiste R!
14. Facciamo questo calcolo in RFacciamo questo calcolo in R
● Vediamo l'utilizzo della funzione di
distribuzione... possiamo verificare lo stesso
calcolo anche usando le densità discrete
15. Utilizzo delle densità discreteUtilizzo delle densità discrete
● Abbiamo ottenuto lo stesso risultato, utilizzando
le densità discrete
16. Per gli scettici...Per gli scettici...
● Qualcuno di voi poveri mortali
potrebbe non credere al nostro calcolo...
possiamo, sempre grazie a R, effettuare
un'osservazione della variabile aleatoria
binomiale attraverso rbinom().
17. Simulazione di unaSimulazione di una
distribuzione binomialedistribuzione binomiale
● Vediamo per 100 scatole il numero di viti
difettose
18. Oggi vedremo...Oggi vedremo...
● Richiami su variabili aleatorie e distribuzioni
● Le distribuzioni in R
● Alcuni esempi
● Distribuzione binomiale
● Distribuzione geometrica
● Distribuzione ipergeometrica
● Distribuzione binomiale negativa
● Distribuzione di Poisson
● Distribuzione normale
19. Distribuzione geometricaDistribuzione geometrica
● La distribuzione geometrica è definita come il
numero di tentativi necessari per avere il primo
successo; la sua formalizzazione è la
seguenteintuitivamente viene definita come
Σ(n=1,∞)p(1-p)^n-1
● Se l'esperimento è il lancio di una moneta,
possiamo definire la variabile aleatoria come il
tempo di attesa per la prima testa (o croce).
20. Utilizzo in RUtilizzo in R
● L'utilizzo della distribuzione geometrica in R
avviene tramite queste funzioni
● dgeom(k,p) – densità discreta binomiale
● pgeom(k,p) – funzione di distribuzione binomiale
● rbinom(N,p) - simulazione della distribuzione
● Dove
● k è il numero di tentativi che occorrono per avere un
successo
● p è la probabilità di successo
● N è il numero di osservazioni sul fenomeno aleatorio.
21. Un altro problema! Evviva!Un altro problema! Evviva!
PARADOSSO DELLA SCIMMIA DI
BOREL
Abbiamo una scimmia che batte tasti a caso su
una tastiera: quante probabilità ci sono che la
scimmia, prima o poi, scriva la divina
commedia?
22. SoluzioneSoluzione
● Siano k i tasti sulla tastiera, c la cardinalità
dell'alfabeto che utilizza la Divina Commedia; la
probabilità che la scimmia scriva la divina
commedia la prima volta che ci prova, è pari a
k^-c,facendo c battute a caso.
● Tratteremo le prove come processi di Bernoulli,
in cui il lancio di una moneta consiste nel fare c
battute a caso; esce testa se la scimmia scrive la
divina commedia, croce altrimenti.
23. SoluzioneSoluzione
● Usando la distribuzione geometrica, viene fuori
che la probabilità che scriva la divina commedia
all'n-esimo lancio (= che esca testa all'n-esimo
lancio) è pari a p(1-p)^n.
● La probabilità che prima o poi la scriva invece è
Σ[n>0]p(1-p)^n...
● Cooosa? ma questa somma è uguale a 1!
25. Morale della favolaMorale della favola
● Il concetto di infinito è sempre misterioso!
● Dante, ovviamente, resta il padre della letteratura
italiana... non ci sogniamo neanche lontanamente
di paragonarlo a una scimmia che batteva tasti a
caso su una tastiera!
26. Oggi vedremo...Oggi vedremo...
● Richiami su variabili aleatorie e distribuzioni
● Le distribuzioni in R
● Alcuni esempi
● Distribuzione binomiale
● Distribuzione geometrica
● Distribuzione ipergeometrica
● Distribuzione binomiale negativa
● Distribuzione di Poisson
● Distribuzione normale
27. Distribuzione ipergeometricaDistribuzione ipergeometrica
La distribuzione ipergeometrica viene definita
usando questo semplice esempio: supponiamo di
avere un'urna contenente r palline rosse e b palline
bianche. Ne estraiamo n: la distribuzione
ipergeometrica ci consente di calcolare la
probabilità che su n palline, k siano rosse ed n-k
bianche. Di seguito vediamo la sua definizione:
P(X<=i)Σ(0,i)[binom(k,i)*binom(n-
k,n-i)/binom(m,n)]
Dove X è la v.a. indicante il numero di palline rosse.
28. Utilizzo in RUtilizzo in R
● L'utilizzo della distribuzione ipergeometrica in R
avviene tramite queste funzioni
● dhyper(k,r,b,m) – densità discreta binomiale
● phyper(k,r,b,m) – funzione di distribuzione binomiale
● rhyper(N,r,b,m) - simulazione della distribuzione
● Dove
● k è il numero di palline rosse che vogliamo avere
● r è il numero di palline rosse presenti nell'urna
● b è il numero di palline bianche presenti nell'urna
● m è il numero di palline presenti nell'urna
● N è il numero di osservazioni sul fenomeno aleatorio.
29. Un altro problemaUn altro problema
Abbiamo un'urna contenente 100 palline, di cui 45
bianche e 55 rosse. Se ne estraiamo 30 senza
rimessa, qual è la probabilità che al più 10 siano
bianche?
30. SoluzioneSoluzione
La soluzione a questo problema è piuttosto banale,
applicando la distribuzione ipergeometrica... ma
ovviamente, noi siamo pigri e non vogliamo
calcolare questa espressione:
Σ(i=1,10)[binom(45,i)*binom(55,100-i
)/binom(100,30)]
Fortunatamente, R ci da una mano.
32. Oggi vedremo...Oggi vedremo...
● Richiami su variabili aleatorie e distribuzioni
● Le distribuzioni in R
● Alcuni esempi
● Distribuzione binomiale
● Distribuzione geometrica
● Distribuzione ipergeometrica
● Distribuzione binomiale negativa
● Distribuzione di Poisson
● Distribuzione normale
33. Distribuzione binomialeDistribuzione binomiale
negativanegativa
La distribuzione binomiale negativa rappresenta la
probabilità di dover ripetere n volte un esperimento
perchè si realizzino r successi. Viene così definita
P(X<=n) = Σ(n=r,∞)[binom(n-1,r-1)*(p)
^r*(1-p)^n-r]
dove X è il numero di volte che dobbiamo ripetere
l'esperimento.
34. Utilizzo in RUtilizzo in R
● L'utilizzo della distribuzione binomiale negativa
in R avviene tramite queste funzioni
● dnbinom(n,r,p) – densità discreta binomiale
● pnbinom(n,r,p) – funzione di distribuzione binomiale
● rnbinom(N,r,p) - simulazione della distribuzione
● Dove
● n numero di tentativi per avere r successi
● r i successi che vogliamo ottenere
● p la probabilità di successo
● N è il numero di osservazioni sul fenomeno aleatorio.
35. Applichiamo questaApplichiamo questa
distribuzionedistribuzione
BANACH E I FIAMMIFERI
Il matematico polacco Banach fuma la pipa e porta con se 2 scatole di
fiammiferi, una nella tasca destra e l'altra nella sinistra. Ogni volta che
ha bisogno di un fiammifero, sceglie un fiammifero da una delle due
scatole con uguale probabilità. A un certo punto, si accorge che una
scatola è vuota: qual è la probabilità che nell'altra scatola ci siano k
fiammiferi, sapendo che ogni scatola contiene N fiammiferi?
36. SoluzioneSoluzione
Costruiamo l'evento aleatorio E che indica la
scoperta che la scatola sinistra (o destra) sia vuota;
questo evento si verificherà solo se l'N+1-esima
scelta in quella tasca è avvenuta alla (N+1) + (N-k)-
esima prova, pari a (2N-k+1); i parametri della
distribuzione vengono così definiti:
p = 1/2, r= N+1, n = (2N-k+1)
37. SoluzioneSoluzione
La probabilità che una tasca sia vuota dunque è pari
a
binom(2N-k,N)(1/2)^(2N-k+1)
per l'equiprobabilità degli eventi, la probabilità cercata è
2P(E), cioè
binom(2N-k,N)(1/2)^(2N-k)
Uffa, un altro calcolo difficile!
Nessun problema, ci pensa R!
38. SoluzioneSoluzione
Questo è il risultato per 20 fiammiferi in ogni
scatola, supponendo che siano rimasti 5 fiammiferi
nell'altra scatola e che siano necessari 35 tentativi.
39. Oggi vedremo...Oggi vedremo...
● Richiami su variabili aleatorie e distribuzioni
● Le distribuzioni in R
● Alcuni esempi
● Distribuzione binomiale
● Distribuzione geometrica
● Distribuzione ipergeometrica
● Distribuzione binomiale negativa
● Distribuzione di Poisson
● Distribuzione normale
40. Distribuzione di PoissonDistribuzione di Poisson
La distribuzione di Poisson è un'ottima
approssimazione di una variabile aleatoria
binomiale di parametri n,p , quando n è grande e p è
piccolo a sufficienza perchè n*p tenda a un valore
positivo finito. Viene così definita:
P(X<=n)=(e^-λ)∗Σ(i=0,n)λ^i/i!
41. Utilizzo in RUtilizzo in R
● L'utilizzo della distribuzione di Poisson in R
avviene tramite queste funzioni
● dpoisson(n,lambda) – densità discreta binomiale
● pnbinom(n,lambda) – funzione di distribuzione
binomiale
● rnbinom(N,lambda) - simulazione della distribuzione
● Dove
● n numero di tentativi per avere r successi
● lambda il parametro della distribuzione, pari a n*p
● N è il numero di osservazioni sul fenomeno aleatorio.
42. ProblemaProblema
Suponniamo che in quesste slite il numero di erroro
di bbattiturrra in una singolla pagggina sia
ddistribbuito come una variabbbile alleatoria di
Poisson di parametro λ = 1/2. Calcolliammmo la
pooossibbilità che ci ssia almeno un eerrorre in
qqquesta ppaggginna.
43. SoluzioneSoluzione
Sia X il numero (aleatorio!) di errori di stampa nella
pagina precedente; il valore cercato è pari a
1-P(X=0) = 1-e^(-1/2)
Il risultato... a tra poco
45. Oggi vedremo...Oggi vedremo...
● Richiami su variabili aleatorie e distribuzioni
● Le distribuzioni in R
● Alcuni esempi
● Distribuzione binomiale
● Distribuzione geometrica
● Distribuzione ipergeometrica
● Distribuzione binomiale negativa
● Distribuzione di Poisson
● Distribuzione normale
46. Dulcis in fundo... DistribuzioneDulcis in fundo... Distribuzione
normalenormale
Una variabile aleatoria si dice normale di parametri
m e sigma (dove m è la media e sigma la deviazione
standard) se la sua densità è pari a
1/σ√(2π)e^(-(x-m)^2/2σ^2)
Questa funzione ha un'andamento a campana ed è
simmetrica rispetto ad m. Una normale si dice
standard se m=0 e sigma^2=1.
48. 1001 modi di utilizzare la1001 modi di utilizzare la
normale...normale...
Vedremo, nelle slide seguenti, che la normale viene
utilizzata largamente nel calcolo statistico: vedremo
in particolare
1) come calcolare il trucco di una moneta
2) come risolvere un problema di natura
commerciale
3) come determinare il numero di persone da
intervistare per avere un certo livello di precisione
in un sondaggio.
49. Utilizzo in RUtilizzo in R
● L'utilizzo della distribuzione normale in R
avviene tramite queste funzioni
● dnorm(n,m,sigma) – densità discreta
● pnbinom(x,m,sigma) – funzione di distribuzione
● rnbinom(N,m,sigma) - simulazione della distribuzione
● Dove
● n numero di tentativi per avere r successi
● m il parametro della distribuzione, pari a n*p
● sigma la deviazione standard
● N è il numero di osservazioni sul fenomeno aleatorio.
50. Problema 1Problema 1
Abbiamo il sospetto che una moneta sia truccata:
Come facciamo a stabilire se ciò sia vero o falso,
sapendo che su 100 lanci sono uscite 41 teste?
51. SoluzioneSoluzione
Siano le variabili aleatorie X1,X2,...,Xi,
indipendenti e identicamente distribuite di media m
e varianza σ^2 gli esiti dell'i-esimo lancio della
moneta; Per il teorema del limite centrale sappiamo
che la loro distribuzione tende a essere normale
standard. Ciò significa che possiamo utilizzare la
normale per predire con una certa significatività
(probabilità dell'errore di primo tipo) se la moneta
sia truccata o meno. Nel caso nostro, vogliamo una
significatività pari a 0.05.
52. SoluzioneSoluzione
Per verificare se una probabilità si trovi o meno
all'interno di un certo intervallo di confidenza, si
utilizza la funzione φ(X), pari a
1/√2π ∫[-∞,a] e^[(-x^2)/2]dx
Tornando alla nostra moneta, è facile calcolare la media (50,
ovvero 100*1/2) e la varianza (100*1/2*1/2) della somma
delle varie Xi. Ciò che dobbiamo fare quindi è
1) Trasformare questa somma in una normale standard
2) trovare il valore di x che ci dia il nostro intervallo di
confidenza.
53. SoluzioneSoluzione
Per trasformare la distribuzione in normale standard,
dobbiamo trasformare tutti i membri della
disuguaglianza -x < X <= x in modo che X abbia
media 0 e varianza 1; nel caso specifico, bisogna
aggiungere 50 e moltiplicare per 5; l'espressione
voluta perciò sarà
-x*5+50 < X <= x*5+50
54. Procediamo utilizzando RProcediamo utilizzando R
Con R è facile trovare il valore da cui dipende
l'intervallo di confidenza... a questo punto,
calcoliamo l'intervallo.
55. SoluzioneSoluzione
-x*5+50 < X <= x*5+50
diventa...
40.2 < X <= 59.8
Il numero di teste ottenute (41) rientra in questo
intervallo di confidenza... perciò DOBBIAMO
RIGETTARE L'IPOTESI CHE LA MONETA
SIA TRUCCATA.
Tutto questo può essere unito in un'unica funzione
R...
56. Un po' di sanaUn po' di sana
programmazione...programmazione...
Tutto quello che abbiamo fatto finora,
sapientemente riunito in una funzione.
57. E vabbè, vi do anche ilE vabbè, vi do anche il
sorgente!sorgente!
trucco <- function(media,sigma,x,valore) {
y<-(1+x)/2;
dominio <- seq(0,3.49,0.01);
for(i in dominio){
if(pnorm(i)>=y){val<-i;
break;}
}
intervallo<-c(-val*sigma+media,val*sigma+media);
if(valore >= intervallo[1] && valore <= intervallo[2])
cat("Dobbiamo rigettare l' ipotesi di trucco") else cat("Non
possiamo rigettare l' ipotesi di trucco");
}
58. Altro esempio... un problemaAltro esempio... un problema
economicoeconomico
1000 passeggeri possono scegliere per viaggiare fra
2 compagnie aeree concorrenti; sapendo che la
probabilità che scelgano l'una o l'altra è uguale,
calcolare quanti posti basta mettere in un aereo per
avere una bassa probabilità di dover rifiutare la
prenotazione di alcuni passeggeri.
Per essere sicuro di questo basta mettere 1000 posti,
ma grazie alla statistica posso risparmiare e riuscire
nella maggior parte dei casi a non rifiutare nessuna
prenotazione!
59. SoluzioneSoluzione
Trattiamo ogni passeggero come una v.a. di
Bernoulli (o binomiale), con risultato 1 se sceglie la
nostra compagnia, 0 se sceglie la concorrente;
Sappiamo che questa somma tende ad essere
normale standard, perciò calcoliamo la media e la
varianza
m = 1000*1/2 = 500
sigma^2=1000*1/2*1/2 = 25
60. SoluzioneSoluzione
Come prima, dobbiamo trasformare la somma in
una normale standard, ma l'equazione da risolvere
questa volta non riguarda un intervallo di
confidenza, ma sarà
P(X<=-x) = 1-φ(x).
Supponiamo di volere una probabilità dell'1% (0.01
); l'equazione sarà
1-φ(x) = 0.99
62. SoluzioneSoluzione
Per trasformare in normale standard, bisogna come
al solito fare in modo che la media diventi 0 e la
varianza 1... perciò l'equazione diventa
(2.33*5√10)+500≈537
63. Anche questo possiamoAnche questo possiamo
metterlo in un'unica funzionemetterlo in un'unica funzione
R!R!
Creazione di una funzione che esegua questo
calcolo...
64. Vediamo il sorgenteVediamo il sorgente
supLim <- function(media,sigma,fival){
dominio <- seq(0,3.49,0.01);
for(i in dominio){if(pnorm(i)>=fival){valore <-
i;break;}}
risultato <- valore*sigma+media;
risultato
}
65. L'ultimo, poi basta...L'ultimo, poi basta...
Proviamo a determinare con un intervallo di
confidenza al 95% (0.95) la percentuale di fumatori
in un paese.
66. SoluzioneSoluzione
Ogni individuo ha probabilità pari a p di essere un
fumatore: il problema si riduce dunque a stimare p.
Per un campione di ampiezza N, la media
campionaria m' = numero di fumatori / n.
Per una diversa formulazione del teorema del limite
centrale, questa media tenderà ad essere una
normale di parametri (p,sigma^2/n)... perciò
abbiamo tutto quello che ci serve per trovare questa
media!
67. SoluzioneSoluzione
In questo caso, l'equazione da risolvere è quella
dell'intervallo di confidenza... ma dato che non ci
interessa un intervallo di valori, ma uno in
particolare, utilizziamo la sua equivalente
P(|m'-p|/σ√n <= 1.96)
(1.96 è il valore x che rende φ(x) = 0.95)
68. SoluzioneSoluzione
L'equazione si può trasformare nel seguente modo...
● |m'-p| <= 1.96*σ/√n
● 1.96*σ/√n < 0.005 (come diretta conseguenza del
fatto che |m'-p| <0.005, dato che vogliamo una
precisione fino alla seconda cifra decimale.)
● Bisogna trovare dunque il valore di n che risolve
questa equazione...
1.96*σ/√n < 0.98/√n < 0.005
69. SoluzioneSoluzione
● σ = 1/2... ragion per cui il tutto diventa
0.98 <= 0.005√n
con n = 38417
Che è il numero di persone che dobbiamo
intervistare per avere una precisione fino alla
seconda cifra decimale...