Skip to content

TAB 3 – 26 settembre

Materiali

Introduzione alla statistica inferenziale: Inferenza statistica

Esercizi: Serie 1 – esercizi di statistica inferenziale

La prima parte teorica sulla statistica inferenziale deve evidenziare il concetto di “campione” statistico in contrapposizione al concetto di popolazione. Non si vuole certamente dare una dimostrazione ai teoremi centrali del limite, quanto piuttosto darne una verifica empirica tramite l’uso del generatore di numeri casuali e dell’estrattore casuale di campioni. A tal proposito si svolga l’attività sottostante con Gnumeric.

Fallstudium 0: fallstudium0

 

Annunci

TAB 2 – 21 settembre

Dopo aver trattato la prima parte della teoria riguardante la statistica descrittiva, è stata ripetuta l’attività dell’esercizio 1 usando Gnumeric.

File (da decomprimere): bambini_21092017.gnumeric

Appunti della lavagna digitale: statistica_descrittiva_esa_18sett

 

TAB 2 – 18 sett

Dispensa: statistica_descrittiva_esa

Gnumeric può essere istallato per Windows tramite il pacchetto scaricabile dalla rivista CHIP oppure estraendo il seguente file:

Per Mac bisogna invece istallarlo tramite homebrew, macports oppure fink.

 

 

TAB 3 – 14 sett

A complemento delle attività svolte sulla scheda proposta ricordo l’importanza del QQ-plot per verificare la normalità (o anche l’aderenza ad altri modelli) di distribuzione dei dati.

lavagna digitale del 14 sett: Appunti_14_sett_2017


# Qui il calcolo per ogni quinto percentile tramite la funzione

# quantile() (effettivi) e tramite la funzione qnorm() (teorici)

seq.quant<-seq(0.05,0.95,by=0.05)
seq.quant
perc.holo<-quantile(holoTC$holoTC,seq.quant)
perc.holo
invint.holo<-qnorm(seq.quant,mean=holomean,sd=holosd)
invint.holo
plot(invint.holo,perc.holo,main="Sort of QQplot", xlab="quantili teorici qnorm()", ylab="quantili sperimentali quantile()")
abline(a=0,b=1,col="red")

# Qui con qqnorm() e qqline(). Il calcolo viene fatto punto per
# determinando per ciascun dato (ordinato) un quantile (fondamentalmente
# si procede in modo inverso a quello precedente per la determinazione
# della probabilità, tramite la funzione ppoints()

qqnorm(holoTC$holoTC)
qqline(holoTC$holoTC)

# Qui si svela il funzionamento interno di qqnorm() e ppoints()

qq.holo<-qqnorm(holoTC$holoTC)
qq.holo

#Si generano i quantili per i dati ordinati
ppoints(51)
punti.holo<-ppoints(51)

#Si calcolano le probabilità usando i quantili
inv.punti<-qnorm(punti.holo)

# Si plotta vs i dati ordinati
ord.holo<-sort(holoTC$holoTC)
plot(ord)
plot(inv.punti,ord.holo)

Inoltre come “colore folcloristico” riporto anche il calcolo del surrogato della deviazione standard determinato usando gli quantili. Disegnate anche le rispettive funzioni di Gauss usando i parametri ottenuti in precedenza.


holomean<-mean(holoTC$holoTC)
holosd<-sd<span 				data-mce-type="bookmark" 				id="mce_SELREST_start" 				data-mce-style="overflow:hidden;line-height:0" 				style="overflow:hidden;line-height:0" 			></span>(holoTC$holoTC)
corr.holosd<-(quantile(holoTC$holoTC,0.8413)-quantile(holoTC$holoTC,0.1587))/2
corr.holosd
holodata<-hist(holoTC$holoTC,breaks=holobreaks,main="Holo TC",xlab="pmol/l")
holomedian<-median(holoTC$holoTC)
holomedian
curve(dnorm(x,mean=holomean,sd=holosd),add=TRUE,col="blue")
curve(dnorm(x,mean=holomedian,sd=corr.holosd),add=TRUE,col="red")

TAB 3 – 12/14 sett

Svolgere l’esercizio di ripresa ed approfondimento sulla distribuzione di Gauss e sui percentili.

Scheda. Gauss e percentili

Dati csv: Dati holoTC

Indicazioni per R. Serviranno dnorm(), pnorm() equivalenti a normdist() in gnumeric (non cumulata e cumulata), qnorm() equivalente al norminv() in gnumeric, nonché la funzione quantile() equivalente a percentile() in gnumeric.


holoTC <- read.csv("H:/R2016/tab3/29sett/holotc-csv/holoTC.csv", sep="")
View(holoTC)
holobreaks<-c(seq(4.5,40,by=5),seq(49.5,100,by=10),seq(119.5,280,by=40))
holodata<-hist(holoTC$holoTC,breaks=holobreaks,main="Holo TC",xlab="pmol/l")
library("agricolae", lib.loc="~/R/win-library/3.3")
tabella<-table.freq(holodata)
tabella
ogive.freq(holodata,main="Holo TC", xlab="pmol/l")
quant.seq<-c(seq(0,1,by=0.05))
quantile(holoTC$holoTC,quant.seq)

#Classi con ampiezza più adatta al caso
holobreaks<-c(seq(4.5,40,by=5),seq(49.5,100,by=10),seq(119.5,280,by=40))
holosd<-sd(holoTC$holoTC)
holomean<-mean(holoTC$holoTC)
holodata<-hist(holoTC$holoTC,breaks=holobreaks,main="Holo TC",xlab="pmol/l")
tabella<-table.freq(holodata)
library("agricolae", lib.loc="~/R/win-library/3.3")
tabella<-table.freq(holodata)
ogive.freq(holodata,main="Holo TC", xlab="pmol/l")

# Calcolo a mano dei percentili, la formula per il rango
# è quella Excel/Gnumeric compatibile; confrontare i valori
# ottenuti con il FC

holo.sorted<-sort(holoTC$holoTC)
quant.seq<-c(seq(0.05,0.95,by=0.05))
holo.rango<-quant.seq*(lenght(holo.sorted)-0.5)
holo.rango<-quant.seq*(length(holo.sorted)-0.5)

holo.perc<-holo.sorted[holo.rango]+(holo.rango-trunc(holo.rango))*(holo.sorted[holo.rango+1]-holo.sorted[holo.rango])
holo.perc

# In automatico con quantile() e confronto dei valori con
# grafico x,y e c reazione di una lista dei dati separata

quant.seq
holo.autoperc<-quantile(holo.sorted,quant.seq)
holo.autoperc

plot(holo.autoperc,holo.perc,main="Confronto tra metodi per la determinazione dei percentili",xlab="percentili R",ylab="percentili manuali")
abline(a=0,b=1)
lista.holo<-list(holo.autoperc,holo.perc)
lista.holo
names(lista.holo)<-c("automatici","manuali")
View(lista.holo)

# Confronto tra i quantili e l'integrale dall'inf. neg
# della curva di Gauss (creazione delle liste).

holo.norm<-qnorm(quant.seq,mean=holo.mean,sd=holo.sd)
holo.norm
lista.holo<-list(holo.autoperc,holo.perc,holo.norm)
names(lista.holo)<-c("automatici","manuali","Gauss")
View(lista.holo)

# Qui si crea un grafico per ogni quinto percentile confrontando
# il valore reale misurato con quello teorico cumulato. Se i dati
# fossero normali si otterrebbero dei punti su una retta.

plot(lista.holo$Gauss,lista.holo$automatici,main="Q-Q plot Holo TC vs Gauss",xlab="quantili Gauss",ylab="percentili")
abline(a=0,b=1)

# Funzione analoga automatica qqnorm. La funzione per ogni dato
# riportato sull'asse y, calcola il corrispettivo standard z
# e lo riporta sull'asse delle x. Si ottiene un vero QQplot
qqnorm(holo.sorted)
qqline(holo.sorted)
plot(lista.holo$Gauss,lista.holo$automatici)

 

TAB 2 – 7 sett

Svolto con R l’esercizio 1 sul peso dei bambini. Qui sotto il listato dei comandi usato.


library(readr)
bambini <- read_csv("H:/R2017/7setttab2/bambini.csv")
View(bambini)
hist(bambini$peso)
hist(bambini$peso,main="Istogramma del peso")
hist(bambini$peso,main="Istogramma del peso",xlab="kg")
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza")
)
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza")
lista<-seq(from=25,to=38,by=1.5)
lista
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks=lista)
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks="lista")
lista<-c(seq(from=25,to=38,by=1.5))
lista
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks="lista")
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks=lista)
lista<-c(seq(from=25,to=39,by=1.5))
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks=lista)
lista<-seq(from=25,to=39,by=1.5)
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks=lista)
summary(bambini$peso)
lista<-seq(from=25.5,to=38,by=1.5)
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks=lista)
lista
irregolari<-c(25,25.5,26,28,28.3,30.3,32.1,45)
hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks=irregolari)
hist(bambini$peso,main="Istogramma del peso",xlab="kg",breaks=irregolari)
boxplot(bambini$peso)
boxplot(bambini$peso,main="Boxplot")
boxplot(bambini$peso,main="Boxplot",notch=TRUE)
dati.isto<-hist(bambini$peso,main="Istogramma del peso",xlab="kg",ylab="Frequenza",breaks=lista)
dati.isto
pie(dati.isto$counts)
pie(dati.isto$counts,labels=dati.isto$mids)
library("agricolae", lib.loc="~/R/win-library/3.4")
ogive.freq(dati.isto)

 

TAB 2 – 5 sett 17

Esercitazioni “libere” sul primo esercizio della serie (peso dei bambini). Generazione di grafici statisitci in modalità intuitiva.

Teoria: statistica_descrittiva_ssmt

Esercizi: serie di statistica descrittiva

File es 1: bambini (file csv compresso in formato zip)

File svolto in classe: bambini_svolto_5sett17_tab2

Ricordo anche la regola d’oro (lesson #1) dell’informatica a proposito della creazione di file e cartelle. Per i nomi si usano solamente caratteri (minuscole e maiuscole) e numeri. Proibiti gli spazi bianchi, i caratteri speciali ($£/\#@, ecc.) e le interpunzioni in generale (!?;:, ecc.). Proibiti anche i caratteri ASCII a 8 bit (lettere accentate, éüèöàä, ecc). Ammessi il trattino normale e il trattino sottolineato (che di solito sostituisce lo spazio bianco). Il punto serve unicamente per l’ESTENSIONE dei file!