KEUZE TOETS: Difference between revisions

From Wikistatistiek
Jump to navigation Jump to search
Line 140: Line 140:
Je kunt beoordelen of de studie sample afkomstig kan zijn uit een [http://nl.wikipedia.org/wiki/Normale_verdeling normaal verdeelde populatie] door naar het histogram en naar de normaliteitsplot kijken. Ook kan er een formele toets gedaan worden. Bijvoorbeeld de Kolmogorov-Smirnoff toets of de Shapiro-Wilk toets (in SPSS 16: Analyze- Descriptive Statistics->Explore, klik onder het "Plots" kopje 'Histogram' en 'Normality plots with tests' aan, geef eventueel de groepsvariabele op onder "Factor List"). Let er echter op dat bij grote aantallen deze tests reeds een kleine (voor de beoogde analyse mogelijk irrelevante) afwijking van normaliteit significant kan worden terwijl er bij kleine aantallen grove afwijkingen van normaliteit niet statistisch significant uit de bus komen. Baseer je beoordeling dus nooit op enkel deze testen, maak ook een grafische inschatting en weeg de aantallen mee.
Je kunt beoordelen of de studie sample afkomstig kan zijn uit een [http://nl.wikipedia.org/wiki/Normale_verdeling normaal verdeelde populatie] door naar het histogram en naar de normaliteitsplot kijken. Ook kan er een formele toets gedaan worden. Bijvoorbeeld de Kolmogorov-Smirnoff toets of de Shapiro-Wilk toets (in SPSS 16: Analyze- Descriptive Statistics->Explore, klik onder het "Plots" kopje 'Histogram' en 'Normality plots with tests' aan, geef eventueel de groepsvariabele op onder "Factor List"). Let er echter op dat bij grote aantallen deze tests reeds een kleine (voor de beoogde analyse mogelijk irrelevante) afwijking van normaliteit significant kan worden terwijl er bij kleine aantallen grove afwijkingen van normaliteit niet statistisch significant uit de bus komen. Baseer je beoordeling dus nooit op enkel deze testen, maak ook een grafische inschatting en weeg de aantallen mee.


Bij datasets>25 kan er met een beperkte scheve verdeling alsnog gebruikt gemaakt worden van parametrische tests zoals de [[t-test]], zie een heldere uitleg in dit artikel <cite>[cessie2020]</cite>.
Bij datasets>25 kan er met een beperkte scheve verdeling alsnog gebruikt gemaakt worden van parametrische tests zoals de [[t-toets]], zie een heldere uitleg in dit artikel <cite>[cessie2020]</cite>.


===Wanneer concludeert de Shapiro Wilk test dat data niet normaal verdeeld is?===
===Wanneer concludeert de Shapiro Wilk test dat data niet normaal verdeeld is?===

Revision as of 15:31, 28 January 2020

Schema welke toets bij welke vergelijking

type vergelijking
1 groep 2 groepen >2 groepen
vs. referentie gepaard ongepaard gepaard ongepaard
type data numeriek (continu) normaal

verdeeld

1 sample t-toets gepaarde t-toets

ongepaarde t-toets

linear mixed models One-way ANOVA
niet normaal

verdeeld

tekentoets Wilcoxon signed rank toets Mann-Whitney U toets Friedman toets Kruskal Wallis
categorisch (discreet) binair z-test voor proporties McNemar toets Chi-kwadraat toets/

Fisher's exact toets

Cochran's Q toets Chi-kwadraat toets/ Fisher-Freeman-Halton exact toets
nominaal /

ordinaal

x McNemar toets /

Wilcoxon signed rank toets

Chi-kwadraat toets (trend) GLMM / GEE Chi-kwadraat toets (trend)

Schema welke analyse bij welke associatie

type associatie
crosssectioneel longitudinaal
een onafhankelijke variabele meer onafhankelijke variabelen een onafhankelijke variabele meer onafhankelijke variabelen
type data numeriek (continu) normaal

verdeeld

Pearson's rho/enkelvoudige lineaire regressie meervoudige lineaire regressie herhaalde metingen
niet normaal

verdeeld

Spearman's rho x
gecensureerd numeriek Kaplan Meier analyse Cox regressie
categorisch (discreet) binair OR/ RR/ RRR / ARR / NNT logistische regressie GLMM / GEE
nominaal

/ordinaal

x multinomiale

/ ordinale logistische regressie

Van welk type is mijn data?

Continue variabelen

Het belangrijkste onderscheid naar type data is dat tussen continue en discrete variabelen. Een continue variabele kan in een bepaald interval iedere waarde aannemen. Lengte, gewicht en temperatuur zijn continue variabelen (bijvoorbeeld 37.3 graden Celsius).

Discrete variabelen

Voor discrete variabelen wordt onderscheid gemaakt tussen kwalitatieve en kwantitatieve variabelen. De waarden die kwalitatieve variabelen kunnen aannemen zijn geen getallen, maar kenmerken. We spreken ook wel van categorische variabelen. Kwalitatieve variabelen zijn per definitie discrete variabelen. Een voorbeeld van een kwalitatieve variabele is de bepaling van de bloedgroepen A, B, AB en 0.

Kwantitatieve discrete variabelen zijn gehele getallen. Een telling van het aantal polibezoeken van een patient is bijvoorbeeld een kwantitatieve discrete variabele. Als kwantitatieve discrete variabelen veel verschillende mogelijke waardes hebben (bijvoorbeeld het aantal CD4+ T cellen), worden ze vaak geanalyseerd als continue variabelen (er wordt dan wel eens gesproken over semi-continue data). Zijn er daarentegen maar een beperkt aantal uitkomstwaarden, dan zijn andere analysetechnieken vereist.

Voor de statistische analyse van kwalitatieve data en van kwantitatieve discrete variabelen met een beperkt aantal uitkomstmaten, wordt onderscheid gemaakt tussen binaire, nominale en ordinale discrete variabelen.

Binaire variabelen

Een binaire (of dichotome) uitkomstmaat heeft slechts 2 mogelijke uitkomsten of waarden. Voorbeelden zijn geslacht (man of vrouw), overleving (dood of levend) of hersteld (wel of niet).

Nominale variabelen

Op nominaal niveau gemeten variabelen zijn kwalitatieve variabelen, waarvan de categorieën niet in een vaste of zinvolle volgorde zijn te plaatsen. Voorbeeld. 'Bloedgroep' met als waarden A, B, AB en O of 'Behandeld vat' met als waarden LAD, LM, RCA en RCx.

Ordinale variabelen

Op ordinaal niveau gemeten variabelen zijn kwalitatieve variabelen, waarvan de categorieën wel in een vaste en zinvolle volgorde zijn te plaatsen. Bijvoorbeeld een stelling in een vragenlijst, zoals 'ik heb de laatste tijd vaak sombere gedachtes', met als antwoordcategorieen: 'geheel mee eens', 'mee eens', 'geen mening', 'niet mee eens' en 'geheel niet mee eens'. (Discrete) numerieke variabelen zijn per definitie ordinaal (door het numerieke karakter is er een ordening in de getallen).

Heb ik gepaarde of ongepaarde data?

Data zijn gepaard als er twee (of meer) maal bij dezelfde personen een meting gedaan is. Als er sprake is van aparte, onafhankelijke groepen, dan zijn data ongepaard.

  • Voorbeeld 1 Wij hebben bij varkens een ziekte opgewekt. Daarna hebben bij de ene groep VROEG een interventie gedaan, en bij een andere groep LAAT een interventie gedaan. Welke statistische test moet ik gebruiken als ik: 1. Binnen een groep het verschil van VOOR en NA de interventie wil testen? 2. Het verschil tussen de 2 groepen (na de interventie) wil testen? -> In het eerste geval zal er een gepaarde toets gedaan moeten worden, in het tweede geval een ongepaarde toets.
  • Voorbeeld 2 Er is een nieuw apparaat op de markt dat bloeddruk kan meten. Wij willen dit apparaat vergelijken met de huidige gouden standaard van bloeddrukbepalingen mbv een bloeddrukband. We hebben bij 30 patienten de bloeddruk bepaald, gelijkertijd met het nieuwe apparaat als met de gangbare bloeddrukband. Ik wil de gemiddelden van deze twee metingen, van dezelfde 30 patienten met elkaar vergelijken. Kan dit met een ongepaarde toets? Zijn dit wel onafhankelijke metingen? -> Indien de metingen van het apparaat en de gouden standaard band betrekking hebben op dezelfde patienten (en op hetzelfde moment), dan zijn het geen onafhankelijke metingen. Je hebt dan gepaarde metingen en als je het verschil in gemiddelde waarden wilt vergelijken zul je een gepaarde toets moeten doen.

Ik heb deels gepaarde en deels ongepaarde proporties, hoe kan ik deze vergelijken?

Ik vergelijk de uitkomsten van kwaliteitsindicatoren in twee verschillende databronnen. Mijn patiënten hebben een "partial overlap": sommige kon ik matchen in beide databronnen, en sommige staan slechts in een van de twee bronnen. Dus zijn zij niet "paired" en ook niet "unpaired". Hoe kan ik de kwaliteitsindicatoren (binaire variabelen) met elkaar vergelijken?

De patienten die in beide bronnen voorkomen kun je vergelijken mbv een gepaarde McNemar toets. De patienten die slechts in een van de twee bronnen voorkomen kun je vergelijken met een ongepaarde Chi-kwadraat toets. Er zijn ook methoden om beide patientgroepen tegelijk te vergelijken. Zie daarvoor de volgende referenties:

Hoe beoordeel ik de normaliteit van mijn data?

Je kunt beoordelen of de studie sample afkomstig kan zijn uit een normaal verdeelde populatie door naar het histogram en naar de normaliteitsplot kijken. Ook kan er een formele toets gedaan worden. Bijvoorbeeld de Kolmogorov-Smirnoff toets of de Shapiro-Wilk toets (in SPSS 16: Analyze- Descriptive Statistics->Explore, klik onder het "Plots" kopje 'Histogram' en 'Normality plots with tests' aan, geef eventueel de groepsvariabele op onder "Factor List"). Let er echter op dat bij grote aantallen deze tests reeds een kleine (voor de beoogde analyse mogelijk irrelevante) afwijking van normaliteit significant kan worden terwijl er bij kleine aantallen grove afwijkingen van normaliteit niet statistisch significant uit de bus komen. Baseer je beoordeling dus nooit op enkel deze testen, maak ook een grafische inschatting en weeg de aantallen mee.

Bij datasets>25 kan er met een beperkte scheve verdeling alsnog gebruikt gemaakt worden van parametrische tests zoals de t-toets, zie een heldere uitleg in dit artikel [1].

Wanneer concludeert de Shapiro Wilk test dat data niet normaal verdeeld is?

Ik dacht dat een Shapiro-Wilk test met p<0.05 betekende dat de data niet normaal verdeeld zijn. Nu heb ik van een collega een syntax ingekeken waar een grens van 0.9 wordt aangehouden. Wat is nou waar?

Formeel gezien, moet je bij een p<0.05 de nul hypothese verwerpen. In jouw geval, zou je dus op basis van de p-waarde moeten besluiten om de data als niet normaal te zien. Echter, wanneer je voldoende data hebt, kun je zelfs een irrelevant, maar statistisch significante afwijking van de normale verdeling vinden. De test statistic W van de Shapiro-Wilk test loopt van 0 tot 1, waarbij 1 betekent dat de data perfect normaal verdeeld zijn. Vaak wordt meer naar deze waarde gekeken, dan naar de p-waarde, waarbij voor de W een ondergrens van 0.90 gehanteerd wordt. Als de test-stastistic W groter is dan 0.90 kan de data als normaal verdeeld beschouwd worden. (Er zijn veel voorbeelden waarbij de W > 0.99 is, terwijl de p < 0.05 is.) Soms wordt daarom aangeraden grote samples niet de Shaprio-Wilk maar de Kolmogorov-Smirnoff toets te gebruiken.

De Kolmogorov-Smirnoff toets uit de Explore functie geeft niet hetzelfde antwoord als die uit de 'Nonparametric Tests' menu.

De Kolmogorov-Smirnoff lijkt op twee manieren te kunnen via SPSS, namelijk via Explore -> Normality plots with tests of via Nonparametric tests ->1 sample K-S. Bij deze twee methoden komen er ‘omgekeerde’ resultaten uit, zo lijkt het bij mijn data.

Scherpe observatie dat de twee K-S testen niet tot dezelfde conclusie komen. Ik citeer uit de help van SPSS behorend bij de non-parametric command:

"The power of the test to detect departures from the hypothesized distribution may be seriously diminished. For testing against a normal distribution with estimated parameters, consider the adjusted K-S Lilliefors test (available in the Explore procedure)."

Blijkbaar is de 'gewone' K-S test (onder de non-parametric opties) niet goed in staat om bij kleine samples een afwijking van normaliteit te vinden. Er is een correctie op de test die geimplementeerd is onder de Explore functie. (zie bijv http://en.wikipedia.org/wiki/Lilliefors_test voor details).

Gebruik dus niet de K-S test uit de nonparametric tests opties. Beter nog: gebruik bij relatief kleine samples de Shapiro-Wilk test, deze zal als eerste een afwijking van normaliteit bemerken.

Hoe beoordeel ik normaliteit bij een klein aantal observaties?

Voor een artikel wat ik aan het schrijven ben moet ik enkele statistische analyses doen waarbij het voor mij onduidelijk is hoe ik moet beoordelen of de te gebruiken data wel of niet normaal verdeeld zijn. Het betreft kleine aantallen proefpersonen (<10 patienten met voor en nameting gezien zeldzame ziektebeeld). Hierbij gaat het om algemene zaken als lichaamsgewicht en cholesterolinname en om specifiekere zaken als uitslagen van PET/CT- en MRI-scans. Een plot of histogram zegt hierbij denk ik niet zo veel (lijkt niet normaal, maar gewicht in de populatie is dat bijvoorbeeld wel). Kunt u mij vertellen hoe ik bij dit soort getallen kan beoordelen of iets wel of niet normaal verdeeld is? Is hier een stelregel voor bij kleine getallen?

Bij twijfel over het mogen aannemen van een normale verdeling in het algemeen kan inderdaad kennis over de verdeling in de totale populatie doorslag geven. In geval van kleine aantallen echter speelt er een ander probleem. Er zal bij kleine aantallen geen betrouwbare schatting gemaakt kunnen worden van het gemiddelde en de standaard deviatie. Dus ook al is er een onderliggende normale verdeling, zal met de beschikbare data niet goed de parameters van die verdeling geschat kunnen worden. Om die reden is het bij twijfel over normaliteit en (echt) kleine aantallen aan te raden om geen normaliteit aan te nemen uit te wijken naar non-parametrische toetsen.

Hoe kan ik in SPSS mijn data transformeren?

Ik wil mijn uitkomstmaat graag transformeren om te zien of hij dan wel normaal verdeeld is. Hoe doe ik dat in SPSS?

Dat kan onder Transform -> Compute Variable. Hier kun je een nieuwe variabele aanmaken die een tranformatie is van een oude variabele. Onder 'Target Variable' type je de naam van de nieuw te maken variabele in en onder 'Numeric Expression' type je hoe de variabele gemaakt kan worden. Bijvoorbeeld Lg10(VAROUD), om de 10 log van de variable VAROUD te nemen.

Ik heb een probleem met log transformatie vanwege nullen in de data

Er is nog iets waar ik over struikel in de log transformaties van mijn niet-normaal verdeelde continue uitkomstmaten (een aantal schalen voor psychische klachten). Bij het 'computen' van de log variabelen zegt SPSS iets van: "The argument for the Logbase 10 function is less or equal to 10 on the indicate command. The result has been set to the system missing value." Ik begrijp dus dat alle 0 waarden uit de oorspronkelijk variabele niet getransformeerd kunnen worden en daarom geen waarde krijgen in de getransformeerde variabele. Is hier iets aan te doen?

De log van 0 is inderdaad niet uit te rekenen (minus oneindig). Wat meestal gehanteerd wordt is dat er voor de transformatie bij (alle, dus ook degene die niet nul zijn) waarden een vast getal wordt opgeteld (bijv 1). Op die manier ontwijk je de rekenproblemen met log 0 en hou je de afstand tussen de waardes in ere. De transformatie die je dan gebruikt is eigenlijk log(x+1).

Wat is beter: een Mann Whitney U op niet normaal verdeelde data of een ongepaarde t-test op de log schaal van deze data welke wel normaal verdeeld zijn?

Of maakt het niet uit welke je kiest? Het verschil is klein (4 cijfers achter de komma), maar de T test komt iets significanter uit.

Het is altijd fijn als de analysemethode het resultaat niet beinvloedt en dat er dus hetzelfde uitkomt. Een verschil in p-waarde 4 cijfers achter de komma is totaal irrevant (daarop letten veinst een nauwkeurigheid die je in het algemeen niet hebt).De voor/na delen in het algemeen zijn:

-Mann-Whitney U toets: resultaat niet afhankelijk van aannames, non-parametrisch wordt in het algemeen als zeer objectief/betrouwbaar gezien

-t-toets: bij normaal verdeelde data (of na transformatie normaal verdeelde data) is er in theorie meer power om iets als significant aan te kunnen duiden

Verder zou ik letten op consistentie in het manuscript. Als je bij andere analyses wel normaliteit van de log getransformeerde data gebruikt (bijv omdat je ook multivariabele analyses doet), is het raadzaam die lijn aan te houden.

Geen normaliteit na log-transformatie, wat nu?

Mijn data zijn niet niet-normaal verdeeld. Na een logaritmische transformatie blijkt nu dat de data nog steeds niet normaal verdeeld zijn. Is het zo dat men een logaritmische transformatie uitvoert om testen te kunnen uitvoeren voor normaal verdeelde data? Zo ja, heeft het dan wel zin om in mijn geval een logaritmische transformatie uit te voeren en met die getallen te werken, terwijl ik nog steeds testen met moet gebruiken voor niet-normaal verdeelde data?

Inderdaad, de transformatie wordt iha toegepast om testen/analyses te kunnen gebruiken die normaal verdeelde data vereisen. Indien de logaritmische transformatie geen verbetering van de verdeling oplevert, dan heeft het geen zin deze te gebruiken. Indien je uitkomt qua geplande testen met non-parametrische varianten (die geen normale verdeling vereisen), dan zou ik gewoon de niet getransformeerde data gebruiken. Als normaliteit vereist is voor je doelen (bijvoorbeeld multivariabele analyse) dan zou je een andere transformatie dan de logtransformatie kunnen gebruiken.

Hoe maak ik in SPSS een rangvolgorde van mijn scheef verdeelde data?

Om een nieuwe variabele te maken die de rangnummers van de waarden van een scheef verdeelde variabele bevat, kun je gebruik maken van de 'Rank Cases' procedure in het 'Transform' menu.

Hoe ga ik om met waarden onder of boven een detectielimiet?

Ik heb een aantal keer de D-dimeer waarde van personen gemeten en de ondergrens van wat meetbaar is is 0.17. Daarom heb ik een aantal keer <0.17 in mijn database staan. Moet ik nu 0, 0.17, of een waarde ertussen neerzetten voor de analyse? Daarnaast doen we een andere test: de clot-lysis test. Bij 3 deelnemers is het zo dat ze niet lyseren en de waarde dus eigenlijk op oneindig staat (het is een waarde die in tijd tot lyseren wordt uitgedrukt). Er staat nu: 'no lysis'. Kan ik deze deelnemers excluderen van de analyse of moet ik bijv. de bovengrens van wat nog meetbaar is neerzetten?

Dat hangt er erg vanaf welke analyses je met de data wilt gaan doen. Waarschijnlijk zal SPSS een waarde <0.17 niet herkennen als een getal en mogelijk dat hij deze waardes zelfs zou verwijderen in een analyse. Indien je een niet-parametrische analyse (bijv Kruskal Wallis of Mann-Whitney U toets) gaat doen, dan kun je voor deze ‘undetectable’ waardes iedere willekeurige waarde lager dan het eerste wel gemeten getal invullen. Het maakt voor een niet-parametrische toets namelijk niet uit wat de waarde zelf is, alleen de onderlinge volgordes (ranks) van de waardes tellen. Het is dus wel van belang dat iedereen die <0.17 scoort dezelfde waarde krijgt.

Voor de tweede test hangt het ook weer van de analyse af. Als je de tijd tot lyseren zou analyseren als een ‘tijd tot event’ uitkomst (bijv met Kaplan Meier analyse of Cox regressie), dan zou je hen de laatste tijd moeten geven wanneer je nog zeker was dat ze niet gelyseerd waren (de laatste keer dat je dat hebt gecontroleerd). In een tweede statusvariabele zet je dan een 1 voor degenen die wel en een 0 voor degenen die niet gelyseerd waren. Als je met een non-parametrische toets aan de slag gaat, kun je weer paralel aan eerste casus een willekeurig groot (maar gelijk) getal invullen.

Als je deze deelnemers excludeert van analyse, dan gelden je conclusies alleen voor deelnemers waarbij er lysis optreedt/bij wie D-dimeer detecteerbaar is. Dat is mogelijk zonde, want niet generaliseerbaar naar alle personen bij wie de test wordt gedaan.

Hoe ga ik ermee om als ik veel waarden onder of boven een detectielimiet heb?

Wij hebben een bepaalde eiwit in 20 gezonde proefpersonen, 60 patiënten met ziekte A en 60 patiënten met ziekte B gemeten. De waarde van de eiwit was in 9 (45%) van de gezonde proefpersonen, 22 (37%) van de patiënten met ziekte A en 33 (55%) van de patiënten met ziekte B onder de detectielimiet. Ik heb één waarde (assigned value) onder de detectielimiet toegewezen aan alle deelnemers die onder de detectielimiet zaten. Vervolgens heb ik een Wilcoxon-signed-rank toets uitgevoerd. Is dit een valide methode?

Als een kleine aantal waardes (dus zeg tot 5%) onder de detectie limiet vallen, kan je een assigned value gebruiken. Echter als de percentage waardes onder de detectie limiet stijgt, is het de vraag of je waardes bij elkaar nog echt continu zijn. Dit is omdat een groot aantal waardes dezelfde waarde hebben (de een 'assigned value'). De data zijn dan niet meer echt continu, maar een mix van continu en categorisch. Dan voldoen je data niet meer aan de aannames van de Wilcoxon-signed-rank toets. Dit is zeker het geval is als 46% (64/140) van je data onder de detectie limiet vallen.

Een optie om eenvoudig een toets hierop uit te voeren is om de uitkomst van de Granzyme B per patient als onder (0) of boven (1) de detectielimiet te classificeren. Dan kan je een chi-kwadraat toets uitvoeren. Ik vraag me echter af of dit een goede marker is als bijna de helft van de metingen onder de detectielimiet vallen. Verder is er een uitgebreide literatuur op dit vlak, waaronder deze review.

Referenties

<biblio>

  1. cessie2020 le Cessie S, Goeman JJ, Dekkers OM. Who is afraid of non-normal data? Choosing between parametric and non-parametric tests. European Journal of

Endocrinology (2020) 182, E1–E3. [1]

  1. statnotes Statistics Notes: The use of transformation when comparing two means. MJ Bland, DG Altman. BMJ 1996;312:1153. [2]

Klaar met lezen? Je kunt naar het OVERZICHT van alle statistische onderwerpen op deze wiki gaan. Of ga terug naar de startpagina. Wil je meer leren over biostatistiek? Volg dan de AMC e-learning Practical Biostatistics. Vind je op deze pagina's iets dat niet klopt, werkt een link niet of wil je bijdragen aan de wiki? Neem dan contact met ons op.

De wiki biostatistiek is een initiatief van de helpdesk statistiek van het Amsterdam UMC, locatie AMC. De Clinical Research Unit biedt statistische ondersteuning aan AMC onderzoekers bij het ontwerpen, uitvoeren en rapporteren van statistische analyses. Daarnaast ontwikkelen we ondersteunende producten die toegankelijke uitleg geven over het gebruik van statistiek en statistische software in het medisch onderzoek. Medewerkers van het Amsterdam UMC, locatie AMC kunnen via de intranet statistische ondersteuning aanvragen.