Hoe u een logboektransformatie uitvoert in sas
Veel statistische tests gaan ervan uit dat de waarden van een bepaalde variabele normaal verdeeld zijn.
De waarden zijn echter vaak niet normaal verdeeld. Eén manier om dit probleem op te lossen is door de variabele te transformeren door het logbestand van elke waarde te nemen.
Door deze transformatie uit te voeren, benadert een variabele doorgaans de normale verdeling.
In het volgende voor beeld ziet u hoe u een logboek transformatie uitvoert op een variabele in SAS.
Voorbeeld: logboektransformatie in SAS
Laten we aannemen dat we de volgende gegevensset in SAS hebben:
/*create dataset*/ data my_data; input x; datalines ; 1 1 1 2 2 2 2 2 2 3 3 3 6 7 8 ; run ; /*view dataset*/ proc print data =my_data;
We kunnen PROC UNIVARIATE gebruiken om normaliteitstests uit te voeren op de variabele x om te bepalen of deze normaal verdeeld is, en ook om een histogram te maken om de verdeling van waarden te visualiseren:
/*create histogram and perform normality tests*/
proc univariate data =my_data normal ;
histogram x;
run ;
In de laatste tabel getiteld Normality Tests kunnen we zien dat de p-waarde van de Shapiro-Wilk-test kleiner is dan 0,05, wat sterk bewijs levert dat de variabele x niet normaal verdeeld is.
Uit het histogram blijkt ook dat de verdeling van waarden niet normaal verdeeld lijkt:
We kunnen proberen een logtransformatie uit te voeren op de originele dataset om te zien of we een meer normaal verdeelde dataset kunnen produceren.
We kunnen de volgende code gebruiken om een nieuwe gegevensset in SAS te maken, waarbij we het logbestand van elk van de oorspronkelijke x-waarden gebruiken:
/*use log transformation to create new dataset*/
data log_data;
set my_data;
x = log (x);
run ;
/*view log transformed data*/
proc print data =log_data;
We kunnen dan PROC UNIVARIATE opnieuw gebruiken om normaliteitstests uit te voeren op de getransformeerde variabele en ook een histogram te produceren:
/*create histogram and perform normality tests*/
proc univariate data =log_data normal ;
histogram x;
run ;
In de laatste tabel getiteld Normaliteitstests kunnen we zien dat de p-waarde voor de Shapiro-Wilk-test nu groter is dan 0,05.
Uit het histogram blijkt ook dat de verdeling van waarden iets normaler is dan vóór de transformatie:
Op basis van de resultaten van de Shapiro-Wilk-test en het hierboven gepresenteerde histogram zouden we kunnen concluderen dat de logaritmische transformatie een veel normaler verdeelde variabele creëerde dan de oorspronkelijke variabele.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe uitschieters in SAS te identificeren
Hoe de kookafstand in SAS te berekenen
Histogrammen maken in SAS