Dott.ssa Filomena Madormo

Download Report

Transcript Dott.ssa Filomena Madormo

Dott.ssa Filomena Madormo
[email protected]
Consideriamo il data set composto da 632 osservazioni e 8 variabili.
Il data set contiene dati raccolti in 16 regioni delle Filippine chiamate “Ilocos”
provenienti da due indagini svolte nel 1997 (Family and Income and Expenditure
Survey) e nel 1998 (Annual Poverty Indicators Survey APIS).
Le variabili sono le seguenti:
1. Income: reddito totale capo famiglia,
2. Sex: sesso capo famiglia,
3. family.size: dimensione della famiglia
4. urbanity: rurale o urbano
5. province: provincia,
6. AP.income: reddito totale del capofamiglia durante APIS,
7. AP.family.size: dimensione della famiglia durante APIS,
8. AP.weight: APIS (peso derivato per ogni capo famiglia).
Carichiamo i dati in R:
data(Ilocos)
attach(Ilocos)
Usiamo solo le province di "Pangasinan" e "La Union“
income.p <- income[province=="Pangasinan"]/10000
income.u <- income[province=="La Union"]/10000
Calcoliamo la curva di Lorenz
Lc.p <- Lc(income.p)
Lc.u <- Lc(income.u)
Possiamo notare che la diversità nella provincia di La
Union è maggiore, perché i valori che useremo per la
costruzione della curva di Lorenz sono minori rispetto
all’altra provincia.
Lc.p
Lc.u
Costruiamo in modo grafico la curva di Lorenz
plot(Lc.p)
lines(Lc.u, col=2)
Costruiamo in modo grafico la curva di Lorenz
generalizzata
plot(Lc.p, general=TRUE)
lines(Lc.u, general=TRUE, col=2)
Calcolare tutti i possibili indici di
concentrazione con la funzione
“ineq”.
Poi, usare la funzione “conc” per
l’analisi di concentrazione.
I dati originari sono stati raggruppati in 10 classi.
Nel caso di dati raggruppati bisogna fare particolare attenzione
(limiti di Mehran)
Costruiamo due vettori:
x: vettore delle medie del reddito
n: vettore delle frequenze (quante persone rientrano nelle classi
definite)
x <- c(541, 1463, 2445, 3438, 4437, 5401, 6392, 8304, 11904, 22261)
n <- c(482, 825, 722, 690, 661, 760, 745, 2140, 1911, 1024)
Costruiamo la Curva di Lorenz minimale (equiripartizione)
Lc.min <- Lc(x, n=n)
Costruiamo la Curva di Lorenz massimale (limits of Mehran)
Lc.max <- Lc.mehran(x,n)
Facciamo il grafico
plot(Lc.min)
lines(Lc.max, col=4)
Gli indici maggiormente rilevanti per
lo studio della povertà sono i
seguenti: Watts, Sen e Foster.
Generiamo il vettore dei redditi
x <- c(541, 1463, 2445, 3438, 4437, 5401, 6392, 8304, 11904, 22261)
y <- c(841, 2063, 2445, 3438, 4437, 5401, 6392, 8304, 11304, 21961)
Calcoliamo l’indice di Watts ipotizzando linea di povertà a 2000
pov(x, 2000)
pov(y, 2000)
Calcoliamo l’indice di Foster (headcount ratio) ipotizzando linea
povertà 2000
pov(x, 2000, parameter=1, type="Foster")
pov(y, 2000, parameter=1, type="Foster")
Uno strumento grafico utile per la verifica della normalità
è il Normal Q-Q plot.
Importiamo i dati “das.txt” e per ottenere il grafico
scriviamo in R:
qqnorm(y)
qqline(y, lty=2)
Vogliamo verificare che due variabili hanno
medie uguali.
Da un punto di vista esplorativo, la cosa più
semplice è vedere il box plot, ma servono
strumenti più accurati per verificare che due
variabili abbiano medie uguali.
Usiamo i dati “gardens.txt” ed
effettuiamo il confronto tra le medie delle
variabili gardenA e gardenB.
t.test(gardenA,gardenB)
Cosa concludiamo? Accettiamo l’ipotesi
nulla, cioè che le medie sono uguali?
Con dati non normali si usa il test di Wilcoxon.
Fate attenzione ai dati ripetuti e a possibili
messaggi di warning generati da R!
wilcox.test(gardenA,gardenB)
Abbiamo testato l’uguaglianza tra
le medie, ma la stessa cosa la
possiamo fare confrontando le
varianze con il test F.
Per il confronto fra distribuzioni si usa il
test di Kolmogorov-Smirnov.
In R usiamo la funzione “ks.test”.
Consideriamo il data set “wings.txt”
names(wings)
table(location)
location
A<-size[location=="A"]
B<-size[location=="B"]
Le medie sono statisticamente uguali?
t.test(A,B)
La risposta è: SI (p-value=0.1107 che è >
0.001, quindi accettiamo l’uguaglianza tra
le medie)
Le varianze sono statisticamente diverse?
var.test(A,B)
La risposta è: NO
Le distribuzioni sono statisticamente uguali?
ks.test(A,B)
La risposta è: NO
Inventate due vettori di dati “x” e “y”,
proponete una rappresentazione
grafica, calcolate il range e
successivamente la varianza.
Poi, confrontate medie, varianze e
distribuzioni di “x” e “y”.
Importe il file dati “gardens.txt”.
Le varianze calcolate per “gardenB” e
“gardenC” sono statisticamente
diverse?
Lavoriamo ora sui dati “twosample.txt”.
Facciamo il plot:
plot(x,y)
Calcoliamo la varianza di x, di y e la covarianza:
var(x)
var(y)
var(x,y)
Calcoliamo il coefficiente di correlazione lineare:
var(x,y)/sqrt(var(x)*var(y))
cor(x,y)
Il test di correlazione in R si ottiene usando la
funzione cor.test().
Determinate il test di correlazione per le due variabili
X e Y.
Importate il data set “pollute.txt” e
calcolate la correlazione tra Pollution e
Wet.days.
Poi, costruite la matrice di correlazione ed
effettuate il test di correlazione.