Data transformatie

Uit Methodologiewinkel
Ga naar: navigatie, zoeken

Inleiding

Datatransformatie omvat het uitvoeren van een mathematische handeling op iedere observatie van een variabele of dataset. Met andere woorden, er is een variabele X met N observaties (of datapunten) x1, x2, x3, …. xn, en op ieder van deze observaties wordt een functie f toegepast, resulterend in een nieuwe variabele Z, Zi = f(Xi). Dus stel er is een variabele ‘lengte in meters’, die moet worden omgerekend naar een nieuwe variabele ‘lengte in centimeters’. Hiervoor moet iedere observatie van ‘lengte in meters’ worden vermenigvuldigd met honderd. De transformatie die wordt toegepast is dus: ‘lengte in centimeters’ = ‘lengte in meters’ * 100. Hoewel de nieuwe getransformeerde variabele andere waardes bevat dan de originele variabele heeft deze eenzelfde achterliggende datastructuur, waardoor deze in plaats van de originele variabele mag worden gebruikt. Er zijn meerdere redenen om een datatransformatie uit te voeren, en er zijn verschillende soorten transformaties, ieder met eigen voordelen en nadelen. Vermeldt en beargumenteer altijd de keuze voor een datatransformatie.

Redenen voor Datatransformatie

Er zijn verschillende redenen om data te transformeren. De eerste reden is dat de data één of meer assumpties van de beoogde analyse(s) schendt. Stel bijvoorbeeld dat de data niet normaal verdeeld is, terwijl de geplande analyse uitgaat van normaal verdeelde data. In plaats van een andere analyse uitvoeren, kan men ook kiezen om eerst een datatransformatie uit te voeren en na te gaan of de getransformeerde data wél voldoet aan betreffende assumpties. Een andere reden voor datatransformatie is het verbeteren van interpreteerbaarheid van de data. Zo kan het zijn dat in de originele data, het moeilijk is om een trend of systematische verschillen tussen groepen te ontdekken. Het toepassen van transformaties kan hierbij helpen, zie figuur 1. Dit is vooral nuttig bij het gebruik van grafieken en plots, waarbij het gewenst is dat verschillen of trends in de data intuïtief en in één oogopslag zichtbaar zijn.

Waarschuwingen

Bij het overwegen van datatransformaties is het belangrijk om rekening te houden met twee fenomenen. Ten eerste is het niet altijd zeker of een bepaalde transformatie de data zal beïnvloeden zoals beoogd. Het is bijvoorbeeld mogelijk non-normaal verdeelde data ook na een transformatie nog steeds niet normaal is verdeeld. In dit geval kan een andere (geschikte) transformatie worden overwogen, of anders analyses met minder limiterende assumpties. Vooral is het belangrijk om te onthouden om de effecten van uitgevoerde transformaties te inspecteren om na te gaan hoe de data is beïnvloed. Een tweede punt dat er bij de data interpretatie rekening moet worden gehouden met de effecten van de analyse. Zo leidt de inverse transformatie ertoe dat relatief hogere waardes nu relatief lager zijn (dus als één groep eerst een hoger gemiddelde had zal diezelfde groep na de transformatie een lager gemiddelde hebben). Vermeldt daarom sowieso altijd de gekozen transformatie waar relevant, en overweeg om beschrijvende statistiek (bijv. gemiddeldes, frequenties) ook in hun originele vorm (teruggerekend) weer te geven.

Figure 4.png

Soorten Transformaties

Hieronder worden de meest bekende en eenvoudig toe te passen datatransformaties besproken. In de onderstaande notatie staat Xoud voor de originele, ongetransformeerde data, en Xnieuw voor de nieuwe, getransformeerde data.

  • Square: bij deze transformatie wordt de originele data gekwadrateerd; Xnieuw = (Xoud)2. Let op dat deze transformatie tot gekke resultaten kan leiden als de dataset/variabele van interesse negatieve waardes bevat, aangezien de methode positieve en negatieve waardes dezelfde getransformeerde waarde zal toeschrijven; -22 = 4 en 22 = 4. De square root transformatie is voornamelijk handig voor het corrigeren van data met een skew naar links naar (meer) normaal verdeelde data.
  • Square root: voor deze transformatie wordt de wortel genomen van de originele data; Xnieuw = √Xoud. Let op dat deze transformatie niet mogelijk is bij datasets/variabelen met negatieve waardes omdat de wortel van negatieve waardes niet bestaat. Deze transformatie is bijzonder geschikt voor: 1) correctie voor de schending van de aanname van homogeniteit van variantie, 2) het corrigeren van data met een skew naar rechts naar (meer) normaal verdeelde data, en 3) het algemeen verbeteren van lineaire fit.
  • Inverse (ook wel: ‘reciprocal’): in deze transformatie wordt 1 gedeeld door de originele data; Xnieuw = 1/Xoud. Dit kan ook worden gecomputeerd door de originele data tot de macht min 1 te doen: Xnieuw = (Xoud)-1. Let erop dat deze methode niet werkt bij observaties met nul-waardes, aangezien delen door nul gelijk staat aan oneindig. Deze transformatie is handig voor: 1) correctie voor de schending van de aanname van homogeniteit van variantie, 2) correctie voor data met een sterke skew naar rechts, en 3) het verbeteren van lineaire modelfit.
  • Log-transformatie: bij deze transformatie wordt het natuurlijk logaritme van de originele data genomen: Xnieuw = ln(Xoud) oftewel Xnieuw = log10(Xoud). Deze transformatie methode wordt afgeraden voor datasets/variabelen met negatieve waardes. Deze transformatie is handig voor: 1) het corrigeren voor de schending van de aanname van homogeniteit van variantie, en 2) het corrigeren van een sterke skew, en 3) het algemeen verbeteren van lineaire fit.
  • Cube root: in deze transformatie wordt de originele data tot de derdemachtswortel gedaan: Xnieuw = ∛(Xoud). Dit is hetzelfde als de originele data tot de macht één-derde: Xnieuw = (Xoud)1/3. Deze transformatie methode is wél geschikt voor datasets/variabelen met negatieve waardes. Deze transformatie werkt goed voor het corrigeren van skew naar rechts, hoewel deze ook in andere situaties kan worden gebruikt.

Figure 6.png

Merk op dat er maar één methode wordt genoemd die geschikt is voor datasets/variabelen met negatieve waardes. Mochten er negatieve waardes zijn terwijl een andere methode toch voorkeur heeft, dan kan met er ook voor kiezen om eerst een additieve transformatie toe te voegen. Dat wil zeggen, de laagste waarde in de dataset/variabele wordt bepaald, en deze waarde wordt opgeteld bij de betreffende dataset/variabele voordat andere transformaties worden gedaan. Bijvoorbeeld, als de laagste waarde in een variabele -6 is, dan kan 6 worden opgeteld bij iedere observatie in de variabele. Zo blijft de relatieve waarde van de observaties gelijk én bevat de variabele niet langer waardes onder de nul.

In SPSS

Ga in het hoofdmenu naar: “transform” > “compute”. Voeg onder “target variable” (A) de naam van de nieuwe variabele in. Selecteer in de variabelen lijst (B) de variabele van interesse en verplaats deze naar het lege vlak onder “numeric expression” (C). Sommige transformaties kunnen worden gevonden door onder “function group” (F) de optie “All” te selecteren, en selecteer vervolgens onder “functions and Special Variables” de beoogde functie (bijv. SQRT) en verplaats deze naar “numeric expression”. Andere functies kunnen handmatig worden ingetikt met behulp van het keyboard en (D) in het compute variabele scherm. Druk op “Ok” onderaan het scherm om de transformatie uit te voeren.

Figure 5.png


Hieronder wordt aangegeven wat dient te worden ingetikt in “numeric expression” (C). Voor dit voorbeeld doen we alsof de naam van de variabele van interesse “VARIABLE_NAME” is. Vervang dus als je dit zelf doet “VARIABLE_NAME” met de naam van de variabele die jij wilt transformeren. Transformaties: Transformaties:

  • Square: (VARIABLE_NAME)**2
  • Square root: SQRT(VARIABLE_NAME)
  • Inverse (ook wel: ‘reciprocal’): 1/( VARIABLE_NAME)
  • Cube root: (VARIABLE_NAME)**(1/3)
  • Log-transformatie: LG10(VARIABLE_NAME)

Rapportage

Bij het gebruik van data transformaties dient dit vermeld te worden, samen met beargumenteren voor de keuze om data te transformeren en de gekozen methode. Onthoudt om dit ook duidelijk aan te geven bij grafieken, indien van toepassing.

Links