Sei sulla pagina 1di 21

Laboratorio con

Corso di Inferenza Statistica

Nicola Torelli Roberta Pappada

Corso di laurea in
Statistica e Informatica per
lazienda, la finanza e lassicurazione

Universita degli Studi di Trieste

a.a. 2017/2018
Variabili aleatorie e distribuzioni di probabilita
Le distribuzioni di probabilita disponibili in R si ottengono con il comando ?Distributions
eseguito dalla console di R:

Distribution R name additional arguments


beta beta shape1, shape2
binomial binom size, prob
Cauchy cauchy location, scale
chi-squared chisq df
exponential exp rate
F f df1, df2
gamma gamma shape, scale
geometric geom prob
hypergeometric hyper m, n, k
log-normal lnorm meanlog, sdlog
negative binomial nbinom size, prob
normal norm mean, sd
Poisson pois lambda
Students t t df
uniform unif min, max
Weibull weibull shape, scale

Per le piu comuni distribuzioni di probabilita discrete e continue, sono disponibili


i comandi per il calcolo di funzione di densita o probabilita, funzione di ripartizione,
quantili e per la generazione di numeri pseudo-casuali:

d<nome-var-al>(x,<altri parametri>) densita (o funzione di probabilita) in x

p<nome-var-al>(x,<altri parametri>) funzione di distribuzione cumulata in x

q<nome-var-al>(r,<altri parametri>) quantile r-esimo

r<nome-var-al>(N,<altri parametri>) generazione casuale di N elementi estratti


dalla distribuzione indicata

1. Distribuzioni di probabilita discrete

Esempio: la distribuzione binomiale. Sappiamo che una variabile aleatoria binomiale


di parametri n e p descrive il numero di successi ottenuti in un esperimento binomiale
con n prove e probabilita di successo p, ed ha funzione di probabilita binomiale definita
da  
n x
p( x ) = p (1 p)n x , x = 0, 1, . . . , n.
x

2
Vogliamo calcolare la probabilita P( X = 5) dove X Bin(n, p) con n = 20, p =
0.5. Usiamo la funzione seq() che produce vettori con componenti equispaziate, e
choose(n,r) che restituisce il coefficiente binomiale di n su r (puo essere utile ricordare
che la funzione factorial(n) restituisce il fattoriale di n):

x=seq(from=0, to=20, by=1)


#calcoliamo P(X=x) per ogni valore di x
pbin=choose(20,x)*.5^x*(1-.5)^(20-x)
pbin

## [1] 9.536743e-07 1.907349e-05 1.811981e-04 1.087189e-03 4.620552e-03


## [6] 1.478577e-02 3.696442e-02 7.392883e-02 1.201344e-01 1.601791e-01
## [11] 1.761971e-01 1.601791e-01 1.201344e-01 7.392883e-02 3.696442e-02
## [16] 1.478577e-02 4.620552e-03 1.087189e-03 1.811981e-04 1.907349e-05
## [21] 9.536743e-07

Possiamo usare la funzione sum() per verificare che si tratti di una funzione di pro-
babilita.

sum(pbin)

## [1] 1

Lo strumento piu generale per rappresentare graficamente gli oggetti e la funzione


plot(). La forma generale e plot(x,opzioni) oppure plot(x,y,opzioni) in cui x, y
sono appropriati oggetti R e le opzioni definiscono laspetto finale del grafico. Le opzioni
principali sono

type: determina il tipo di grafico, a scelta tra

p (points), punti (default),


l (lines), linee,
b (both), punti e linee,
h (histogram), linee verticali,
s, S (steps), linee orizzontali e verticali
n (none), sopprime la rappresentazione grafica

xlim, ylim: campo di variazione degli assi

xlab, ylab: titoli per gli assi

main, sub: titolo (principale e secondario) del grafico

3
add: variabile logica con modalita TRUE, FALSE; se uguale a TRUE sovrappone il
risultato al grafico eventualmente presente nella finestra.
Useremo spesso la funzione par() che consente di modificare alcuni parametri usa-
ti durante la generazione delle immagini o per riportare il loro valore alla situazione
precedente. Usiamo la funzione plot() per rappresentare la funzione di probabilita
binomiale:

plot(x, pbin, type="h", main="Binomiale(20, 0.5)", xlab="x", ylab="p(x)")

Binomiale(20, 0.5)
0.15
0.10
p(x)

0.05
0.00

0 5 10 15 20

Per verificare come varia il grafico della densita (probabilita) binomiale per n = 20
al variare del parametro p possiamo costruire una semplice funzione che calcoli i valori
della probabilita in funzione di x, n e p.

binomiale=function(x,n,p){choose(n,x)*p^x*(1-p)^(n-x)}

Ora la funzione binomiale e in memoria e ci permettera di calcolare qualsiasi proba-


bilita per una generica binomiale di parametri n e p. Ad esempio,

binomiale(5,20,0.5)

## [1] 0.01478577

4
Qual e la probabilita di ottenere 2 volte 6 lanciando 15 volte un dado?

Confrontiamo le funzioni di probabilita delle distribuzioni Bin(20, 0.3) (in nero) e


Bin(n, p) (in rosso). Per facilita di lettura, i valori sulle ascisse sono lievemente spostati
a destra e a sinistra dellintero. Si noti luso di uno dei parametri piu interessanti della
funzione par() dato da new=, che permette di sovrapporre tra loro le immagini create
da comandi grafici diversi (nota: per definire i valori di x usiamo loperatore : che
produce vettori con elementi separati da intervalli unitari)

0.20
x=c(0:20)
y0=binomiale(x,20,0.3)
y1=binomiale(x,20,0.6)

0.15
plot(x+0.1,y0,xlim=c(0,20),
ylim=c(0,.2),type="h",lwd=3,
0.10
p(x)

xlab="x",ylab="p(x)")
par(new=T)
0.05

plot(x-0.1,y1,xlim=c(0,20),
ylim=c(0,.2),type="h",lwd=3,
xlab=" ",ylab=" ", col="red")
0.00

0 5 10 15 20

Si otterra lo stesso risultato mediante il codice riportato sotto che usa il comando
points():

plot(x, y0, type="h", ylim=c(0,0.2), xlab="x", ylab="p(x)")


points(x-0.1, y1, type="h", col=2)

E se volessimo calcolare il valore della funzione di ripartizione di una binomiale in k


intero? Possiamo calcolare le probabilita binomiali per la sequenza di valori x che vanno
da 0 a k e poi usare la funzione sum(), come nellesempio che segue.

#parametri
n=10
p=0.2
#calcoliamo F(k)=P(X<=k)

5
k=3
x=c(0:k)
sum(binomiale(x, n, p))

## [1] 0.8791261

R e le distribuzioni. Laiuto in linea di R e utile per conoscere la sintassi delle


funzioni che vi sono gia implementate. Per accedere alle pagine di aiuto basta di-
gitare help(nomefunzione) o ?nomefunzione. Per esempio, le funzioni relative alla
distirbuzione binomiale sono denominate con un prefisso seguito da binom:

dbinom() pbinom() qbinom() rbinom()

args(dbinom)

## function (x, size, prob, log = FALSE)


## NULL

args(pbinom)

## function (q, size, prob, lower.tail = TRUE, log.p = FALSE)


## NULL

Verifichiamo che la funzione dbinom fa esattamente quello che fa la funzione che


abbiamo costruito noi. Ad esempio, si ripeta il calcolo della probabilita di ottenere 2
volte 6 lanciando 15 volte un dado.

dbinom(2,15,1/6)

## [1] 0.272603

Analogamente, riprendendo lesempio del calcolo della funzione di ripartizione in


k = 3 per la binomiale di parametri n = 10, p = 0.2, si verifica che si ottiene lo stesso
risultato ottenuto sopra.

pbinom(3,10,0.2)

## [1] 0.8791261

Vediamo un altro esempio.

6
Il ritardo dei mezzi di trasporto pubblico e distribuito secondo una variabile casuale
X di tipo binomiale con parametri n = 6 e p = 0.55. Calcolare la probabilita di
osservare un numero di successi (ritardo accettabile) compreso tra 3 (escluso) e 5.

x1<-3
x2<-5
n<-6
p<-0.55
p.minore.x2<-pbinom(x2,n,p) # P(X <= x2)
p.minore.x1<-pbinom(x1,n,p) # P(X <= x1)
prob.intervallo <- p.minore.x2 - p.minore.x1 #P(x1 < X <= x2)
prob.intervallo

## [1] 0.413837

Per lesercizio precedente disegnamo le funzioni di probabilita e ripartizione.


par1<-par(mfrow=c(1,2)) #2 immagini affiancate
bin1 <- function(x) dbinom(x,size=6,prob=0.55)
plot(0:6, bin1(0:6),type="h",xlab="x",ylab="Probabilita",main = " ")

bin2 <- function(x) pbinom(x,size=6,prob=0.55)


plot(-1:7, bin2(-1:7), type="s",xlab="x",ylab="Funzione di ripartizione",
main = " ")
par(par1) #ripristina una singola immagine
0.30

1.0
Funzione di ripartizione

0.8
0.20
Probabilit

0.6
0.4
0.10

0.2
0.0
0.00

0 1 2 3 4 5 6 0 2 4 6

x x

7
Ricorrendo a par() possiamo confrontare le funzioni di probabilita binomiali per n
fissato e diversi valori di p.

par2<-par(mfrow=c(2,2), mar=c(4,3,3,3))
x=(0:20)
n<-20
plot(x,dbinom(x, n, 0.1),type="h",xlab="x",ylab="P(x)",ylim = c(0,.35),
main ="Bin(n=20, p=0.1)")
plot(x,dbinom(x, n, 0.3),type="h",xlab="x",ylab="P(x)",ylim = c(0,.35),
main ="Bin(n=20, p=0.3)")
plot(x,dbinom(x, n, 0.5),type="h",xlab="x",ylab="P(x)",ylim = c(0,.35),
main ="Bin(n=20, p=0.5)")
plot(x,dbinom(x, n, 0.9),type="h",xlab="x",ylab="P(x)",ylim = c(0,.35),
main ="Bin(n=20, p=0.9)")
par(par2)

Bin(n=20, p=0.1) Bin(n=20, p=0.3)


0.30

0.30
P(x)

P(x)
0.15

0.15
0.00

0.00

0 5 10 15 20 0 5 10 15 20

x x

Bin(n=20, p=0.5) Bin(n=20, p=0.9)


0.30

0.30
P(x)

P(x)
0.15

0.15
0.00

0.00

0 5 10 15 20 0 5 10 15 20

x x
E interessante provare a usare il comando che genera numeri aleatori. Ad esempio,
potremmo generare al computer una sequenza casuale del tipo testa o croce. Generiamo

8
una sequenza di prove Bernoulliane con il comando rbinom() ottenendo 80 valori che
sono 1 (testa) o 0 (croce).

set.seed(0) #per la riproducibilita dei risultati


sim=rbinom(n=80,size=1,prob=.5)
sim

## [1] 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0
## [36] 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0
## [71] 1 0 1 0 0 0 1 1 0 1

# proporzione dei successi


sum(sim)/80

## [1] 0.4875

La distribuzione di Poisson
Si provi a ripetere quanto fatto per la Binomiale per la distribuzione di Poisson:

Si costruisca una semplice funzione per calcolare le probabilita di una varia-


bile di Poisson.
Si ottenga il grafico della funzione di probabilita per X Po () per = 3.2 e
si confrontino i grafici per diversi valori del parametro.
Utilizzando la funzione dpois() si calcoli la P( X = 0), per X Po ( = 3).
Quale funzione possiamo utilizzare per calcolare il valore della funzione di
ripartizione nel punto x = 4?

Con gli strumenti visti fino ad ora possiamo verificare che una binomiale con opportuni
parametri e ben approssimata da una Poisson con media np. Poniamo, ad esempio,
n = 100 e p = 0.02 e confrontiamo graficamente i risultati mediante il comando points()
che aggiunge punti in un grafico nella posizione indicata dalle coordinate passate per
argomento:

n<-100
p<-0.02
x=seq(0:20)
plot(x, dpois(x,n*p), type="h", ylab="probabilita")
points(x+.1, dbinom(x,n,p), type="h", col="red")

9
0.20
probabilit

0.10
0.00

5 10 15 20

Cosa accade se facciamo variare n e p?

Possiamo utilizzare semplici strumenti di statistica descrittiva per valutare grafica-


mente laccostamento di variabili discrete a modelli teorici di riferimento. Simuliamo,
ad esempio, dei dati da una Poisson di parametro (media) = 5 e confrontiamo la di-
stribuzione dei valori simulati con le probabilita teoriche. Useremo la funzione table()
che calcola una tabella di frequenza.

# generiamo 500 valori dalla Po(5)


n<-500
dati.pois<-rpois(n,5)
tab = table(dati.pois)
tab

## dati.pois
## 1 2 3 4 5 6 7 8 9 10 11 12
## 9 53 68 96 79 73 58 35 14 6 5 4

#distribuzione di frequenze relative

10
plot(tab/n, ylab="probabilita", xlab="x")

#funzione di probabilita teorica


m=max(dati.pois)
x=seq(0:m)
points(x+.1, dpois(x,5),type="h",col=2)

0.15
probabilit

0.10
0.05
0.00

0 1 2 3 4 5 6 7 8 9 10 11 12

Vediamo ora come possiamo usare R per risolvere alcuni semplici esercizi con va-
riabili aleatorie geometriche e binomiali negative. La variabile aleatoria X con legge
geometrica di parametro p implementata in R assume valori 0, 1, 2, . . . e modella il nu-
mero di insuccessi prima del primo successo (tempo di attesa per il primo successo); la
sua funzione di probabilita e P( X = k) = p(1 p)k , k = 0, 1, 2 . . . .
In R la densita e la funzione di ripartizione di una geometrica di parametro p si
ottengono rispettivamente con in comandi
dgeom

pgeom
Nota: Per ottenere la variabile aleatoria Y che modella il tempo di arrivo del primo
successo (valori 1, 2, 3, ...) e necessario operare la trasformazione Y = X + 1. Ad esem-
pio, se p = 0.2 la probabilita che il primo successo arrivi alla 10-ma prova e data dal
comando dgeom(10-1, 0.2), cioe bisogna considerare X = Y 1.

11
Una generalizzazione della distribuzione geometrica e data dalla variabile casuale
Binomiale negativa intesa come numero aleatorio di insuccessi che precedono ln-esimo
successo:
y+n1 n
 
P (Y = y ) = p (1 p)y , y = 0, 1, 2 . . .
k
che in R si ottiene con il comando dnbinom().

Si supponga di voler studiare leffetto di un trattamento su una certa patologia, pre-


sente nel 10% della popolazione. In particolare, si vogliono individuare esattamente
10 individui che presentano la condizione oggetto di studio.

a. Qual e la probabilita che il numero di persone intervistate prima di trovare un


individuo affetto dalla patologia sia esattamente pari a 8?

b. Qual e la probabilita che il numero di persone da intervistare prima di trovare


10 individui affetti dalla patologia sia maggiore di 50?

c. Determinare il numero atteso di persone da intervistare per individuare i 10


pazienti da sottoporre al trattamento.

#a. Il tempo d'attesa per il primo successo e una geometrica con p=0.1
dgeom(8, prob=0.1)

## [1] 0.04304672

#oppure
dnbinom(8, size=1, prob=0.1)

## [1] 0.04304672

#b. Il tempo d'attesa per il decimo successo Y e una binomiale negativa


# di parametri n=10, p=0.1
1-pnbinom(50, size=10, prob=0.1) # P(Y>50)= 1 - P(Y<=50)

## [1] 0.9269345

#c. Il numero di interviste (prove) per ottenere n=10 successi e una v.a.
# binomiale negativa di media n/p
val_atteso<-10/0.1
val_atteso

## [1] 100

12
Esercizi
1. Si calcoli la probabilita che lanciando 50 volte una moneta si ottenga testa piu
di 45 volte.
2. Carlo acquista un biglietto in ciascuna di 50 diverse lotterie, e in ognuna la
probabilita di vittoria e 1/100. Si consideri la v.a. X = numero di successi alla
lotteria. Calcolare la probabilita che Carlo risulti vincitore:
a) almeno una volta;
b) esattamente una volta;
c) almeno due volte.
Confrontare poi i risultati ottenuti supponendo di fare unapprossimazione
della distribuzione di X con una Poisson.
3. Qual e la probabilita di ottenere la prima T (testa) dopo tre C (croci) nel lancio
di una moneta truccata, tale per cui p = P( T ) = 1/8?
4. Si ottenga la funzione di probabilita della variabile aleatoria Y che rappresenta
il numero di carte di cuori che si osservano in una mano di 10 carte estratte
da un mazzo che ne contiene 52 (hint: si consideri la funzione dhyper()). Si
determinino media e varianza.
5. Si ottenga il grafico della densita e della funzione di ripartizione della variabile
casuale X Ge( p), per p = 0.2.
6. Utilizzare R per risolvere il seguente esercizio. Si supponga che il numero
medio di chiamate ad un centralino sia pari a 20 per ora. Qual e la probabilita
che in 5 minuti non arrivino chiamate oppure che in 10 minuti si abbiano al
piu 10 chiamate?
7. Si provi a calcolare la mediana di una binomiale X Bin(n, p) e si definisca
una funzione che realizzi questo calcolo. Si noti che, essendo X discreta,
potrebbe non esistere alcun valore x0.5 tale per cui P( X x0.5 ) = 0.5. Cosa si
potrebbe proporre in questo caso?

13
2. Distribuzioni di probabilita continue

Esempio: la distribuzione Normale o Gaussiana. Utilizzando la seguente funzione


implementata in R otteniamo il grafico della densita della distribuzione Gaussiana di
media uguale a media e deviazione standard sd (valori di default 0 e 1):
dnorm(x, mean = 0, sd = 1)
Come visto in precedenza, utilizziamo il comando plot(), mentre points() consente di
aggiungere punti in un grafico gia esistente senza aprire una nuova finestra grafica; lop-
zione type="l" serve a unire i punti con una linea disegnando una funzione continua.
In alternativa si puo utilizzare il comando curve() per ottenere il grafico della densita,
e si puo sovrapporre una nuova funzione attraverso il parametro add=T.
Nellesempio seguente confrontiamo le densita delle distribuzioni Normali con medie
rispettivamente uguali a 0, 1, 3 e deviazioni standard uguali a 1 e 1.5 e 2.

x <- seq(-6, 10, length = 100)


plot(x, dnorm(x), type="l", xlab="x", ylab= "densita")
curve(dnorm(x, mean=1, sd=1.5), add=TRUE, lty=2, col=2)
points(x, dnorm(x, mean=3, sd=2), type="l", col=3)
0.4
0.3
densit

0.2
0.1
0.0

5 0 5 10

Per una Normale standard...

14
dnorm(1) # calcola il valore della densita nel punto 1
dnorm(c(-1,0,1)) # calcola il valore della densitta nei punti -1, 0 e 1
pnorm(1) # calcola il valore della funzione di ripartizione in 1
qnorm(0.10) # calcola lo 0.10-quantile, cioe il decimo percentile

Come detto, per ogni famiglia si puo anche calcolare la funzione di ripartizione e
la sua inversa (funzione dei quantili). Cioe, possiamo usare R per risolvere semplici
problemi per cui si usano di solito le tavole.

Sia X N (170, 100). Si calcoli

a. P( X 185) e P(165 X 190);


b. lo scarto interquartile di X.
mu<-170
sigma<-10
#a1. P(X<=185)
pnorm(185, mu, sigma)

## [1] 0.9331928

#oppure P(X<=185)=Phi((185-mu)/sigma)
z<-(185-mu)/sigma
pnorm(z)

## [1] 0.9331928

#a2.
z1<-(165-mu)/sigma
z2<-(190-mu)/sigma
#P(165<= X<= 190)=P(X<=190)-P(X<=165)
pnorm(z2)-pnorm(z1)

## [1] 0.6687123

#b. terzo e primo quartile


Q3<-qnorm(0.75, mu, sigma)
Q1<-qnorm(0.25, mu, sigma)
IQR<-Q3-Q1 #scarto interquartile
IQR

## [1] 13.4898

15
Confrontare i grafici della densita Normale per diversi valori di , ad esempio
= 1, 0, 3 e deviazione standard = 1.3. Per gli stessi parametri costruire il
grafico della funzione di ripartizione.

Abbiamo gia accennato al fatto che per molte distribuzioni e possibile estrarre uno o
piu valori (pseudo) casuali. Questo sara di grande utilita piu avanti per semplici studi
di simulazione. Supponiamo di voler estrarre un certo numero di valori casuali da una
rettangolare (o uniforme continua) su (0, 1). Quale percentuale di questi dovremmo at-
tenderci che si trovi al di sotto del valore 0.4? La risposta e il 40% dei valori. Verifichiamo
allora il comportamento dei valori simulati rispetto a cio che ci attendiamo.

#generiamo 500 valori da una R(0,1)


n=500
simu=runif(n,0,1)

#proporzione oss. sotto 0.4


sum(simu<.4)/n

## [1] 0.396

La proporzione che abbiamo trovato e molto vicina ma non e uguale a 0.4.


Il prossimo passo sara quello di generare valori da una Gaussiana e provare quindi a
vedere se tali valori rispecchiano quello che ci attendiamo. Immaginiamo di estrarre
un gran numero di valori da una Gaussiana di media 10 e varianza 25, ad esempio 800
valori. Dato che si tratta di una variabile continua, possiamo rappresentare le frequenze
osservate attraverso un istogramma (hist()). Per ottenere listogramma delle frequen-
ze relative aggiungiamo lopzione freq=FALSE. Infine sovrapponiamo con curve() la
densita della Gaussiana da cui i dati sono estratti.

set.seed(5)
x<-rnorm(800, 10, 5)
hist(x, freq=FALSE, breaks=30, xlab=" ",ylab="densita", main="")
curve(dnorm(x, 10, 5), add=T, col=4, lwd=3)

16
0.08
0.06
densit

0.04
0.02
0.00

5 0 5 10 15 20 25

Una seconda strategia, molto utile se i dati disponibili non sono molto numerosi e
quindi ha poco senso fare un istogramma, e quella di ottenere la funzione di ripartizione
empirica e poi sovrapporne il grafico alla funzione di ripartizione della variabile aleatoria
che ha generato i dati. La funzione di ripartizione empirica Fn ( x ) e calcolata sulla base di
n osservazioni x1 , . . . , xn di una variabile aleatoria ed e data dal numero di osservazioni
minori o uguali del valore x:

in=1 I { xi x }
Fn ( x ) =
n

Per n sufficientemente grande Fn ( x ) e prossima alla funzione di ripartizione F ( x )


della popolazione di provenienza del campione.
In R esiste la funzione ecdf() per calcolare una funzione di ripartizione empirica. Di
seguito riportato il codice per ottenere il grafico della f.d.r. per un campione di ampiezza
150 da una N (0, 1). La f.d.r. teorica () e disegnata in rosso.

set.seed(991155)
edf_norm<-ecdf(rnorm(150))
tt<-seq(from=-3, to=3, by=0.01)
plot(edf_norm, verticals=TRUE, do.p=FALSE, main="ECDF and CDF")
lines(tt, pnorm(tt), col=2, lty=2, lwd=2)

17
ECDF and CDF

1.0
0.8
0.6
Fn(x)

0.4
0.2
0.0

3 2 1 0 1 2 3

La distribuzione Gamma
Si provi a utilizzare lHelp per ottenere informazioni sulle funzioni implementate
per la distribuzione gamma:
quali sono i parametri in input? come viene parametrizzata?
quali distribuzioni si ottengono come casi particolari?

Usiamo la funzione qgamma() per calcolare la mediana della distribuzione gamma di


parametri a = 2 (shape) e s = 1/3 (scale).

qgamma(0.5, shape=2, scale=1/3)

## [1] 0.559449

qgamma(0.5, shape=2, rate=3)

## [1] 0.559449

# Attenzione all'ordine dei valori in input!


qgamma(0.5, 2, 1/3)

## [1] 5.035041

18
Proviamo ora a confrontare i grafici delle densita di probabilita della distribuzione
gamma
1
f (x) = x a1 e x/s , 0 x < ,
( a)s a

per diverse scelte dei parametri a > 0, s > 0. Si noti che, come visto, in R il secondo
parametro in input e rate ed e definito come 1/s. Dunque, ponendo n = a e = 1/s si
ottiene la parametrizzazione

n n1 x
x e , x > 0. (1)
(n)
Poniamo, ad esempio, a = 0.75, 1.5, 3.5 (shape) e scegliamo il parametro di scala s in
modo tale che la media (a s) risulti pari a 1.

x<-seq(0, 4, 0.01)
a<-0.75
plot(x, dgamma(x, shape=a, scale=1/a), type="l", xlab="x", ylab="densita")
a<-1.5
points(x, dgamma(x, shape=a, scale=1/a), type="l", col=2, lty=2, lwd=2)
a<-3.5
points(x, dgamma(x, shape=a, rate=a), type="l", col=3, lwd=2)
2.0
1.5
densit

1.0
0.5
0.0

0 1 2 3 4

19
Sappiamo che per n = 1, lequazione (1) fornisce la densita della distribuzione
esponenziale di parametro .

##ESPONENZIALE
curve(dexp(x, rate = 5), ylab = "densita",
from = 0, to = 2, main = "Distribuzione esponenziale")
curve(dgamma(x, shape=1, rate=5), type="l", add=TRUE, col=3, lty=2, lwd=3)

Distribuzione esponenziale
5
4
densit

3
2
1
0

0.0 0.5 1.0 1.5 2.0

Inoltre anche le due seguenti linee di codice forniscono lo stesso risultato. Perche?

pgamma(2, shape=3/2, rate=1/2)

## [1] 0.4275933

pchisq(2, df=3)

## [1] 0.4275933

20
Esercizi
1. Sia Z la variabile aleatoria normale standard. Calcolare

a. P( Z < 1)
b. P( Z > 1)
c. P( Z < 1)
d. P(0.3 < Z 0.5)

2. Confrontare i grafici della densita normale di media = 0 e diversi valori di


, ad esempio = 0.8, 1.3, 1.9. Per gli stessi parametri costruire il grafico della
funzione di ripartizione.
3. Si ottenga il grafico della densita di una variabile aleatoria Beta per diverse
scelte di parametri e .
4. Utilizzando R calcolare:

a. la probabilita che una variabile con distribuzione Gaussiana di media 3


e deviazione standar 2.1 assuma dei valori nellintervallo (2.1, 4.5); che
assuma valori minori di 3.5 e valori maggiori di 2.3;
b. la probabilita che una variabile aleatoria con distribuzione log-normale
di parametri 1 e 0.2 assuma dei valori compresi tra 10 e 11; e che assuma
valori maggiori di 9;
c. P(5 < X < 8) dove X e una variabile aleatoria esponenziale di media 5.

5. Calcolare il valore della densita log-normale in 0.5 quando il parametro di


scala e 1 e quello di forma 4e 2. Sovrapporre sullo stesso grafico le funzioni
di densita di probabilita della distribuzione log-normale di parametri = 1,
= 1 e = 1.5, = 0.5.
6. Confrontare in uno stesso grafico le funzione di ripartizione della distribuzio-
ne esponenziale di parametro = 1, 5, 10. Per ciascuna di queste distribuzioni
calcolare i quantili 0.75, 0.8, 0.95.
7. Generare n = 200 osservazioni da una popolazione normale N (10, 4), rappre-
sentare i dati con un opportuno strumento grafico e ottenere la funzione di
ripartizione empirica.
8. Risolvere con R il seguente esercizio. Le previsioni sulla domanda di un pro-
dotto sono una variabile normale X con media 1200 e deviazione standard
100.

a. Qual e la probabilita che le vendite superino 1000?


b. Qual e la probabilita che le vendite stiano fra 1100 e 1300?
c. Qual e il valore delle vendite x che ha probabilita 0.10 di essere supera-
to?

21

Potrebbero piacerti anche