Puuttuva tieto ja puuttuvan tiedon käsittely

Puuttuva tieto ja
puuttuvan tiedon käsittely
SAS Forum Finland 2010
Esko Levälahti
Esityksen sisältö
• Lähes aina tilastoaineisto sisältää
puuttuvaa tietoa
• Puuttuvan tiedon profilointi
• Puuttuvan tiedon käsittely
Puuttuvan tiedon tyypit
•
Aukot tiedossa
– Joltakin riviltä puuttuu yksittäisiä arvoja
– Koko rivin tiedot puuttuvat
•
Missä roolissa puuttuvaa tietoa sisältävä muuttuja on
– Selittäjä
– Selitettävä
•
Satunnaisuus
– Satunnaista: arvon puuttuminen on riippumatonta muiden muuttujien
arvoista
– Täysin satunnaista: arvon puuttuminen on riippumatonta muiden muuttujien
arvoista ja muuttujan todellisesta arvosta
– Ei-satunnaista
Esityksessä käytetty esimerkkiaineisto
• Census bureau database: ADULT
http://www.census.gov/ftp/pub/DES/www/
welcome.html
– Hours_per_week: työmäärä h/viikko
– Sex: Male / Female
– Workclass: gov / private / self-emp
Esimerkki aineistot
Aineisto 1
Aineisto 2
Miehet
Miehet
Rivimäärä
12641
2704
2387
Puuttuvaa
(%)
4,3
4,8
5,1
Rivimäärä
Naiset
Puuttuvaa
(%)
Keskiarvo
Keskihajonta
Private
6575
5,1
36,4
11,1
Self-emp
441
5,2
37,7
gov
1466
4,6
38,7
Workclass
Private
Self-emp
gov
workclass
Keskiarvo
42,3
46,9
41,6
Keskihajonta
10,9
15,6
10,4
Workclass
Private
Self-emp
Gov
Rivimäärä
12497
2370
2412
Puuttuvaa
(%)
5,4
16,5
4,1
Keskiarvo
41
43
40,6
Keskihajonta
9,4
13,2
9
Naiset
Rivimäärä
Puuttuvaa
(%)
Keskiarvo
Keskihajonta
Private
6794
1,9
35,8
10,4
16,5
Self-emp
430
7,50
35
13,8
10,7
gov
1495
2,7
38
9,8
workclass
Puuttuvan tiedon profilointi
•
•
•
•
•
Proc summary /proc sql
Proc freq: khiin neliötesti
Proc ttest
Proc logistic
...
Logistinen regressioanalyysi
• Indikaattorimuuttuja _missing:
_missing= 1, arvo puuttuu
_missing=0, arvo ei puutu
• Vaatimuksia selittäjille
– Kaikkien pitää olla numeerisia muuttujia
– Luokkatason muuttuja muutettava kaksiluokkaisiksi,
jos ei järjestysasteikollinen
Logistinen regressioanalyysi
•
Riippumattomuus _missing vs. Sukupuoli:
proc logistic data=adult_random;
model _missing = sex_num;
run;
•
Riippumattomuus _missing vs. Julkinen/yksityinen/yrittäjä:
proc logistic data=adult_random;
model _missing = workclass_private workclass_gov;
run;
Logistinen regressioanalyysi
The LOGISTIC Procedure
Testing Global Null Hypothesis: BETA=0
Test
Chi-Square
Likelihood Ratio
3.4051
Score
3.4445
Wald
3.4415
DF
1
1
1
Pr > ChiSq
0.0650
0.0635
0.0636
Logistinen regressioanalyysi
The LOGISTIC Procedure
Testing Global Null Hypothesis: BETA=0
Test
Likelihood Ratio
Score
Wald
Chi-Square
DF
Pr > ChiSq
1.1417
1.1538
1.1534
2
2
2
0.5651
0.5616
0.5618
The LOGISTIC Procedure
Logistinen regressioanalyysi
Analysis of Maximum Likelihood Estimates
Parameter
Intercept
workclass_private
workclass_gov
Standard
Wald
DF Estimate
Error Chi-Square Pr > ChiSq
1
1
1
2.9847
0.0555
-0.0214
0.0813
0.0880
0.1091
1348.2453
0.3983
0.0384
<.0001
0.5280
0.8447
Riippumattomuustestien tulokset
Aineisto 1
Muuttuja
Luokka
Workclass
Private
4,6
Self-emp
4,8
gov
4,9
Male
5,0
Female
4,5
Sex
Puuttuva (%)
Riippumattomuustesti
p= 0,5616 (Chi-square= 1,15, DF= 2)
p= 0,0635 (Chi-square= 3,44, DF= 1)
Aineisto 2
Muuttuja
Luokka
Workclass
Private
4,19
Self-emp
15,25
gov
3,58
Male
2,33
Female
6,92
Sex
Puuttuva (%)
Riippumattomuustesti
p < 0.0001 (Chi-square= 708.1, DF= 2)
p < 0.0001 (Chi-square= 247.5, DF= 1)
Aineisto 1 verrattuna alkuperäiseen
Miehet
workclass
Puuttuva (%)
Keskiarvo
Erotus
Keskihajonta
Erotus
Private
4,3
42,3
0,00
10,9
0,02
Self-emp
4,8
46,9
0,00
15,6
0,03
gov
5,1
41,6
0,02
10,4
-0,09
Erotus
Keskihajonta
Erotus
Naiset
workclass
Puuttuva (%) Keskiarvo
Private
5,1
36,4
-0,01
11,1
-0,04
Self-emp
5,2
37,7
0,17
16,5
0,06
gov
4,6
38,7
-0,06
10,7
0,07
Aineisto 2 verrattuna alkuperäiseen
Miehet
workclass
Puuttuva (%) Keskiarvo
Erotus
Keskihajonta
Erotus
Private
5,4
41
1,33
9,4
-0,59
Self-emp
16,5
43
3,94
13,2
-2,59
gov
4,1
40,6
1,10
9
-0,73
Naiset
workclass
Puuttuva (%)
Keskiarvo
Erotus
Keskihajonta
Erotus
Private
1,9
35,8
-0,59
10,4
-0,82
Self-emp
7,5
35,0
-2,59
13,8
-2,69
gov
2,7
38,0
-0,72
9,8
-0,87
Puuttuvan tiedon käsittelytapoja
• Puuttuvia arvoja sisältävän rivin tai muuttujan
poisjättäminen
• Editointi
• Aineistoon tehtävä imputointi
• Tilastolliseen malliin perustuva käsittely
Imputointimenetelmän valinta
• Mitä analyysiä varten käsittelyä tehdään?
• Minkälaista puuttuvaa tietoa esiintyy? (dia 3)
• Imputointituloksen ja analyysitulosten
arviointi -> uuden imputointimenetelmän
valinta, mikäli tuloksissa jotain selittämätöntä
SAS: Imputointimenetelmiä
•
•
•
•
•
Moni-imputointi
Yksittäisimputointi
Hot deck
Regressiomalliin perustuva imputointi
...
Moni-imputointi
• Usean muuttujan yhtäaikainen imputointi
• Pyritään löytämään useita sopivia arvoja, joilla
voidaan paikata puuttuva arvo
• proc MI -> Analyysi Proc -> proc MIANALYZE
• Yleensä oletetaan, että arvojen puuttuminen
satunnaista
• Usein tehoton suurilla aineistoilla
Yksittäisimputointi
• Joukko menetelmiä, joilla voidaan paikata
yhden muuttujan puuttuvat arvot
• Tehokas, mutta yksinkertainen
• SAS-makro single impute:
Zhang, S. Liao, J. And Zhu, Z. A SAS® Macro for
Single Imputation.
Yksittäisimputointi
• Menetelmät voidaan jakaa neljään ryhmää:
1) Paikkaaminen keskiarvolla, minimi- tai maksimiarvolla
2) Paikkaaminen yleisimpien arvojen keskiarvolla,
minimi- tai maksimiarvolla
3) Paikkaaminen datassa edeltävillä riveillä olevien
arvojen keskiarvolla tai puuttuvan havainnon jälkeen
tulevien arvojen keskiarvolla
4) Paikkaaminen arvolla, joka saadaan lisäämällä tai
vähentämällä keskiarvosta satunnainen arvo
HOT DECK
• Joukko menetelmiä, joilla pyritään löytämään sopiva
paikkaava arvo joltakin toiselta riviltä, joka muuten
samankaltainen puuttuvan arvon sisältävän rivin kanssa
• SAS-makro HOTDECK: Ellis, B. A Consolidated Macro for
Iterative Hot Deck Imputation (NESUG 2007)
• Lähinaapurimenetelmä / painotettu menetelmä
• Yleiskäyttöinen ja tehokas
Yhteenveto
• Riippumattomuustestauksessa logistinen
regressianalyysi yleiskäyttöinen
• Jos selitettävässä muuttujassa puuttuva tieto
satunnaista, ei puuttuvaa tietoa tarvitse
yleensä imputoida
• Löytyy SAS-makroja ja -ohjelmia imputointiin
Kiitokset!
• Kysymyksiä
• Keskustelua
www.aureolis.com
Aureolis Oy - Lars Sonckin kaari 16 - FI-02600 Espoo
office +358 20 741 2790 - fax +358 20 741 2791
contact@aureolis.com