Join Now

Har du også udfordringer med manglende data?

by SAS Employee MichaelSperling on ‎03-08-2016 04:48 AM (504 Views)

Data fra den virkelige verden er fuld af fejl og mangler. Ofte er data behæftede med manglende værdier for en eller flere variable (ufuldstændige data) eller hele observationer. Dette er et problem i deskriptiv statistik, men særligt hvis man arbejder med prædikative eller præskriptive modeller, bør man være varsom.

 

Har man denne udfordring, kan man overveje følgende:

 

  1. Er der en systematik i de manglende observationer?
  2. Hvad gør det i forhold til mit valg af værktøjer?
  3. Hvad kan man gøre for at rette op på problemet?

 

Systematik i manglende observationer?

Er de manglende observationerne eller datapunkter tilfældigt fordelt, Missing-at-Random (MAR), er problemet først og fremmest relateret til mængden af data. I deskriptiv statistik gøres ofte brug af en trunkering, således at værdier ikke kan præsenteres, hvis der er færre observationer i den pågældende gruppe end en fastsat minimumsværdi. Bygger man statistiske modeller med brug af inferens kan det påvirke signifikanssandsynlighederne og medføre en mulig type-II fejl alene pga. manglende data (som er MAR). I SAS findes der en række muligheder for at rette op på sådanne fejl i data, som jeg skal komme tilbage til.

Vurderes de manglende observationer at være ikke-tilfældige (Missing-Not-At-Random, MNAR) har man en mere alvorlig fejl, som der bør tages hånd om. Er det hele observationer, der er manglende, f.eks. i forbindelse af med besvarelse i spørgeskemaundersøgelser? Hvis der er et bias i, hvem der besvarer spørgeskemaer, bør man korrigere for dette bias ved at benytte SAS’ særlige surveyprocedurer.

 

Hvad gør det i forhold til mit valg af værktøjer?

I en lang række SAS-procedurer er der mulighed at tilføje MISSING optionen. Dette er ofte i forbindelse med et CLASS eller STRATA statement. Hermed behandles de manglende datapunkter som en selvstændig kategori. Dette gælder både for deskriptive procedurer, som eksempelvis Proc Tabulate, men også for statistiske procedurer, f.eks. Proc Logistic.

Er formålet at lave en prædikativ model bør statistiske beslutningstræ eller Random Forrest algoritmer også overvejes, da disse medtager missing-værdier i prædiktionen, når de udføres i SAS. På den måde smides værdiful information ikke væk.

Proc Mixed er en anden af de værktøjer i SAS, som kan håndtere manglende datapunkter – så længe datapunkterne er Missing-At-Random. Bl.a. benytter Proc Mixed en mekanisme til at håndtere manglende datapunkter (Wolfinger and Chang, 1995), foruden impute-muligheden til at beregne prædikterede værdier for kovariaterne.

 

Hvad kan man gøre for at rette op på problemet?

Har man manglende datapunkter, som vurderes at være (tilnærmelsesvist) tilfældige (MAR), så kan man beregne (imputere) de manglende datapunkter. Dette kan gøres med simpel imputation eller multipel imputation.  Benytter man gennemsnittet af de øvrige observation til at beregne de manglende værdier (simpel imputation) skal man være opmærksom på, at dette driver variansen ned. Multiple imputation procedurerne går en anden vej. Med brug af multibel imputation (PROC MI) erstattes de manglende datapunkter med sandsynlige værdier i m dataset, dvs. i hver af de m dataset tilføjes det manglende datapunkt en værdi, som er tilfældig men realistisk i forhold til den sande værdi for datapunktet. Herefter kan de m dataset analyseres med traditionelle statistiske procedurer (PROC MIANALYZE). PROC MI understøtter brug af fully conditional specification, FCS, Markovkæde Monte Carlo simuleringer, MCMC, samt Expectation-Ma... for multivariabelt normalfordelte dataset. Endvidere kan bl.a. Box-Cox, eksponentiel eller logaritmisk transformation benyttes til at skabe normalitet.

Missing-At-Random antagelsen kan som sådan ikke testes, men man kan udføre nogle sensitivitetsanalyser for at kaste lys over, hvor kritisk denne antagelse er for de fundne resultater.

 

Eksempel

Dette eksempel bygger på sashelp.baseball, som jeg også har anvendt i tidligere indlæg. I dette datasæt er der manglende dataværdier for variablen logsalary. Med FCSmetoden inputeres de manglæende værdier for logsalary.

 

Title "Baseball";
proc mi data=sashelp.baseball (keep= logsalary Division CrHits nHits nbb) 
	seed=1213 
	out=baseball_1;
	class Division;
	fcs nbiter=20 reg(logsalary/details);
	var logsalary Division CrHits nHits nbb;
run;

data baseball_1;
 set baseball_1;
 if division = "East" then East_division = 1;
 else east_division = 0;
run;

Regression køres på de 20 imputerede datasæt

proc reg data=baseball_1;
 model logsalary = East_Division CrHits nHits nbb;
 by _Imputation_;
 ods output parameterestimates=Parm_1;
run;

Med Proc Mianalyze estimeres parameteren East_Division, og vi ser at testet har en signifikanssandsynlighed på 4,07 pct.

 

proc mianalyze parms=Parm_1;
 modeleffects East_Division;
run;

 

 

 

MI picture 1.PNG

 

Samme analyse udføres igen, men denne gang med mnar (Missing Not At Random) statement, med en option på, som begrænser datasættet til East-divisionen.

 

Title2 "Mnar";
proc mi data=sashelp.baseball (keep= logsalary Division CrHits nHits nbb) 
		seed=1213 
		out=baseball_2;
	class Division;
	fcs nbiter=20 reg(logsalary/details);
	mnar model (logsalary / modelobs=(division = "East"));
	var logsalary CrHits nHits nbb;
run;

data baseball_2;
 set baseball_2;
 if division = "East" then East_division = 1;
 else east_division = 0;
run;

proc reg data=baseball_2;
 model logsalary = East_Division CrHits nHits nbb;
 by _Imputation_;
 ods output parameterestimates=Parm_2;
run;
proc mianalyze parms=Parm_2;
 modeleffects East_Division;
run;

Resultatet af Proc Mi er en signifikanssandsynlighed på divisionsvariablen på 9,65 pct.

 

MI picture 2.PNG

 

MAR-antagelsen flytter signifikanssandsynligheden for East_Division fem procentpoint. Om det er meget eller lidt, afgørende eller ej, afhænger af, til hvem og til hvad man skal bruge analysen, men under alle omstændigheder er det vigtigt at forholde sig kritisk til, om ens data indeholder systematiske fejl, herunder manglende datapunkter, hvilket procedurerne i SAS/STAT-pakken kan hjælpe med til at belyse.

 

Læs mere her: http://support.sas.com/resources/papers/proceedings15/3295-2015.pdf