Hypotesetestning: Valg af statistisk test

Valg af statistisk test

Dette kapitel beskriver de vigtigste statistiske test og deres anvendelsesområder. Der findes statistiske test til alle tænkelige typer af sammenligninger. Ethvert statistisk test tager udgangspunkt i nulhypotesen. Hvis man sammenligner en middelværdi for to grupper, indebærer nulhypotesen, at man går ud fra, at der ikke er nogen forskel mellem grupperne. Hvis man ved hjælp af regression undersøger, om en prædiktor (f.eks. blodtryk) har betydning for et udfaldsmål (f.eks. død), har man også en nulhypotese, og den indebærer, at man går ud fra, at blodtryk ikke har nogen sammenhæng med død (dvs. regressionskoefficienten for blodtryk = 0). For at vurdere, hvilket statistisk test der er egnet, må man altså tage hensyn til variablernes natur og sammenhænge. Man skelner mellem kontinuerte og kategoriske variabler.

En kategorisk variabel (også kaldet nominal) har mindst to kategorier (også kaldet niveauer). Køn er en kategorisk variabel, og der er (oftest i kliniske studier) to niveauer, nemlig mand og kvinde. Etnicitet er også en kategorisk variabel, og her kan der eksempelvis findes sydamerikaner, svensker, asiat, nordamerikaner osv. I tilfældet med køn og etnicitet er der ingen indbyrdes rækkefølge mellem kategorierne (dvs. man kan ikke ordne kategorierne i faldende eller stigende rækkefølge på en naturlig måde). Der findes dog kategoriske variabler, som har en naturlig rækkefølge, og en sådan variabel kaldes ordinal. Et eksempel på en kategorisk variabel, som er ordinal, er uddannelsesniveau, som kan kategoriseres fra lav over middel til høj uddannelse. Visse ordinale variabler er desuden af typen interval, hvilket indebærer, at afstanden mellem de forskellige kategorier er ens. Vi kan eksempelvis danne indkomstkategorier (månedsindkomst) ved at oprette grupperne: 15000-20000, 20000-25000, 25000-30000 osv.

En kontinuert variabel er som regel en måleværdi eller et andet numerisk tal. Alder i år, kropsvægt i kilo og afstand i meter er alle kontinuerte variabler. I én henseende ligner den kontinuerte variabel en intervalvariabel, eftersom afstanden mellem hvert tal er lige stor. Faktisk kan en intervalvariabel med et stort antal niveauer betragtes som en kontinuert variabel.

Statistiske test og regressionsmodeller bygger på matematiske antagelser. Testets eller modellens validitet afhænger af, at visse antagelser er opfyldt. En almindelig antagelse vedrører variablens fordeling, eftersom de fleste test egentlig sammenligner fordelinger. At sammenligne to gruppers middelværdi indebærer egentlig, at man sammenligner fordelingerne.

Antagelser om normalfordeling for kontinuerte variabler

T-test og ANOVA (analysis of variance) kræver ikke, at værdierne fra de individuelle observationer i stikprøven er normalfordelte. Derimod kræver disse test, at selve middelværdierne er normalfordelte, forstået sådan at hvis man tager mange stikprøver og beregner middelværdien i hver, skal disse middelværdier være normalfordelte. En måde at sikre, at middelværdierne er normalfordelte, er at undersøge, om de individuelle observationer i stikprøven udviser en normalfordeling. Desuden vil alle middelværdier, uanset den underliggende fordeling, nærme sig en normalfordeling, efterhånden som stikprøvens størrelse øges. Hvis man har >30 observationer, kan man antage, at der foreligger normalfordeling. (For detaljer kan læseren fordybe sig i central limit theorem).

For regression baseret på OLS (ordinary least squares) skal residualerne være normalfordelte. Hvis både den afhængige variabel og prædiktorerne er normalfordelte, sikrer det (så godt som), at residualerne er normalfordelte. Bemærk dog, at hverken den afhængige variabel eller prædiktorerne behøver at være normalfordelte, for at residualerne bliver det.

Valg af statistisk test: 3 variabler eller flere

graph TD
V(3 variabler eller flere) ---> K1(Kontinuert afhængig variabel) & K2(Kategorisk afhængig variabel)
K1 ---> ML(Multipel regression)
K2 ---> Två(Afhængig variabel med 2 kategorier) ---> LR(Logistisk regression)
K2 ---> Tre(Afhængig variabel med 3 kategorier eller flere) ---> MR(Multinomial logistisk regression)

Valg af statistisk test: 1 variabel

graph TD
V(1 variabel) ---> Kategorisk & Kontinuerlig(Kontinuert)
Kategorisk ---> Two1(2 grupper) ---> One(One-proportion test)
Kategorisk ---> Two2(>2 grupper) ---> Ki(Chi-square goodness-of-fit test)
Kontinuerlig ---> P1(Parametrisk) ---> X("One-sample students t-test")
Kontinuerlig ---> P2(Ikke-parametrisk) ---> Y("One-sample Wilcoxon test")

Valg af test: 2 kontinuerte variabler

graph LR;
TwoVar(2 variabler)

TwoVar ---> TwoQuant(2 kvantitative) ---> Parametrisk ---> Pear(Pearsons korrelation)
                      TwoQuant(2 kvantitative) ---> Icke-parametrisk(Ikke-parametrisk) ---> Spear(Spearmans rangkorrelation)

TwoVar ---> 1Q1C(1 kontinuert og 1 kategorisk) ---> TwoGroups(To grupper) ---> Paired1(Paired samples) ---> Parametric1(Parametrisk) ---> Stud1(Student's t test for paired samples)
Paired1 ---> NParametric1(Ikke-parametrisk) ---> Wilcox1(Wilcoxon signed rank test)

TwoGroups ---> OS1(Uafhængige samples) ---> Parametric2(Parametrisk) & NParametric2(Ikke-parametrisk)
NParametric2 ---> MW1(Mann-Whitney U test)
Parametric2 ---> EPV1(Equal population variances) & UPV1(Unequal population variances)
EPV1 ---> Stud2(Students t-test for 2 independent samples)
UPV1 ---> Welch2(Welchs t-test for 2 independent samples)

1Q1C ---> TreGrupper(>2 grupper)
TreGrupper ---> OS(Uafhængige samples) & PS(Paired samples)
OS ---> NParametric3(Ikke-parametrisk) ---> KW(Kruskal-Wallis test)
OS ---> Parametric3(Parametrisk) ---> EPV2(Equal population variace) & UPV2(Unequal Population variance)
EPV2 ---> OWA(One-way ANOVA)
UPV2 ---> WA(Welch's ANOVA)
PS ---> PO(Parametrisk) ---> RA(Repeated measures ANOVA)
PS ---> IPO(Ikke-parametrisk) ---> FT(Friedman test)

TwoVar ---> TvåKvalitativa(2 kvalitative)
TvåKvalitativa ---> TyK(2 groups for each variable)
TyK ---> PS3(Paired samples) ---> TPS(Two paired samples) & 3PO(3 paired samples or more)
TPS ---> MT(McNemars test)
3PO ---> Coq(Cochran's Q test)
TyK ---> OS3(Uafhængige samples)
OS3 ---> ef(expected frequencies <5) ---> Fisch(Fischers exact test)
OS3 ---> ef2(expected frequencies >=5) ---> Chi(Chi-squared test of independence)
TvåKvalitativa ---> YT(Mere end 2 grupper for mindst 1 variabel) ---> Chi(Chi-squared test of independence)

One-sample t-test

Som navnet antyder, anvendes dette test, hvis man har én gruppe, for hvilken man vil foretage en sammenligning. Testet anvendes, hvis man vil undersøge, om en middelværdi adskiller sig fra en hypotetisk værdi. Hvis man undersøger højden i en skoleklasse og konstaterer, at middelhøjden i klassen er 180 cm, kan man undersøge, om denne middelværdi adskiller sig fra tallet 175 cm (som altså er en hypotetisk værdi).

I R anvendes funktionen t.test til at udføre one-sample t-test. Vi skal nu undersøge, om gennemsnitsalderen for lungecancerpatienter i et klassisk R-datasæt adskiller sig fra en hypotetisk værdi:

## Installer pakke med data
install.packages(&amp;amp;amp;amp;amp;amp;quot;survival&amp;amp;amp;amp;amp;amp;quot;)
library(survival)

## Aktivér tabel med patientdata
data(lung)

## Betragt tabellen med patientdata
View(lung)

## Undersøg gennemsnitsalderen
mean(lung$age)

## Test, om gennemsnitsalderen adskiller sig fra den hypotetiske værdi 60.
t.test(lung$age, mu = 60)

Vi får en P-værdi på 0,0000642, hvilket indebærer, at middelværdien for patienterne adskiller sig fra 60. One-sample t-test egner sig til normalfordelte variabler på intervalskala.

One-sample median test

Dette test svarer til ovenstående test, men i stedet er det medianen, der undersøges. I dette tilfælde behøver vi kun at antage, at variablen er på ordinalskala. I R anvendes funktionen wilcox.test til at udføre one-sample median test. Eksempel følger:

## Test, om medianen for alder adskiller sig fra 60
wilcox.test(lung$age, mu = 60)

Binomialtest

Binomialtest anvendes for kategoriske variabler, som har to niveauer. Testet kan afgøre, om en andel, der observeres i stikprøven, adskiller sig fra en hypotetisk andel. I R anvendes funktionen prop.test til at udføre binomialtest. I eksemplet nedenfor skal vi undersøge, om andelen af kvinder i samme datasæt som tidligere (lung) er lig med 0,5 (dvs. om kvinder udgør halvdelen af alle patienterne).

## Ved hjælp af funktionen ifelse opretter vi en ny variabel, som kaldes kvinna. Denne variabel sættes til 1, hvis variablen sex = 2 (kvinde), og ellers sættes den til 0 (mand).

lung$kvinna &lt;- ifelse(lung$sex==2, 1, 0)

## Nu skal vi teste, om andelen af kvinder er 0.5 (dvs. halvdelen er kvinder)

prop.test(sum(lung$kvinna), length(lung$kvinna), p = 0.5)

Chi-square goodness of fit

Chi-square goodness of fit er en udvidelse af binomialtestet, forstået sådan at vi her kan teste en variabel med flere end 2 kategorier. Vi kan altså teste, om fordelingen af cancertype adskiller sig fra en hypotetisk værdi. Antag, at variablen cancertype har følgende fire niveauer: lungecancer, koloncancer, nyrecancer og levercancer. Vores hypotese er, at fordelingen mellem disse fire typer er ligelig, så hver udgør 25%. Den forventede (expected) værdi for hver kategori er altså 25% (0,25). For at teste dette anvendes funktionen chisq.test i R på følgende måde:

## I dette eksempel kommer observationerne fra tabellen data, og variablen hedder cancertyp.

## Vi vil teste, om hver cancertype udgør en lige stor andel af al cancer. Der er fire cancertyper i databasen, dvs. hver type udgør 25% ifølge vores hypotese.

chisq.test(table(data$cancertyp), p = c(0.25, 0.25, 0.25, 0.25))

Independent samples t-test

Dette test anvendes til at sammenligne middelværdier i to grupper, som er uafhængige af hinanden. Uafhængige betyder, at grupperne ikke må påvirke hinanden. Lad os tage to eksempler for at tydeliggøre dette:

  1. Hvis et antal patienter vejes før og efter kirurgisk behandling for fedme, har vi to værdier, der skal sammenlignes, nemlig vægten før og vægten efter behandling. I dette tilfælde er vægten før og efter behandling dog afhængige af hinanden, eftersom det er de samme personer i begge fordelinger. I dette tilfælde anvendes dependent samples t-test.
  2. Hvis vi vil sammenligne højden på mænd og kvinder på Göteborgs Universitet, har vi altså to middelværdier, der skal sammenlignes. Disse middelværdier er dog ikke afhængige af hinanden, og så anvendes independent samples t-test.

I samme datasæt som tidligere undersøger vi nu, om mænd og kvinder er lige gamle.

t.test(lung$age ~ lung$sex)

P-værdien blev 0,06394, hvilket er større end 0,05, og derfor kan vi ikke med sikkerhed sige, at der er nogen aldersforskel. Vi udfører endnu et test, hvor vi sammenligner kalorier i kosten.

t.test(lung$meal.cal ~ lung$sex)

I dette tilfælde var P-værdien 0,01989, hvilket indikerer, at der er en statistisk signifikant forskel i kalorier mellem mænd og kvinder.

Wilcoxon-Mann-Whitney test

Dette test anvendes i samme situation som independent samples t-test, men forskellen er, at Wilcoxon-Mann-Whitney test ikke forudsætter, at variablen er normalfordelt. Derimod forudsætter dette test, at variablen er på ordinalskala. For at sammenligne mænds og kvinders alder på samme måde skrives følgende i R:

wilcox.test(lung$meal.cal ~ lung$sex)

Chi-square test (chi-i-anden-test, χ2-test)

Chi-i-anden-test anvendes til at undersøge to kategoriske variabler. Testet bygger på, at man sammenligner observerede frekvenser (for hver variabels niveauer) med forventede frekvenser. Man tester hypotesen, at de observerede frekvenser er (mere eller mindre) ækvivalente med de forventede frekvenser. Lad os eksempelvis undersøge, om der er lige mange mænd og kvinder, der får myokardieinfarkt, ved at anvende variablen køn, som er dikotom (mand eller kvinde), samt myokardieinfarkt (ja eller nej). Hvis nulhypotesen er, at andelen af mænd og kvinder, der får myokardieinfarkt, er lige stor, forventer vi at observere lige mange mænd og kvinder i begge niveauer af myokardieinfarkt.

Chi-i-anden-testet kan illustreres med en tabel. Vi undersøger i alt 40 personer med myokardieinfarkt.

Køn O E (O-E)2 ((O-E)2) / E
Mand 32 20 144 144/20
Kvinde 8 20 144 144/20
Sum 40 40 288/20=14,4

Værdien af χ2 er her 14,4. For at teste, om dette er statistisk signifikant, må vi slå værdien 14,4 med 1 frihedsgrad op i en chi-i-anden-tabel. Antallet af frihedsgrader er kønsvariablens antal niveauer (=2) minus 1, dvs. 2-1, hvilket giver 1. Af tabellen fremgår den kritiske værdi for den aktuelle χ2 og det aktuelle antal frihedsgrader; hvis χ2 er større end den kritiske værdi, forkastes nulhypotesen. Bemærk, at al statistisk software udfører disse beregninger automatisk og returnerer en P-værdi for nulhypotesen. Sidst, men ikke mindst, skal det nævnes, at chi-i-anden-test forudsætter, at der er mindst 5 forventede observationer i hver celle i krydstabellen ovenfor (Tabel 1). Hvis antallet af personer i en celle er <5, bør Fisher's exact test anvendes i stedet.

Bemærk, at de variabler, der indgår i et chi-i-anden-test, kan have flere end to niveauer, og der behøver ikke at være lige mange niveauer i de to variabler.

I følgende eksempel undersøger vi, om lige mange mænd og kvinder døde i lungecancerstudiet:

chisq.test(table(lung$sex, lung$status))

Fisher's exact test

Fisher's exact test er ækvivalent med chi-i-anden-test, men anvendes i stedet, når en celle indeholder færre end 5 forventede observationer. Fisher's exact test kan anvendes, uanset hvor få forventede observationer der er. Den tilsvarende kode i R bliver:

fisher.test(table(lung$sex, lung$status))

One-way ANOVA

One-way ANOVA (envejs variansanalyse)

One-way ANOVA anvendes, når man har en kategorisk uafhængig variabel (med to eller flere niveauer) og en kontinuert, normalfordelt afhængig variabel (på intervalskala). Her sammenlignes altså, om fordelingen af den kontinuerte variabel er den samme for de forskellige niveauer af den kategoriske variabel. Eksempelvis kunne vi sammenligne, om kropsvægten er den samme for de forskellige etniske grupper på et gymnasium.

I R vil vi anvende datasættet "bladder", som også findes i survival-pakken. Vi indlæser "bladder" med kommandoen "data(bladder)". Derved indlæses faktisk tre varianter af "bladder", hvoraf vi vil anvende "bladder1". I dette datasæt vil vi undersøge, om den initiale tumorstørrelse adskiller sig i relation til det endelige udfald. Tumorstørrelsen beskrives med variablen size, som er en kontinuert variabel. Udfaldet beskrives med variablen status, hvor 0 = overlevede, 1 = recidiv af cancer, 2 = død af cancer og 3 = død af anden årsag. Tumorstørrelsen sammenlignes altså i disse fire grupper.

data(bladder)
summary(aov(bladder1$size ~ bladder1$status))

P-værdien er 0,249, hvilket indebærer, at vi ikke kan forkaste nulhypotesen (som siger, at der ikke er nogen forskel i initial tumorstørrelse). Tumorerne er således lige store ved studiets start.

Kruskal Wallis test

Kruskal Wallis test anvendes, når man har en uafhængig variabel med to eller flere niveauer og en afhængig variabel på ordinalskala. Testet ligner envejs ANOVA, men er ikke-parametrisk, hvilket indebærer, at den afhængige variabel ikke behøver at være normalfordelt på intervalskala.

kruskal.test(data$beroende, data$oberoende)

Paired t-test (t-test for afhængige målinger)

Hvis man vil sammenligne to værdier, som er afhængige af hinanden, kan man anvende paired t-test. Dette forudsætter, at den værdi, der skal sammenlignes, er normalfordelt. Værdierne er som regel afhængige af hinanden, hvis de stammer fra samme individ, hvilket er tilfældet ved måling på to tidspunkter. Det kan eksempelvis være måling af kropsvægt før og efter en behandling for overvægt.

Følgende R-kode er kun til for at illustrere funktionen i R. De anvendte data er egentlig ikke afhængige af hinanden.

## Variablen kroppsvikt er kontinuert
## Variablen mätningens_tidpunkt er en dikotom variabel, som er "1", hvis det er måleværdien før behandling, og "2", hvis det er værdien efter behandling
t.test(data$kroppsvikt, data$mätningens_tidpunkt, paired = TRUE)

Wilcoxon signed rank sum test

Dette er det ikke-parametriske alternativ til paired t-test og anvendes altså, når man ikke kan forudsætte, at den afhængige variabel er normalfordelt på intervalskala. Testet forudsætter dog, at variablen som minimum er ordinal.

wilcox.test(data$beroende_variabel, data$oberoende_variabel, paired = TRUE)

McNemar test

McNemars test anvendes, når man undersøger en afhængig kategorisk variabel i to grupper, som er relaterede. Testet er altså analogt med paired t-test, men den afhængige variabel er kategorisk og har i dette tilfælde to niveauer. Eksempelvis kan du afgøre, om andelen af patienter, der havde depression (ja/nej) før og efter behandling med adfærdsterapi, adskiller sig.

Se et eksempel i R ved at skrive: ?mcnemar.test i konsollen.

One-way repeated measures ANOVA

Dette test svarer til envejs ANOVA (one-way ANOVA), men i dette tilfælde er det i orden, at samme individ bidrager med flere end 1 måling (dvs. der forekommer gentagne målinger for samme individ(er). Den uafhængige variabel er altså kategorisk med to eller flere niveauer. Den afhængige variabel er normalfordelt på intervalskala. Vi anbefaler, at man i stedet for one-way repeated measures anova anvender mixed models (random effects models), som er mere effektive.

Korrelation

Dette er diskuteret i kapitlet om korrelation og regression.

Simpel lineær og multipel regression

Dette er diskuteret i kapitlet om simpel lineær regression samt multipel (lineær) regression.

Simpel logistisk regression og multipel logistisk regression

Dette er diskuteret i kapitlet om logistisk regression.

Analysis of covariance (ANCOVA)

ANCOVA er ækvivalent med ANOVA, men i dette tilfælde indgår der, ud over en kategorisk prædiktor, også en kontinuert prædiktor. ANCOVA kan derfor erstattes af multipel regression.

Referencer

Ovenstående er i vid udstrækning et referat af IDREs guide til valg af test.