R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Todennäköisyys, että raportoitu löydös on oikea

Viime aikoina olen kuullut keskustelua siitä, että joka ikisen analyysin yhteydessä pitäisi ilmoittaa todennäköisyys, että löydös on väärä. Ilmeisesti keskustelu ei ole koskenut p-arvoa, vaan nimenomaan väärän johtopäätöksen todennäköisyyttä, mikä tekeekin asiasta hieman kinkkisemmän.

P-arvohan on frekventistisen tilastotieteen käsite, joka ilmoittaa toistetun otannan tilanteessa sen frekvenssin, jolla havaittua testisuureen arvoa äärevämpiä arvoja esiintyy, jos nollahypoteesi on voimassa. Lisätietoja esimerkiksi Aalto yliopiston kurssimateriaalista. P-arvo ei siis kerro suoraan todennäköisyydestä, että havainto on oikea.

En mene seuraavassa sen syvemmälle itse teoriaan, vaan vertaan kahta erilaista tapaa arvioida raportoidun löydöksen oikeellisuuden todennäköisyyttä.

Yksinkertainen arvio

Miten sitten voitaisiin arvioida todennäköisyyttä, että havaittu löydös onkin väärä? Yksinkertaisimmillaan tätä voitaisiin arvioida vaikkapa seuraavasti: Oletetaan, että otetaan 100 otosta, joiden kunkin voima on 0.8 (ja siis beta=0.2) ja merkitsevyystasoksi valitaan on 0.05. Sadasta otoksesta saadaan tuloksena 85 tilastollisesti merkitsevää tulosta, joista 80 on oletettavasti oikeita positiivisia tuloksia, ja 5 on vääriä positiivisia tuloksia. Siten todennäköisyys, että havaittu positiivinen tulos on oikea, on 80/85 eli noin 0.94. Kaikki tähän tarvittavat parametrit voidaan arvioida ennen koetta tehdyllä voima-analyysillä.

Yksinkertainen arvio voidaan pukea vaikka seuraavanlaiseksi R-funktioksi:

sim<-function(alpha, beta) {
   beta/(alpha+beta)
}

Wacholder et al. antavat artikkelissaan samaan johtopäätökseen tulevan kaavan, joka voidaan pukea R-funktioksi:

wac<-function(alpha, beta, R) {
   beta<-1-beta
   1/{1 + (R/(1-R))*((1-beta)/alpha)}
}

Tämän yksinkertaisen arvion lisäksi tarjolla on hiukan monimutkaisempiakin malleja, esimerkiksi ioannidisin malli.

Ioannidisin malli

Ioannidis kehittelee vuoden 2005 artikkelissaan mallin, joka huomioi hypoteesin oikeellisuuden priori-todennäköisyyden eri tavoin parametrisoituna kuin Wacholder et al.. Ionnidisin malli voidaan kääntää R-funktioksi seuraavasti:

ioa<-function(alpha, beta, R) {
   beta<-1-beta
   ((1-beta)*R)/(R-beta*R+alpha)
}

Kaikki kolme malli on yllä muokattu sellaisiksi, että ne antavat samalla tavalla tulkittavia arvioita, jolloin niiden vertailu helpottuu. Siten mallit eivät vastaa yksiviivaisesti niitä, jotka julkaisuissa on annettu.

Menetelmien vertailu

Tehdäänpä menetelmien graafinen vertailu käyttäen seuraavaa R-koodia:

par(mfrow=c(1,2))
 
d<-data.frame(alpha=0.05, beta=seq(0, 1, 0.01), R=0.5) 
d$sim<-sim(d[,1], d[,2])
d$wac<-1-wac(d[,1], d[,2], d[,3])
d$ioa<-ioa(d[,1], d[,2], d[,3])
 
plot(x=d$beta, y=d$wac, type="l", ylim=c(0,1), xlim=c(0,1), xlab="Tilastollinen voima", ylab="Tn. että tulos on oikea", las=1, lwd=4, main="Priori-todennäköisyys = 0.5")
grid(lty=1,col="grey75")
lines(x=d$beta, y=d$wac, lwd=4)
lines(x=d$beta, y=d$ioa, lwd=4, col="#00CC00")
legend(x="top", lty=1, lwd=4, col=c("black", "#00CC00"), legend=c("Wacholder", "Ioannidis"), ncol=2, bty="n")
 
d<-data.frame(alpha=0.05, beta=seq(0, 1, 0.01), R=0.1) 
d$sim<-sim(d[,1], d[,2])
d$wac<-1-wac(d[,1], d[,2], d[,3])
d$ioa<-ioa(d[,1], d[,2], d[,3])
 
plot(x=d$beta, y=d$wac, type="l", ylim=c(0,1), xlim=c(0,1), xlab="Tilastollinen voima", ylab="Tn. että tulos on oikea", las=1, lwd=4, main="Priori-todennäköisyys = 0.1")
grid(lty=1,col="grey75")
lines(x=d$beta, y=d$wac, lwd=4)
lines(x=d$beta, y=d$ioa, lwd=4, col="#00CC00")
legend(x="top", lty=1, lwd=4, col=c("black", "#00CC00"), legend=c("Wacholder", "Ioannidis"), ncol=2, bty="n")

Tuloksena on seuraava kuva:

vertailu

Kuvasta voidaan helposti tulkita, että olipa malli kumpi hyvänsä, tutkimuksen voiman lisääminen nostaa todennäköisyyttä, että tulos on oikea. Wacholderin malli antaa korkeampia arvioita kuin Ioannidisin malli. Esimerkiksi, jos etukäteisoletuksena on, että hypoteesi on oikea n. 50 % todennäköisyydellä, tutkimuksen voima on 50 % ja lopputulos on tilastollisesti merkitsevä, on tulos yli 80 % todennäköisyydellä oikea.

Yhteenveto

Tutkimuskirjallisuudesta löytyy menetelmiä, joilla voidaan arvioida tutkimuslöydösten todennäköisyyttä olla oikeita havaintoja. Menetelmiä voidaan soveltaa käytännössäkin, joskin epäilen, onko niille helposti löydettävissä ihan suoraa käyttöä, poislukien potentiaalisessa riskinarviointimielessä.

Jos tuloksen oikeellisuuden todennäköisyydellä viitataan muihinkin kuin puhtaasti tilastollisiin seikkoihin, on arvio huomattavasti vaikeampi tehdä: en löytänyt kunnollisia tapoja arvioida esimerkiksi väärin valittujen tilastollisten menetelmien aiheuttamien vääristymien vaikutuksia. Tällaisia menetelmiä on potentiaalisesti käytettävissä m. riskinarviointia varten, mutta en löytänyt julkaisuja, joissa niitä olisi sovellettu puhtaasti tilastollisessa kontekstissa. Myös ”propagation of uncertainty” -menetelmiä voitaisiin ehkä hyödyntää tässä tarkoituksessa, mutten tiedä, onko sitä tehty.

Ajatuksena oikeellisuustodennäköisyyden arviointi ei minusta silti ole hassumpi. Voisin kuvitella, että esimerkiksit tehtäessä päätöksiä johonkin uuteen toimintamalliin siirtymisestä tai uuuden menetelmän käyttöönotosta, voi päättäjää kiinnostaa tietää, millä todennäköisyydellä asian selvittämiseksi tehty analyysin tulos on oikea. Toisaalta pelkästään todennäköisyyteen päätöksiä ei voitane perustaa, koska toisinaan pienet ja epävarmatkin riskit voivat olla sellaisia, että niiden taklaaminen vaatii uusia toimintamalleja.