Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

R e la statistica

on

  • 4,014 views

Secondo seminario per il corso di calcolo delle probabilita` e statistica matematica del professor fedullo (conoscere Latex all\'epoca mi avrebbe fatto comodo)

Secondo seminario per il corso di calcolo delle probabilita` e statistica matematica del professor fedullo (conoscere Latex all\'epoca mi avrebbe fatto comodo)

Statistics

Views

Total Views
4,014
Views on SlideShare
4,014
Embed Views
0

Actions

Likes
1
Downloads
47
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

R e la statistica R e la statistica Presentation Transcript

  • R E LA STATISTICA Corso di calcolo delle probabilità e statistica matematica Professor Aniello Fedullo Vincenzo De Maio Matricola 0510200251
  • Riassunto della puntata precedente ● Tipi di dati e strutture dati di R ● R, i vettori, l'aritmetica ● Strutture di controllo ● Creazione di proprie funzioni
  • Presupponiamo che siano note le definizioni di ● Spazio di probabilità ● Variabile aleatoria ● Densità discreta ● Funzione di distribuzione
  • Oggi vedremo... ● Le distribuzioni in R ● Alcuni esempi
  • Distribuzioni 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
  • Distribuzioni 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()
  • 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
  • Distribuzione 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.
  • 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
  • Utilizzo 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.
  • 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?
  • Soluzione ● 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.
  • 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!
  • Facciamo questo calcolo in R ● Vediamo l'utilizzo della funzione di distribuzione... possiamo verificare lo stesso calcolo anche usando le densità discrete
  • Utilizzo delle densità discrete ● Abbiamo ottenuto lo stesso risultato, utilizzando le densità discrete
  • 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().
  • Simulazione di una distribuzione binomiale ● Vediamo per 100 scatole il numero di viti difettose
  • 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
  • Distribuzione 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).
  • Utilizzo 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.
  • 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?
  • Soluzione ● 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.
  • Soluzione ● 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!
  • Soluzione Ecco la probabilità... abbastanza irrisoria, come potete vedere!
  • Morale 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!
  • 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
  • Distribuzione 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.
  • Utilizzo 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.
  • Un 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?
  • Soluzione La soluzione a questo problema è piuttosto banale, applicando la distribuzione ipergeometrica... ma ovviamente, noi siamo pigri e non vogliamo calcolare questa espressione: Σ(i=1 ,1 0 )[binom(45,i)*binom(55,100-i )/binom(100,30)] Fortunatamente, R ci da una mano.
  • Soluzione ● Senza fare neanche un calcolo!
  • 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
  • Distribuzione binomiale negativa 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.
  • Utilizzo 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.
  • Applichiamo questa distribuzione 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?
  • Soluzione 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)
  • Soluzione 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!
  • Soluzione Questo è il risultato per 20 fiammiferi in ogni scatola, supponendo che siano rimasti 5 fiammiferi nell'altra scatola e che siano necessari 35 tentativi.
  • 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
  • Distribuzione 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!
  • Utilizzo 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.
  • Problema 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.
  • Soluzione 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
  • Soluzione
  • 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
  • Dulcis in fundo... Distribuzione normale 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.
  • Grafico della distribuzione normale
  • 1001 modi di utilizzare la 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.
  • Utilizzo 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.
  • Problema 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?
  • Soluzione 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.
  • Soluzione 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.
  • Soluzione 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
  • Procediamo utilizzando R Con R è facile trovare il valore da cui dipende l'intervallo di confidenza... a questo punto, calcoliamo l'intervallo.
  • Soluzione -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...
  • Un po' di sana programmazione... Tutto quello che abbiamo fatto finora, sapientemente riunito in una funzione.
  • E vabbè, vi do anche il 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"); }
  • Altro esempio... un problema economico 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!
  • Soluzione 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
  • Soluzione 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
  • Soluzione Ora si trasforma l'equazione usando media e varianza...
  • Soluzione 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
  • Anche questo possiamo metterlo in un'unica funzione R! Creazione di una funzione che esegua questo calcolo...
  • Vediamo 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 }
  • L'ultimo, poi basta... Proviamo a determinare con un intervallo di confidenza al 95% (0.95) la percentuale di fumatori in un paese.
  • Soluzione 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!
  • Soluzione 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)
  • Soluzione 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
  • Soluzione ● σ = 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...
  • Implementiaaamo! sizeCampione <- function(varianza,sig,prec){ y<-(1+sig)/2; dominio <- seq(0,3.49,0.01); for(i in dominio){if(pnorm(i)>=y) val <- i; break;} primotermine<-val*sqrt(varianza); precindex <- 10^(prec-1); n<-0; secondotermine <- (1-sig)/precindex; while(primotermine>secondotermine*sqrt(n)){n<-n+1;} }
  • Vediamola in azione... 5 Eseguiamo qualche altro calcolo con R...
  • Concludendo Vediamo riassunti in questa tabella i risultati ottenuti Sign. Precisione 0.95 0.99 10^-1 385 16641 10^-2 38416 1664100
  • Bibliografia ● www.r-project.org, “An introduction to R”. ● “Appunti di stocastica” di Mauro Cerasoli ● Appunti del corso di Calcolo delle probabilità e statistica matematica
  • TI SERVE QUESTO SPAZIO??? TELEFONA ALL'899131828