laboratorio di statistica e analisi dei daticesari.di.unimi.it/teaching/sadcampolongo.pdf ·...
TRANSCRIPT
Laboratorio di Statistica e Analisi dei Dati
Nicolo Campolongo
Universita degli Studi di Milano
nicolocampolongounimiit
January 12 2019
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 1 88
Programma
Pagina del corso httpcesaridiunimiitteachinghtml
1 Introduzione script in Python Arrays Series
2 DataFrame
3 Grafici
4 Variabili aleatorie
5 Esercizi di riepilogo
6 Calcolo di probabilita - 1
7 Calcolo di probabilita - 2
8 Risoluzione di un tema drsquoesame
9 Simulazione di un tema drsquoesame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 2 88
Introduzione Python
rdquoPython e un linguaggio di programmazione dinamico orientato aglioggetti utilizzabile per molti tipi di sviluppo softwarerdquo(httpswwwpythonit)
Figurehttpsstackoverflowblog20170906incredible-growth-python
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 3 88
Introduzione installare Python
Mac OS X 102 e successivi includono una versione pre-installata
Nei sistemi Linux spesso e gia presente nel setup di base
Per verificare se Python e gia installato e sufficiente aprire una finestra delterminale e digitare il comando python
Installazione
httpswwwanacondacomdownload (raccomandata)
httpswwwpythonit
Nota la versione che verra utilizzata nel corso e la 3x
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 4 88
Interprete interattivo - 1
Il comando python apre lrsquointerprete interattivo Lrsquointerprete valuta leistruzioni Python inserite a riga di comando e fornisce una risposta
dottorandodottorando-Lenovo-Y50-70 $ python
Python 365 |Anaconda Inc| (default Apr 29 2018
161456)
GCC 720on linux
Type help copyright credits or license for more
information
gtgtgt
gtgtgt print(Hello world)
Hello world
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 5 88
Interprete interattivo - 2
La funzione exit() e digitata per uscire dallrsquoambiente interprete (o inalternativa ctrl + d cmd + d)
gtgtgt print(Hello world)
Hello world
gtgtgt
dottorandodottorando-Lenovo-Y50-70 $
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 6 88
Script
Usare lrsquointerprete interattivo non e la maniera piu comoda perprogrammareE possibile lanciare un programma python (filepy) eseguendo ilcomando python ltnomefilepygt dalla cartella in cui si trova il filepy
dottorandodottorando-Lenovo-Y50-70 Scrivania$ python
testpy
My first script in Python
dottorandodottorando-Lenovo-Y50-70 Scrivania$
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 7 88
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Programma
Pagina del corso httpcesaridiunimiitteachinghtml
1 Introduzione script in Python Arrays Series
2 DataFrame
3 Grafici
4 Variabili aleatorie
5 Esercizi di riepilogo
6 Calcolo di probabilita - 1
7 Calcolo di probabilita - 2
8 Risoluzione di un tema drsquoesame
9 Simulazione di un tema drsquoesame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 2 88
Introduzione Python
rdquoPython e un linguaggio di programmazione dinamico orientato aglioggetti utilizzabile per molti tipi di sviluppo softwarerdquo(httpswwwpythonit)
Figurehttpsstackoverflowblog20170906incredible-growth-python
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 3 88
Introduzione installare Python
Mac OS X 102 e successivi includono una versione pre-installata
Nei sistemi Linux spesso e gia presente nel setup di base
Per verificare se Python e gia installato e sufficiente aprire una finestra delterminale e digitare il comando python
Installazione
httpswwwanacondacomdownload (raccomandata)
httpswwwpythonit
Nota la versione che verra utilizzata nel corso e la 3x
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 4 88
Interprete interattivo - 1
Il comando python apre lrsquointerprete interattivo Lrsquointerprete valuta leistruzioni Python inserite a riga di comando e fornisce una risposta
dottorandodottorando-Lenovo-Y50-70 $ python
Python 365 |Anaconda Inc| (default Apr 29 2018
161456)
GCC 720on linux
Type help copyright credits or license for more
information
gtgtgt
gtgtgt print(Hello world)
Hello world
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 5 88
Interprete interattivo - 2
La funzione exit() e digitata per uscire dallrsquoambiente interprete (o inalternativa ctrl + d cmd + d)
gtgtgt print(Hello world)
Hello world
gtgtgt
dottorandodottorando-Lenovo-Y50-70 $
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 6 88
Script
Usare lrsquointerprete interattivo non e la maniera piu comoda perprogrammareE possibile lanciare un programma python (filepy) eseguendo ilcomando python ltnomefilepygt dalla cartella in cui si trova il filepy
dottorandodottorando-Lenovo-Y50-70 Scrivania$ python
testpy
My first script in Python
dottorandodottorando-Lenovo-Y50-70 Scrivania$
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 7 88
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Introduzione Python
rdquoPython e un linguaggio di programmazione dinamico orientato aglioggetti utilizzabile per molti tipi di sviluppo softwarerdquo(httpswwwpythonit)
Figurehttpsstackoverflowblog20170906incredible-growth-python
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 3 88
Introduzione installare Python
Mac OS X 102 e successivi includono una versione pre-installata
Nei sistemi Linux spesso e gia presente nel setup di base
Per verificare se Python e gia installato e sufficiente aprire una finestra delterminale e digitare il comando python
Installazione
httpswwwanacondacomdownload (raccomandata)
httpswwwpythonit
Nota la versione che verra utilizzata nel corso e la 3x
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 4 88
Interprete interattivo - 1
Il comando python apre lrsquointerprete interattivo Lrsquointerprete valuta leistruzioni Python inserite a riga di comando e fornisce una risposta
dottorandodottorando-Lenovo-Y50-70 $ python
Python 365 |Anaconda Inc| (default Apr 29 2018
161456)
GCC 720on linux
Type help copyright credits or license for more
information
gtgtgt
gtgtgt print(Hello world)
Hello world
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 5 88
Interprete interattivo - 2
La funzione exit() e digitata per uscire dallrsquoambiente interprete (o inalternativa ctrl + d cmd + d)
gtgtgt print(Hello world)
Hello world
gtgtgt
dottorandodottorando-Lenovo-Y50-70 $
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 6 88
Script
Usare lrsquointerprete interattivo non e la maniera piu comoda perprogrammareE possibile lanciare un programma python (filepy) eseguendo ilcomando python ltnomefilepygt dalla cartella in cui si trova il filepy
dottorandodottorando-Lenovo-Y50-70 Scrivania$ python
testpy
My first script in Python
dottorandodottorando-Lenovo-Y50-70 Scrivania$
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 7 88
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Introduzione installare Python
Mac OS X 102 e successivi includono una versione pre-installata
Nei sistemi Linux spesso e gia presente nel setup di base
Per verificare se Python e gia installato e sufficiente aprire una finestra delterminale e digitare il comando python
Installazione
httpswwwanacondacomdownload (raccomandata)
httpswwwpythonit
Nota la versione che verra utilizzata nel corso e la 3x
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 4 88
Interprete interattivo - 1
Il comando python apre lrsquointerprete interattivo Lrsquointerprete valuta leistruzioni Python inserite a riga di comando e fornisce una risposta
dottorandodottorando-Lenovo-Y50-70 $ python
Python 365 |Anaconda Inc| (default Apr 29 2018
161456)
GCC 720on linux
Type help copyright credits or license for more
information
gtgtgt
gtgtgt print(Hello world)
Hello world
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 5 88
Interprete interattivo - 2
La funzione exit() e digitata per uscire dallrsquoambiente interprete (o inalternativa ctrl + d cmd + d)
gtgtgt print(Hello world)
Hello world
gtgtgt
dottorandodottorando-Lenovo-Y50-70 $
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 6 88
Script
Usare lrsquointerprete interattivo non e la maniera piu comoda perprogrammareE possibile lanciare un programma python (filepy) eseguendo ilcomando python ltnomefilepygt dalla cartella in cui si trova il filepy
dottorandodottorando-Lenovo-Y50-70 Scrivania$ python
testpy
My first script in Python
dottorandodottorando-Lenovo-Y50-70 Scrivania$
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 7 88
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Interprete interattivo - 1
Il comando python apre lrsquointerprete interattivo Lrsquointerprete valuta leistruzioni Python inserite a riga di comando e fornisce una risposta
dottorandodottorando-Lenovo-Y50-70 $ python
Python 365 |Anaconda Inc| (default Apr 29 2018
161456)
GCC 720on linux
Type help copyright credits or license for more
information
gtgtgt
gtgtgt print(Hello world)
Hello world
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 5 88
Interprete interattivo - 2
La funzione exit() e digitata per uscire dallrsquoambiente interprete (o inalternativa ctrl + d cmd + d)
gtgtgt print(Hello world)
Hello world
gtgtgt
dottorandodottorando-Lenovo-Y50-70 $
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 6 88
Script
Usare lrsquointerprete interattivo non e la maniera piu comoda perprogrammareE possibile lanciare un programma python (filepy) eseguendo ilcomando python ltnomefilepygt dalla cartella in cui si trova il filepy
dottorandodottorando-Lenovo-Y50-70 Scrivania$ python
testpy
My first script in Python
dottorandodottorando-Lenovo-Y50-70 Scrivania$
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 7 88
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Interprete interattivo - 2
La funzione exit() e digitata per uscire dallrsquoambiente interprete (o inalternativa ctrl + d cmd + d)
gtgtgt print(Hello world)
Hello world
gtgtgt
dottorandodottorando-Lenovo-Y50-70 $
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 6 88
Script
Usare lrsquointerprete interattivo non e la maniera piu comoda perprogrammareE possibile lanciare un programma python (filepy) eseguendo ilcomando python ltnomefilepygt dalla cartella in cui si trova il filepy
dottorandodottorando-Lenovo-Y50-70 Scrivania$ python
testpy
My first script in Python
dottorandodottorando-Lenovo-Y50-70 Scrivania$
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 7 88
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Script
Usare lrsquointerprete interattivo non e la maniera piu comoda perprogrammareE possibile lanciare un programma python (filepy) eseguendo ilcomando python ltnomefilepygt dalla cartella in cui si trova il filepy
dottorandodottorando-Lenovo-Y50-70 Scrivania$ python
testpy
My first script in Python
dottorandodottorando-Lenovo-Y50-70 Scrivania$
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 7 88
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili in Python - 1
Python e dinamicamente tipato e fortemente tipatoUna variabile inizia ad esistere nel momento in cui le viene assegnato unvalore che ne determina il tipo
gtgtgt a=10000
gtgtgt type(a)
lttype lsquointrsquogt
gtgtgt len(a)
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
TypeError object of type rsquointrsquo has no len()
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 8 88
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili in Python - 2
Riferirsi ad una variabile inesistente (a cui non e ancora stato assegnato unvalore) genera un errore
gtgtgt b
Traceback (most recent call last)
File ltstdingt line 1 in ltmodulegt
NameError name rsquobrsquo is not defined
gtgtgt
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 9 88
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Funzione Help
Per aprire la documentazione a riguardo di un particolare oggetto metodoo attributo si puo invocare la funzione help(rdquonomerdquo) con il nomedellrsquooggetto che stiamo cercando
gtgtgt help(str)
Help on class str in module builtin
class str(basestring)
| str(object=rsquorsquo) -gt string
|
| Return a nice string representation of the object
| If the argument is a string the return value is the
same object
|
Si esce dal manuale interattivo premendo q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 10 88
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Tipi Predefiniti in Python
Stringhe (str) rdquoquesta e una stringardquo rdquoquesta purerdquo
Dizionari (dict) lsquochiaversquo valoreTuple (tuple) (1 2 3 1 rsquociaorsquo)
Liste (list) [1 2 3 4 rsquopipporsquo]
Set (set) (1 2 3)
Interi (int) 1 2 3
Float (float) 15 314 2718281828459045
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 11 88
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Numpy
Il modulo numpy (httpwwwnumpyorg) mette a disposizione unastruttura dati creata appositamente per il calcolo scientifico
ArrayUn array e un contenitore di dati omogenei cioe dello stesso tipo Se sitenta di costruire un array con dati di tipo diverso questi vengonoldquotrasformatirdquo nel piu piccolo tipo adatto a contenerli tutti
gtgtgt import numpy as np
gtgtgt nparray( [146810] )
array([ 1 4 68 10 ])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 12 88
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Creazione di Array - 1
numpyarange(x) restituisce un array contenente gli interi da 0 a x minus 1
gtgtgt numpyarange(5)
array([0 1 2 3 4])
numpyarange(start stop step) permette di scegliere gli estremi dellasequenza contenuta nellrsquoarray e il passo tra un numero ed il successivo
gtgtgt numpyarange(262)
array([2 4])
gtgtgt numpyarange(2-3-1)
array([ 2 1 0 -1 -2])
numpylinspace(start stop n) permette di scegliere gli estremi e quantinumeri devono comparire allrsquointerno della sequenza
gtgtgt numpylinspace(014)
array)[0 03333333 066666667 1])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 13 88
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Creazione di Array - 2
numpyones(rdquotuplardquo) restuituisce un array di 1 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyones( (15) )
array([1 1 1 1 1])
numpyzeros(rdquotuplardquo) restuituisce un array di 0 date le dimensionispecificate nella tupla come argomento
gtgtgt numpyzeros( (25) )
array([[0 0 0 0 0] [0 0 0
0 0]])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 14 88
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Operazioni con Array
Applicando un operazione logica ad un array si ottiene come risposta unarray di tipo booleano contenente nella posizione i-esima il risultatodellrsquoespressione logica valutata per lrsquoelemento i-esimo dellrsquoarray
gtgtgt numpyarange(5) gt 3
array([False False False False True] dtype=bool)
Le operazioni + - tra due array vengono eseguite elemento perelemento (gli array devono avere le stesse dimensioni)
gtgtgt numpyarange(5) + numpylinspace(025)
array([ 0 15 3 45 6 ])
gtgtgt numpyarange(5) 2
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 15 88
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Selezioni di un sottoinsieme di elementi
Ad un array e possibile accedere in tutti i modi con cui e possibile accederead una lista ad esempio
Ottenere una tupla di elementi
gtgtgt a[2] a[-1] a[36]
(2 9 array([3 4 5]))
Slicing [startstopstep]
gtgtgt a[293]
array([2 5 8])
gtgtgt a[2]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 16 88
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Accesso con maschere booleane
Specificando tra [ ] un array di tipo booleano selezioniamo dallrsquoarray glielementi la cui posizione corrisponde ad un True nellrsquoarray di tipobooleano (che prende il nome di maschera)
gtgtgt a = numpyarange(10)
gtgtgt mask = a2 == 0
gtgtgt mask
array([ True False True False True False True
False True False] dtype=bool)
gtgtgt a[mask]
array([0 2 4 6 8])
o in maniera piu compatta
gtgtgt a[a2 == 0]
array([0 2 4 6 8])
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 17 88
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi
1 Lanciare uno script che stampi il vostro nome e cognome
2 Creare un array i cui elementi siano gli interi che compongono ilvostro numero di matricola
3 Sia X la lunghezza dellrsquoarray del punto precedente Creare un array diX elementi equispaziati lrsquouno dallrsquoaltro di 15
4 Creare un array di X elementi equispaziati nellrsquointervallo tra 1 e 3
5 Ottenere gli array dati dalla somma tra lrsquoarray del punto 2 e quello delpunto 3 e quello dato dalla moltiplicazione tra punto 3 e punto 4
6 Ottenere per ciascuno dei due array del punto 5 un array mascherache in corrispondenza dei numeri divisibili per 3 abbia True Falsealtrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 18 88
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Pandas - Series (1)
Pandas (httpspandaspydataorg) e una libreria Python chefornisce strutture dati e strumenti relativi esclusivamente allrsquoanalisi deidatiUna Series e un array monodimensionale ed etichettato Rappresenta unaserie di osservazioni di un certo carattere fatto su un insieme di individui
a 00
b 10
c 20
d 30
e 40
f 50
g 60
h 70
Name serie di esempio dtype float64
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 19 88
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Pandas - Series (2)
pandasSeries (data index dtype name )
data contiene i dati che si vuole inserire nella serie
index della stessa lunghezza di data contiene le etichette
dtype permette di specificare il tipo che i dati devono assumere
name permette di dare un nome alla Series
gtgtgt import pandas as pd
gtgtgt import numpy as np
gtgtgt oss = nparange(8)
gtgtgt etic = [rsquoarsquorsquobrsquorsquocrsquorsquodrsquorsquoersquorsquofrsquorsquogrsquorsquohrsquo]
gtgtgt pdSeries(data=oss index=etic name=rsquoserie di esempiorsquo
dtype=float)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 20 88
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Accesso ai dati di una Series
Specificando un valore (o una lista di valori) per lrsquoetichetta
gtgtgt sloc[[rsquohrsquorsquoarsquo]]
h 70
a 00
Specificando un valore (o una lista di valori) per la posizione
gtgtgt s[[56]]
f 50
g 60
Usando lo slicing (come per gli array numpy) per la posizione
gtgtgt s[36]
d 30
e 40
f 50
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 21 88
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Pandas Series - Utils
Seriesmin() Seriesmax() restituiscono rispettivamente il minimoed massimo tra i valori della Series
Seriessum() restituisce la somma dei valori della Series
Seriessort values() restituisce una copia della Series ordinata pervalore
Seriessort index() restituisce una copia della Series ordinata peretichette
Seriessample(n) restituisce una Series di n elementi sceltiuniformemente a caso allrsquointerno di quelli della Series
Seriesappend([s1s2]) concatena una o piu Series a quella dipartenza
Seriescount() restituisce il numero dei valori della Series che nonsiano il valore NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 22 88
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Il valore NaN
Nan un oggetto del modulo numpy che puo rappresentare in una Seriesun dato di cui non e stato possibile fare unrsquoosservazioneOperazioni con un valore Nan hanno come risultato il valore Nan
gtgtgt oss = range(5)
gtgtgt ossappend(None)
gtgtgt pandasSeries(oss)
0 00
1 10
2 20
3 30
4 40
5 NaN
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 23 88
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi
Creare la Series gol in modo che le etichette siano numeri dallrsquo1 al 23 Idati raccolti siano numeri interi tra 0 e 30 scelti casualmente (scarica ilnotebook) La Series rappresenta i gol segnati da ciascun giocatore diuna societa calcistica nella stagione appena passata Lrsquoetichettacorrisponde al numero di maglia del giocatore Ottenere
1 I gol segnati dal capocannoniere2 Chi non ha mai fatto gol durante lrsquoanno3 La statistica del punto 2 per i soli titolari (numeri dallrsquo1 allrsquo11) e per
le sole riserve (dal 12 al 23)4 La statistica del punto 2 per i soli attaccanti (numeri dalrsquo9 allrsquo11)5 I gol segnati dai giocatori coi numeri di maglia 5 9 10 14 (somma)6 Chi ha segnato piu di 10 gol e chi ha segnato esattamente 10 gol7 Una copia della Series ordinata secondo i gol effettuati8 Una stampa dei primi 5 cannonieri e degli ultimi 59 Una copia della Series ordinata in modo discendente secondo il
numero di maglia
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 24 88
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
File csv
Il formato csv (comma-separated value) e un formato utilizzato perrappresentare una tabella di dati e favorirne lrsquoimportazione e lrsquoesportazioneUn file csv e scritto nella seguente forma
titolopaeseannoduratagenerevoto
Guerre StellariUSA1977121Fantascienza4
Lrsquoimpero colpisce ancoraUSA1980124Fantascienza4
Il ritorno dello JediUSA1983Fantascienza35
Profondo RossoITA1975Horror35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 25 88
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Leggere csv
La funzione read csv() di Pandas puo essere utilizzata per leggere unfile di formato csv Tra i vari parametri che passiamo in input unoparticolarmente importante e sep che indica il carattere utilizzato perseparare le colonne (default e rsquorsquo)
gtgtgt df film = pdread csv(rsquofilmcsvrsquo)
gtgtgt df film
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 26 88
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
DataFrame
In Pandas un DataFrame e una struttura dati tabulare con assi etichettatile cui colonne possono contenere dati eterogenei da colonna a colonna
gtgtgt dataframe
esempio
Nome Cognome Eta Citta
Tommaso Rossi 300 Milano
Sergio Bianchi 340 Roma
Pasquale Verdi 290 Palermo
Antonio Gialli 300 Roma
Il DataFrame puo essere visto come un insieme di serie aventi lo stessoindice accostate una allrsquoaltra
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 27 88
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Accesso colonne DataFrame - 1
Per conoscere le colonne di un DataFrame possiamo invocare il comandodfcolumns dove df e la variabile in cui abbiamo instanziato ilDataFramePer accedere ad una colonna dobbiamo specificarne il nome nel seguentemodo
gtgtgt df film[rsquogenerersquo]
titolo
Il padrino Drammatico
Pulp Fiction Drammatico
Fight Club Thriller
Selezionando unrsquounica colonna in output viene restituita una Series
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 28 88
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Accesso colonne DataFrame - 2
Possiamo accedere allo stesso tempo a piu colonne
gtgtgt df film[[rsquopaesersquorsquoannorsquo]]
titolo paese anno
Il padrino USA 19720
Pulp Fiction USA 19940
Fight Club USA 19990
Selezionando piu colonne in output viene restituito un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 29 88
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Accesso righe DataFrame - 1
Per indice numerico
gtgtgt df film[1518]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Per valore dellrsquoindice (assumiamo che titolo sia lrsquoindice delDataFrame)
gtgtgt df film[rsquoIl padrinorsquorsquoFight Clubrsquo]
titolo paese anno durata genere voto
Il padrino USA 19720 1750 Drammatico 45
Pulp Fiction USA 19940 1540 Drammatico 40
Fight Club USA 19990 1390 Thriller 40
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 30 88
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
loc amp iloc
Cosı come per le Series anche con i DataFrame possiamo usare loc ediloc per lrsquoaccesso ai dati
loc[rsquonome indicersquo] permette lrsquoaccesso ad una riga o piu righetramite nome dellrsquoindice
iloc[rsquoposizionersquo] permette lrsquoaccesso ad una o piu righe tramitela loro posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 31 88
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Accesso tramite unrsquoespressione logica
gtgtgt df film[rsquoannorsquo gt 1998]
titolo
Il padrino False
Pulp Fiction False
Fight Club True
Quasi Amici True
gtgtgt df film[df film[rsquoannorsquo] gt 1998]
titolo paese anno durata genere voto
Fight Club USA 19990 1390 Thriller 40
Quasi Amici FRA 20110 1120 Commedia 35
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 32 88
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Metodi dei DataFrame
La classe DataFrame ha diversi metodi Elenchiamo qui i piu importanti
DataFrameappend() permette di estendere il DataFrame
DataFramedrop duplicates() restituisce un DataFrame senza righeduplicate
DataFramedropna() Eliminare i valori Nan da un DataFrame
DataFramesort values() permette di ordinare il DataFrame
DataFramemax() DataFramemin() DataFramemean()DataFramemedian()
Per la completa documentazione si puo utilizzare il comandohelp(pdDataFrame) oppure andare al seguente linkhttpspandaspydataorgpandas-docsstablegenerated
pandasDataFramehtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 33 88
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Frequenze
La frequenza assoluta indica il numero di volte che una dataosservazione occorre in un campione
La frequenza relativa e un valore tra 0 e 1 che permette di valutare inmaniera piu efficace la frequenza di un osservazione Si calcoladividendo la frequenza assoluta per il numero totale di casi
Per calcolare questa quantita in Pandas possiamo utilizzare la funzionevalue counts() che opera su una Series
In alternativa si puo utilizzare la funzione pdcrosstab che calcolaqueste frequenze in automatico restituendole in output in un DataFrame
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 34 88
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Leggere il file e visualizzarlo in un DataFrame
2 Calcolare le frequenze assolute e relative dellrsquoattributo Regioneusando crosstab
3 Ottenere la singola serie relativa allrsquoattributo Regione e calcolarne lafrequenza assoluta e relativa senza usare crosstab
4 Estrarre un sottodataframe contenente le colonne Nome (attributoDenominazione Str Pubblica New) e Numero di medici (attributoMedici SSN) degli ospedali aventi meno di 200 medici
5 Visualizzare il nome degli ospedali della regione Lombardia
6 Calcolare il numero medio di ingegneri (Ingegneri SSN) presenti negliospedali campani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 35 88
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi
7 Calcolare la varianza del numero di assistenti sociali (Assistenti socialiSSN) negli ospedali con piu di 400 medici
8 Qual e lrsquoospedale con meno medici
9 Visualizzare in ordine alfabetico il nome dei primi 10 ospedali pernumero di medici
10 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (per cui il valore e diverso da NaN) (OdontoiatriUniversitari)
11 Visualizzare il numero degli ospedali che hanno dichiarato il numerodi odontoiatri (Odontoiatri Universitari) e per cui questo numero emaggiore di 0
12 Calcolare le frequenze assolute per lrsquoattributo Odontoiatri SSNTrasformare questo risultato in frequenze relative
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 36 88
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Matplotlib
Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione
import matplotlibpyplot as plt
pltplot()
pltshow()
plot e la piu semplice funzione per creare un grafico
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 37 88
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Plot
Vediamo un semplice esempio
gtgtgt import matplotlibpyplot as plt
gtgtgt import numpy as np
gtgtgt x=nparange(10)
gtgtgt y=xx
gtgtgt pltplot(xy)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 38 88
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Grafico di dispersione
gtgtgt x = nprandomrand(N)
gtgtgt y = nprandomrand(N)
gtgtgt colors = nprandomrand(N)
gtgtgt area = (30 nprandomrand(N))2
gtgtgt pltscatter(x y s=area c=colors alpha=05)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 39 88
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Grafici a barre - 1
La funzione bar ci permette di tracciare grafici a barre
gtgtgt import pandas as pd
gtgtgt a = pdSeries([181 172 198])
gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]
gtgtgt pltbar(aindex aget values())
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 40 88
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Grafici a barre - 2
Possiamo invocare la funzione plotbar() direttamente su una serie
gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)
gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()
gtgtgt freq regioneplotbar()
gtgtgt pltxticks(rotation=25)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 41 88
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Istogrammi
La funzione hist ci permette di tracciare istogrammi
gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)
gtgtgt height = heroes[rsquoHeightrsquo]
gtgtgt heightplothist()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 42 88
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Grafici con le Series
In generale possiamo tracciare diversi tipi di grafici con le Series
rsquolinersquo line plot (default)
rsquobarrsquo vertical bar plot
rsquobarhrsquo horizontal bar plot
rsquohistrsquo histogram
rsquoboxrsquo boxplot
rsquokdersquo Kernel Density Estimation plot
rsquodensityrsquo same as rsquokdersquo
rsquoarearsquo area plot
rsquopiersquo pie plot
Per saperne di piu consultare questo link
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 43 88
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Distribuzione cumulativa empirica - 1
Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo
gtgtgt x = heightsort values()
gtgtgt y = nparange(len(x)) float(len(x))
gtgtgt pltplot(x y)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 44 88
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Distribuzione cumulativa empirica - 2
O in alternativa utilizzare la funzione ECDF del modulo statsmodels
gtgtgt from statsmodelsdistributionsempirical distribution
import ECDF
gtgtgt dist = ECDF(height)
gtgtgt pltplot(distx disty)
gtgtgt pltshow()
Che produce in output il grafico della pagina precedente (provare percredere)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 45 88
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Boxplot
Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier
gtgtgt weight = heroes[rsquoWeightrsquo]
gtgtgt weightplotbox()
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 46 88
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
QQplot
Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante
gtgtgt import statsmodelsapi as sm
gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 47 88
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Diagramma di Pareto - 1
Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink
gtgtgt from paretochart import pareto
gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()
len(heroes)
gtgtgt common colors = eye color freq[eye color freq gt
02]index
gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye
colorrsquo]isin(common colors)]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 48 88
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Diagramma di Pareto - 2
gtgtgt common colors freq =
common colors datavalue counts()len(common colors data)
gtgtgt
pareto(common colors freqlabels=common colors freqindex)
gtgtgt pltshow()
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 49 88
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 1
Utilizzando il file capellicsv dai csv del laboratorio
1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)
2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico
3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 50 88
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 2
Utilizzando il file dati-ospedalicsv dai csv del laboratorio
1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN
2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)
3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione
Completare lrsquoanalisi esplorativa in finanziamentipdf e canipdf
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 51 88
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Sample space
Un esperimento e qualsiasi processo che produce una realizzazione (oosservazione) Lrsquoinsieme di tutte le possibili realizzazioni di un esperimentoviene detto sample space ed indicato con S
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
gara di 3 cavalli (ab c)
S = tutti i possibili ordinamenti di(ab c)= (ab c) (a cb) (c b a)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 52 88
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Eventi
lancio di 2 monete
S = (T T ) (T C) (C T ) (C C)
A = 2 monete uguali
A = (T T ) (C C)
B = 2 monete diverse
B = Ac = (T C) (C T )
gara di 3 cavalli
A = cavallo a vincente
A = (ab c) (a c b)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 53 88
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Probabilita - 1
Consideriamo un esperimento con sample space S Supponiamo che adogni evento A sia associato un numero chiamato probabilita di A edindicato con P(A) che soddisfa le seguenti proprieta
1 Per ogni evento A la probabilita di A e un numero tra 0 e 1
0 le P(A) le 1
2 La probabilita del sample space S e 1
P(S) = 1
3 La probabilita dellrsquounione di eventi disgiunti e uguale alla somma delleprobabilita di tali eventi
P(A cupB) = P(A) + P(B)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 54 88
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Probabilita - 2
In generale 2 eventi potrebbero non essere disgiunti
P(A cupB) = P(A) + P(B) minus P(A capB)
Esempio un certo negozio accetta pagamenti o con carte di credito VISAo Mastercard
1 22 dei clienti ha Mastercard
2 58 dei clienti ha VISA
3 14 dei clienti ha entrambe
Qual e la probabilita che un cliente ha almeno una delle 2 carte
P(A) = 022 P(B) = 058
P(A cupB) = P(A) + P(B) minus P(A capB) = 022 + 058 minus 014 = 066
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 55 88
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Probabilita condizionata - 1
Se alcune informazioni riguardo lrsquoesito di un esperimento sono disponibiliparliamo di probabilita condizionata
Esempio lancio di 2 dadi
S = (11) (12) (65) (66)
Probabilita che la somma sia 10 (evento B) sapendo che il primo dadomostra 4 (evento A)
(41) (42) (43) (44) (45) (46)
P(B ∣A) = 16
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 56 88
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Probabilita condizionata - 2
In generale
P(B ∣A) = P(A capB)P(A)
Supponiamo lrsquoesito sia in A
Per essere anche in B deve essere in entrambi A e B cioe in A capB
Sapendo che A e gia accaduto il nostro nuovo sample space diventa A
la probabilita di A capB viene calcolata rispetto ad A
Nel caso dei dadi
P(B ∣A) = P((46))P((41) (42) (43) (44) (45) (46)) = 136
16= 1
6
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 57 88
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Indipendenza
In generale sapere che A e accaduto modifica le chance che B accadaNel caso cio non avvenga cioe se P(B ∣A) = P(B) allora i 2 eventi sidicono indipendenti In questo caso sapere che A e accaduto nonaggiunge alcuna informazione
SiccomeP(A capB) = P(B ∣A)P(A)
Abbiamo che B e indipendente da A se
P(A capB) = P(B)P(A)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 58 88
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 1
1 Svolgere gli esercizi di combinatoria
2 Si consideri il seguente esperimento casuale rdquosi lancia tre volte unamonetardquo Qual e lo spazio degli esiti di questo esperimento casualeSi scriva esplicitamente lrsquoevento rdquosi ottengono piu teste che crocirdquo
3 Si consideri il seguente esperimento casuale rdquoSi tirano due dadirdquo Siconsiderino gli eventi E = rdquola somma dei punteggi e disparirdquo F = rdquoilprimo dado realizza un 1rdquo e G = rdquola somma dei punteggi e 5rdquo Sidescrivano gli eventi E cap F E cup F F capG E cap F c e E cap F capG
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 59 88
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 2
4 Si consideri il seguente esperimento casuale rdquoUn sistema e compostoda 4 componenti ciascuno dei quali o funziona oppure e guasto Siosserva lo stato dei componenti ottenendo un vettore (x1 x2 x3 x4)dove xi e 1 oppure 0 a seconda che il componente i-esimo funzionioppure nordquo
1 Da quanti elementi e formato lo spazio degli esiti2 Il sistema nel suo insieme funziona fintantoche entrambi i componenti
1 e 2 oppure entrambi i componenti 3 e 4 funzionano Specifica tuttigli esiti dellrsquoevento il rdquosistema funzionardquo
3 Sia E lrsquoevento rdquoi componenti 1 e 3 sono guastirdquo Quanti esiti contiene
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 60 88
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 3
5 Si dimostri che in uno spazio degli esiti Ω dotato di una probabilita Pper ogni evento E F sub Ω vale la disuguaglianza seguente
P(E cap F ) ge P(E) + P(F ) minus 1
6 Un gruppo di 5 bambini e 10 bambine e in fila in ordine casuale nelsenso che tutte le 15 possibili permutazioni si suppongonoequiprobabili
1 Qual e la probabilita che il quarto della fila sia un bambino2 E il dodicesimo3 Qual e la probabilita che un determinato bambino occupi la terza
posizione
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 61 88
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 4
7 In un comune vi sono 5 alberghi Se 3 persone devono scegliere unalbergo in cui pernottare qual e la probabilita che finiscano tutte inalberghi differenti Che cosa stiamo assumendo senza dirloesplicitamente
8 La media del salario annuale di un gruppo di 100 lavoratori impiegatinellrsquoamministrazione di una grande azienda e di 130000 dollari conuna deviazione standard di 20000 dollari Se si prende una persona acaso da questo gruppo cosa possiamo dire sulla probabilita che il suosalario sia
1 tra i 90000 e i 170000 dollari2 superiore a 150000 dollari
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 62 88
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 5
9 In una certa regione vi sono due ditte che producono forni amicroonde Quelli della fabbrica A sono difettosi con probabilita 005mentre quelli della fabbrica B con probabilita 001 Supponi di averacquistato due apparecchi prodotti dalla stessa ditta che puo essere laA o la B con probabilita del 50 Se il primo microonde e difettosoqual e la probabilita condizionata che sia difettoso anche il secondo
10 Hai chiesto ad un vicino di innaffiare una piantina delicata mentre seiin vacanza Pensi che senza acqua la piantina muoia con probabilita08 mentre se innaffiata questa probabilita si ridurrebbe a 015 Latua fiducia che il vicino si ricordi di innaffiarla e del 90
1 Qual e la probabilita che la pianta sia ancora viva al tuo ritorno2 Se fosse morta quale sarebbe la probabilita che il vicino si sia
dimenticato di innaffiarla
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 63 88
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 6
11 Una compagnia di assicurazioni classifica i suoi clienti in tre fascebasso rischio medio rischio alto rischio Le sue statistiche indicanoche le probabilita che un cliente delle tre fasce abbia un incidenteentro un periodo di un anno sono rispettivamente 005 015 e 030Se il 20 dei clienti sono a basso rischio il 50 a medio rischio e il30 ad alto rischio che percentuale dei clienti avra mediamenteincidenti in un lasso di un anno Se un cliente non ha avuto incidentinel 1987 qual e la probabilita che appartenga a ciascuna delle trefasce
12 Se un votante scelto a caso e favorevole ad una certa riforma conprobabilita di 07 qual e la probabilita che su 10 votanti esattamente7 siano favorevoli
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 64 88
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili aleatorie
Una variabile aleatoria (o anche variabile aleatoria) e una variabile chepuo assumere valori diversi in dipendenza da qualche fenomeno aleatorio
fenomeno lancio di 2 dadivariabile aleatoria somma dei 2 dadi
fenomeno 3 lanci di una monetavariabile aleatoria numero di rdquotesterdquo complessivo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 65 88
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Funzione di Ripartizione
Sia X una variabile aleatoria Si chiama funzione di ripartizione di X lafunzione F che associa ad ogni numero reale a la probabilita che X siaminore o uguale ad a cioe P(X le a) = FX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
FX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 if a lt 0
18 per 0 le a lt 1
18 + 38 = 48 per 1 le a lt 2
48 + 38 = 78 per 2 le a lt 3
88 = 1 per a ge 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 66 88
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Funzione di densita o di massa
Sia X una variabile aleatoria Si chiama funzione di densita di X lafunzione f che associa ad ogni numero reale a la probabilita che X siauguale ad a indicata con fX (a)
Nel caso della moneta (fair) lanciata 3 volte (X indica il numero di testecomplessivo)
fX (a) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
18 per a = 0
38 per a = 1
38 per a = 2
18 per a = 3
0 altrimenti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 67 88
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Valore Atteso
Chiamato anche media (expectation in inglese) e appunto una mediapesata dei possibili valori di una variabile aleatoria Il peso dato a ciascunvalore e la probabilita data a quello specifico valore
E[X ] =sumi
aiP(X = ai)
Esempio dado truccato
valore 6 con probabilita 712
valori da 1 a 5 con probabilita 112
La variabile aleatoria X indica la faccia risultante dal lancio di un dado
E[X ] = 1
12lowast 1 + 1
12lowast 2 + 1
12lowast 3 + 1
12lowast 4 + 1
12lowast 5 + 7
12lowast 6 = 475
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 68 88
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Valore Atteso - Proprieta
Sia X una variabile aleatoria con valore atteso E[X ] Se c e una costanteallora anche cX e X + c sono variabili casuali In particolare valgono leseguenti proprieta
E[cX ] = cE[X ]E[X + c] = E[X ] + c
Sia Y una variabile aleatoria Allora
E[X +Y ] = E[X ] +E[Y ]se e solo se X e Y sono independenti
E[XY ] = E[X ]E[Y ]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 69 88
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Varianza
Ersquo il valore atteso del quadrato della differenza tra la variabile aleatoria e ilsuo valore atteso
Var(X ) = E[(X minusE[X ])2] = E[X 2] minus (E[X ])2
La radice quadrata viene detta deviazione standard di X
Esempio dado truccato
E[X 2] = 1
12lowast 12 + 1
12lowast 22 + 1
12lowast 32 + 1
12lowast 42 + 1
12lowast 52 + 7
12lowast 62 ≃ 255
Var(X ) = E[X 2] minus (E[X ])2 ≃ 255 minus 4752 ≃ 3
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 70 88
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Varianza - proprieta
Sia X una variabile aleatoria e c una costante Allora valgono le seguentiproprieta
1 Var(cX ) = c2Var(X )
2 Var(X + c) = Var(X )
NOTA
Var(X +X ) ne Var(X ) +Var(X )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 71 88
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Covarianza
Siano X Y due variabili aleatorie con valore atteso rispettivamenteE[X ] = microX e E[Y ] = microY La covarianza e definita come segue
Cov(X Y ) = E[(X minus microX )(Y minus microY )] = = E[XY ] minus microXmicroY
Proprieta
1 Cov(X Y ) = Cov(Y X )2 Cov(X X ) = Var(X )3 Sia a una costante allora
Cov(aX Y ) = aCov(X Y )
4 Sia Z una variabile aleatoria allora
Cov(X + Z Y ) = Cov(X Y ) + Cov(Z Y )
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 72 88
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 1
1 Consideriamo una variabile aleatoria X che puo assumere i valori 12o 3 Se sappiamo che
fX (1) = 1
3 fX (2) = 3
7
1 Quanto vale fX (3)2 Disegnare il grafico di questa funzione di massa3 Disegnare il grafico della relativa funzione di ripartizione
2 Dimostrare che se X1 e X2 hanno la stessa distribuzione allora
Cov(X1 +X2X1 minusX2) = 0
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 73 88
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 2
3 La funzione di ripartizione di X e definita come segue
FX (x) =
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
0 per x le 0
x2 per 0 le x lt 1
23 per 1 le x lt 2
1112 per 2 le x lt 3
1 per x ge 3
Se ne tracci il graficoQuanto vale P(X gt 12)Quanto vale P(2 le X le 4)Quanto vale P(X le 3)Quanto vale P(X = 1)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 74 88
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 3
4 Un tipo di prodotti vengono classificati a seconda dei loro difetti edella fabbrica che li ha prodotti Sia X1 il numero (1 o 2) dellafabbrica e sia X2 il numero di difetti per pezzo (che possono essere da0 a 3) di un prodotto scelto a caso tra la totalita di quelli esistentiLa tabella seguente riporta la funzione di massa di probabilitacongiunta per queste due variabili aleatorie discrete Le righe siriferiscono alla variabile X1 mentre le colonne alla variabile X2
Trova le distribuzioni marginali di X1 e X2Calcola media e varianza di X2
0 1 2 31 18 116 316 182 116 116 18 14
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 75 88
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Scipy
Scipy e un modulo che permette di utilizzare varie distribuzioni diprobabilita sia di tipo discreto che continuo
La sintassi generale e la seguente Scipystatsltnome distribuzionegt
rvs(size=z) restituisce un vettore di numeri casuali estrattisecondo la distribuzione di lunghezza z
pdf(x) restituisce il vettore della densita della distribuzionevalutata nei valori del vettore di input x (pmf per le discrete)
cdf(x) restituisce il vettore della funzione di ripartizione (ocumulativa) della distribuzione valutata nei valori del vettore di inputx
ppf(q) restituisce il vettore dei quantili della distribuzione valutatanei valori del vettore di input q
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 76 88
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili aleatorie discrete Binomiale
gtgtgt from scipystats import binom
gtgtgt rv = binom(n p)
rvrvs(x) restituisce un vettore di x numeri estratti secondo unadistribuzione Binomiale di parametri n p
rvpmf(x) restituisce la probabilita di ottenere esattamente x
successi in un esperimento dicotomico (01) ripetuto n volte con unaprobabilita di successo p (x puo essere un vettore)
rvcdf(q) restituisce il valore della funzione di ripartizione in q (qpuo essere un vettore)
rvppf(p) restituisce il valore del quantile di ordine p
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 77 88
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili aleatorie discrete Ipergeometrica
Supponiamo di avere M = 20 animali di cui n = 7 cani Se vogliamosapere la probabilita di trovare un dato numero di cani se scegliamoN = 12 dei 20 animali in maniera casuale possiamo usare una distribuzioneipergeometrica in questo modo
gtgtgt from scipystats import hypergeom
gtgtgt [M n N] = [20 7 12]
gtgtgt rv = hypergeom(M n N)
rvpmf(x) restituisce la probabilita di estrarre esattamente x cani
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 78 88
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili aleatorie discrete Geometrica
gtgtgt from scipystats import geom
gtgtgt rv = geom(p)
rvpmf(x) restituisce la probabilita di avere un successo dopoesattamente x insuccessi in una successione di esperimenti dicotomici(esito 01) con una probabilita di successo p (x puo essere un vettore)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 79 88
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili aleatorie discrete Poisson
La distribuzione di Poisson viene usata spesso come modello per il numerodi volte per cui un evento avviene in un dato intervallo di tempo (ospazio) Ad esempio si puo utilizzare per misurare il numero di chiamatericevute da un call center in una mattinata
gtgtgt from scipystats import poisson
gtgtgt mu = 2
gtgtgt rv = poisson(mu)
rvpmf(x) restituisce il seguente valore
f (x) = exp(minusmicro)microx
x
In questo caso x rappresenta il numero di eventi per cui si vuole calcolarela probabilita sapendo che in media ne accadono micro
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 80 88
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili aleatorie continue Uniforme
In Scipy la funzione uniforme e soltanto continua Questo significa chenella generazione di numeri casuali otterro dati di tipo float Possiamotuttavia simulare una variabile discreta estraendo la parte intera delrisultato ottenuto
gtgtgt from scipystats import uniform
gtgtgt rv = uniform()
Il comando uniform() crea una distribuzione uniforme nellrsquointervallo[01] Possiamo creare una distribuzione uniforme qualsiasi usandouniform(x y - x) per lrsquointervallo [x y]
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 81 88
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Variabili aleatorie continue
norm(mu sigma) variabile Gaussiana (o Normale) di media micro edeviazione standard σ
expon(scale = 1 lambda) variabile Esponenziale di parametroλ
Altre distribuzioni (con relativa documentazione) disponibili suhttpsdocsscipyorgdocscipyreferencestatshtml
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 82 88
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 1
1 Unrsquourna contiene 10 palline di cui 4 bianche e 6 nere Si eseguono 5estrazioni con reimmissione
1 Tracciare grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo
2 Calcolare la probabilita di estrarre 2 palline bianche3 Calcolare la probabilita di estrarre al piu 2 palline bianche4 Calcolare la probabilita di estrarre almeno 2 palline bianche5 Qual e il numero minimo x tale che la probabilita di estrarre al piu x
palline bianche sia almeno 08
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 83 88
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 2
2 Si eseguono 10 estrazioni senza reimmissione da unrsquourna
1 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X = rdquonumero di palline bianche estratterdquo nei seguenti casi
1 lrsquourna contiene 100 palline di cui 20 bianche e le restanti nere2 lrsquourna contiene 100 palline di cui 2 bianche e le restanti nere
2 Tracciare il grafico della funzione massa di probabilita della variabilecasuale X nel caso dellrsquourna 1 se si eseguono 25 estrazioni
3 Consideriamo lrsquourna 1 e N = 10 estrazioni Si aumenti il numero totaleM di palline nellrsquourna mantenendo uguale a 02 la frazione di pallinebianche Per ciascun valore di M confrontare graficamente ladistribuzione di probabilita del numero di palline bianche estratte nelcaso di estrazioni con e senza reimmissione Provare con 20 40 e 200palline bianche
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 84 88
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 3
3 Calcolare la probabilita di ottenere piu teste che croci lanciando 7volte una moneta truccata con probabilita di avere croce pari a 045
4 Calcolare la probabilita di avere almeno 3 sei lanciando 5 dadi a 12facce
5 Calcolare la probabilita di estrarre 20 euro da un sacco contenente 47monete da 1 centesimo e 53 da 2 euro estraendo (uniformemente) acaso 10 monete senza reinserirle
6 Un grammo di uranio emette mediamente 2152 particelle α ognimillisecondo Qual e con buona approssimazione la probabilita che ungrammo di uranio emetta al piu 2000 particelle α in un millisecondo
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 85 88
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 4
7 Un uomo si risveglia in mezzo al deserto senza acqua Dopo ogniminuto ha una probabilita del 3 di perdere conoscenza per via dellecondizioni estreme Calcolare la probabilita che lrsquouomo perdaconoscenza dopo almeno due ore e la probabilita che lrsquouomo perdaconoscenza dopo esattamente un quarto drsquoora
8 Sia X una variabile aleatoria normale di parametri micro = 10 e σ = 36Calcola
1 P(X gt 5)2 P(4 le X le 16)3 P(X le 8)
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 86 88
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 5
9 Il numero di errori tipografici per pagina di una certa rivista segue unadistribuzione di Poisson Sapendo che mediamente sono presenti 02errori per pagina determinare la probabilita che una pagina contenga
1 nessun refuso2 piu refusi
10 Arrivi alla fermata dellrsquoautobus alle 1000 e sei certo che ne passerauno in un momento distribuito uniformemente tra le 1000 e le 1030
1 Qual e la probabilita che tu debba aspettare piu di 10 minuti2 Se alle 1015 lrsquoautobus non e ancora arrivato qual e la probabilita che
tu debba aspettare almeno altri 10 minuti
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 87 88
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-
Esercizi - 6
11 Il signor Jones e convinto che il tempo di vita di una automobile (inmigliaia di chilometri percorse) sia una variabile aleatoria esponenzialedi parametro 120 Il signor Smith ha una macchina usata da vendereche ha percorso circa 10 000 chilometri
1 Se il signor Jones decide di comprarla che probabilita ha di farle farealmeno altri 20 000 chilometri prima che sia da buttare
2 Il modello assunto dal signor Jones e ragionevole
12 Sia X una variabile casuale binomiale di parametri n = 100 e p = 07
1 Tracciate la funzione di ripartizione di X2 Calcolate il primo quartile il quantile di ordine 09 e la mediana di X3 Calcolare la probabilita P(X le 60)4 Calcolare la probabilita P(X le 88)5 Trovare il piu piccolo valore x tale che P(X le x) ge 09
Nicolo Campolongo (UniMi) SAD 20182019 January 12 2019 88 88
- Lezione 1
-
- Script in Python
- Numpy
- Esercizi
- Pandas
- Esercizi
-
- Lezione 2
-
- File csv
- DataFrame
- Accesso ai DataFrame
- Frequenze
- Esercizi
-
- Lezione 3
-
- Matplotlib
- Grafici a Barre
- Istogrammi
- Cumulativa empirica
- Boxplot
- QQplot
- Diagramma di Pareto
- Esercizi
-
- Lezione 4
-
- Definizioni
- Probabilitagrave condizionata
- Indipendenza
- Esercizi
-
- Lezione 5
-
- Variabili Aleatorie
- Funzione di Ripartizione
- Funzione di Densitagrave
- Valore Atteso
- Varianza
- Covarianza
- Esercizi
-
- Lezione 6
-
- Scipy - Variabili Discrete
- Scipy - Variabili continue
- Esercizi
-