Kausaalinen päättely

Kausaalinen päättely tarkoittaa syy-seuraussuhteen eli vaikutuksen arviointia tiettyjen havaintojen ja oletusten perusteella. Päättelyssä tapahtuvia systemaattisia virheitä kutsutaan usein harhoiksi. 
Syy-seuraussuhteella tarkoitetaan yksinkertaisimmillaan eroa kahden erilaisen hypoteettisen eli ns. kontrafaktuaalisen tilan etenemisen välillä. Esim. hoidolla sanotaan olevan vaikutus sairauteen, kun potilasväeston keskimääräinen sairauden kulku olisi erilainen hoidolla ja hoidotta, kaiken muun ollessa lähtötilanteessa samaa. 
Kausaalinen väite ei koske havaintoja todellisesta maailmasta vaan kontrafaktuaaleja eli hypoteettisia maailmoja – assosiaatioita havaitaan, mutta kausaliteetti päätellään. Vaikutuksia voidaan arvioida "yksilötasolla" vain äärimmäisen vahvoilla oletuksilla, ja tästä syystä vaikutuksella tarkoitetaan yleensä "keskimääräistä" vaikutusta jossakin joukossa. Vastakkaiset yksilövaikutukset voivat periaatteessa ilmetä puuttuvana keskivaikutuksena. Vaikutuksen suuruus riippuu usein erilaisten muovaajien (engl. "effect measure modifier") ja yhteisvaikutusten ("interaction") saamista arvoista kussakin joukossa. Toisin sanoen, syyllä ei ole olemassa vain yhden suuruista vaikutusta, vaan eri suuruisia keskimääräisiä vaikutuksia erilaisissa tiloissa. Kausaalinen päättely on haastavaa, koska vain toinen vertailtavista kontrafaktuaaleista on mahdollista todellisesti havaita ja tämänkin hyödyntäminen päättelyssä vaatii vähintään konsistenssioletuksen. Toisin sanoen, maailmaa ei voida kelata taaksepäin tai kopioida nähdäkseen, mitä olisi tapahtunut, jos jotakin olisi tehty toisin. 
Käyttöaiheet.
Kausaalinen päättely on erityisen tärkeää tieteessä, jossa tehtävään on kehitetty yhä luotettavampia menetelmiä. Siinä missä yksinkertaisissa tapauksissa luotettavaan kausaaliseen päätelmään päästään välittömästi arkiajattelulla, monimutkaisemmissa tapauksissa päättelyyn on välttämätöntä käyttää täsmällistä kausaalista tilastotieteellistä teoriaa. 
Esimerkiksi laskuvarjon vaikutus putoamisvammaan on suuri, vähätekijäinen ja helposti selitettävä, mitattava ja toistettava. Tarvittavat oletukset voidaan tehdä huolettomasti, eikä vaikutuksen arvioimiseksi tarvita erityisiä menetelmiä. Toisaalta taas esimerkiksi liikunnan vaikutus sydäninfarktiin on pieni, monitekijäinen ja vaikeasti selitettävä, mitattava ja toistettava. Tällaisen vaikutuksen luotettavaksi arvioimiseksi tarvitaan käytännössä erilaisia suuria laadukkaita aineistoja ja virhelähteiden hallintaan soveltuvia laskennallisia menetelmiä. 
Menetelmät.
Sekoittuneisuuden ja valintaharhan korjaamisessa käytettäviin menetelmiin kuuluvat muun muassa rajoittaminen, osittaminen, kaltaistus (engl. "matching"), vakiointi (engl. "standardization"), g-kaava ("g formula"), IP-painotus (engl. "inverse probability weighting"), g-estimointi, instrumenttimuuttujat, DID-menetelmä (engl. "differences-in-differences"), regressioepäjatkuvuus-analyysi, etuovikriteeri, negatiiviset kontrollit ja propensiteettiarvot. 
Osittamismenetelmät (rajoittaminen, osittaminen, kaltaistaminen, vasteregressio) soveltuvat vain ehdollisten vaikutusten arviointiin osaryhmissä, kun taas ns. G-menetelmät (vakiointi, g-formula, IP-painotus, g-estimointi) soveltuvat poistamaan virhelähteen vaikutuksen eli simuloimaan kontrafaktuaalia. G-menetelmät soveltuvat myös ajassa muuttuvien syiden ja sekoittavien tekijöiden analysointiin. G-menetelmistä on myös ns. kaksoisvakaita ("double robust") yleistyksiä, jotka sallivat osittaisia mallinnusvirheitä. Näistä syistä G-menetelmien käyttö on suositeltavaa yleisesti, vaikkakin yksinkertaisissa tilanteissa muukin menetelmä voi olla sopiva. (Poikkeuksena g-estimointi soveltuu vain sekoittavien tekijöiden hallintaan – mutta muista poiketen sen avulla voidaan arvioida helposti myös mittaamatonta sekoittuvuutta.)
Hillin lista.
Hillin lista (engl. "Bradford Hill viewpoints") sisältää havaittujen yhteyksien piirteitä, joiden voidaan katsoa lisäävän tai vähentävän kausaalisen suhteen uskottavuutta:
Huomattakoon, että yhtäkään näistä ei voi pitää kausaalisuhteen kriteerinä, vaikka englanninkielisessä kirjallisuudessa tähän listaan usein harhaanjohtavasti viitataan nimityksellä "Bradford Hill criteria." 
Kohdekokeen jäljittely.
Kausaalinen päättely voidaan tehdä ns. kohdekoe-emulaationa. Kohdekoe tarkoittaa ideaalista satunnaistettua tutkimusasetelmaa, joka vastaisi suoraan haluttuun kausaaliseen kysymykseen. Emuloinnin tarkoitus on jäljitellä mahdollisimman tarkasti haluttua kohdekoetta käyttämällä jotakin toisenlaista, esim. satunnaistamattoman tutkimusasetelman, tuottamaa aineistoa. 
Kohdekokeen tutkimusprotokollan täsmentäminen on hyödyllinen prosessi, joka tarkentaa epäselviä kausaalisia kysymyksiä. Kohdekokeen emulointi antaa yhteisen viitekehyksen satunnaistettujen ja havainnoitujen aineistojen analysoimiseen. Havainnoivissa asetelmissa kerätyn aineiston avulla voidaan emuloida vastaavaa satunnaistettua koetta, jos riittävä joukko sekoittavia tekijöitä on mitattu, sekoittuneisuus korjataan asianmukaisesti ja syyn todennäköisyyden kuvaava malli on oikein määritelty. Satunnaistaminen poistaa ainoastaan sekoittuneisuuden ja tämänkin vain seurannan alussa – kaikki muut virhelähteet tulee edelleen huomioida samalla tavalla kuin satunnaistamattomissa asetelmissa. 
Oletukset.
Mitä parempia havaintoja on kerätty, sitä vähemmän oletuksia joudutaan tekemään kausaalisen päätelmän tekemiseksi. Esim. hyvissä satunnaistetuissa kokeissa konsistenssi, alkuvaihdettavuus (engl. "baseline exchangeability") ja positiivisuus ovat "suunnitellusti" totta, jolloin kausaalinen päättely on paljon luotettavampaa. Kun oletukset taas eivät ole totta, kausaaliseen päättelyyn syntyy systemaattista virhettä – erityisesti valintaharhaa, mittausharhaa ja sekoittuneisuutta. Eri menetelmiin liittyy erilaisia oletuksia, joten vertaamalla eri menetelmillä saatuja tuloksia voidaan tehdä yksinkertainen herkkyysanalyysi, tunnistaa ongelmia ja näin vahvistaa päätelmien luotettavuutta. Herkkyysanalyysi tarkoittaa yleisesti oletuspoikkeamien vaikutusten arvioimista.
Kausaalisessa päättelyssä käytettäviin oletukseen kuuluvat muun muassa
Vaikutusta voidaan kuvata erilaisilla vaikutussuureilla, kuten odotusarvojen erotus, riskisuhde, riskiero ja NNT. Nämä eivät ole samoja kuin vastaavat assosiaatiosuureet, mutta oletusten avulla kuitenkin pyritään tekemään yhtäläisyys assosiaatio- ja vaikutussuureen välille, jolloin assosiaatiosuureelle voidaan antaa kausaalinen tulkinta. 
Ideaalitapauksessa vaikutus laskettaisiin ei-parametrisesti äärettömästä havaintomäärästä, mutta interpolointia yleensä tarvitaan, jolloin yleistetyt lineeariset mallit ovat yksinkertaisuudessaan yleisiä. Kuitenkin myös vähemmän mallioletuksia tekeviä ns. ei- ja semi-parametrisia sekä koneoppimisessa käytettyjä malleja voidaan eri tilanteissa käyttää. 
IP-painotus.
IP-painotus ("inverse probability weighting", IPW) tehdään yleensä käytännössä sovittamalla jokin parametrinen ehdollinen keskiarvomalli käyttäen virhefuntiona IP-painotettua neliöetäisyyttä. Kun mukana on sekoittavia tekijöitä (L) ja valintaharhaa (C), on siis mallinnettava jakauma formula_20, joka voidaan arvioida mallintamalla jakaumat formula_21 ja formula_22. Yleistetty stabiloitu IP-kerroin on muotoa formula_23, missä formula_24 tarkoittaa syyhistoriaa aikapisteeseen formula_25 asti.
Laskennallisesti IP-painotus voi näyttää esim. seuraavalta (R):
syymalli &lt;- glm(
 # Huom. "seko" viittaa sekoittajaan tai tämän edustajaan.
 # Muuttujat seko1 ja seko2 ovat ns. riittävä korjausjoukko.
 formula = syy ~ seko1 + seko2 + I(seko2^2),
 family = binomial(),
 data = data
syyjakauma &lt;- glm(syy ~ 1, family = binomial(), data = data)
syymalli_ennuste &lt;- predict(syymalli, type = "response")
syyjakauma_ennuste &lt;- predict(syyjakauma, type = "response")
sip_kerroin &lt;- ifelse(
 condition = syy == 0,
 true = ((1 - syyjakauma_ennuste) / (1 - syymalli_ennuste)),
 false = (syyjakauma_ennuste / syymalli_ennuste)
vastemalli &lt;- geeglm(
 vaste ~ syy,
 weights = sip_kerroin,
 corstr = "independence",
 id = id,
 data = data
Usein on parasta kerätä mahdollisimman täsmällinen aineisto, jossa on myös aikatietoa. Tyypillisesti aikatietoa on jostakin vastetapahtumasta (esim. kuoleman ajankohta). Tällöin IP-painotettu analyysi voisi näyttää seuraavalta:
vastemalli &lt;- glm(
 # IP-painotettu hasardimalli epäjatkuvalla ajalla.
 formula = vaste == 0 ~ syy + aika + aika2 + I(syy*aika) + I(syy*aika2),
 weight = sip_kerroin,
 data = data %&gt;% mutate(aika2 = aika^2),
 family = binomial
vastemalli_ennuste &lt;- crossing(aika = 0:100, syy = c(0,1)) %&gt;%
 arrange(aika) %&gt;%
 mutate(aika2 = aika^2) %&gt;%
 mutate(vaste = predict(vastemalli, .data, type = "response")) %&gt;%
 group_by(syy) %&gt;%
 mutate(kumulatiivinen_vaste = cumprod(vaste))
Vakiointi ja g-kaava.
Vakiointi voidaan tehdä käytännössä neljässä vaiheessa: mallintamalla vastemuuttuja, tekemällä kontrafaktuaalinen aineisto, ennustamalla uudet arvot ja keskiarvoistamalla. Kun mukana on sekoittavia tekijöitä (L) ja valintaharhaa (C), mallinnetaan siis keskiarvo formula_26. 
Yleinen g-kaava (engl. "g formula") on muotoa formula_27. 
Laskennallisesti vakiointi voi näyttää esim. seuraavalta (R):
vastemalli &lt;- glm(
 # Huom. "seko" viittaa sekoittajaan tai tämän edustajaan.
 # Muuttujat seko1 ja seko2 ovat ns. riittävä korjausjoukko.
 formula = vaste ~ syy + seko1 + seko2 + I(seko2),
 family = gaussian(),
 data = data
data0 &lt;- data %&gt;% mutate(syy = 0, vaste = NA)
vastemalli_ennuste0 &lt;- predict(vastemalli, data0)
keskiarvo0 &lt;- mean(vastemalli_ennuste0)
data1 &lt;- data %&gt;% mutate(syy = 1, vaste = NA)
vastemalli_ennuste1 &lt;- predict(vastemalli, data1)
keskiarvo1 &lt;- mean(vastemalli_ennuste1)
vaikutus &lt;- keskiarvo0 - keskiarvo1
Laskennallisesti g-kaava voi näyttää esim. yhteen funktioon spesifioituna seuraavalta:
vaikutukset &lt;- gfoRmula::gformula(
 # Määritä data. 
 obs_data = data, 
 id = "id",
 time_name = "aika0", # Yksi aikamuuttuja. 
 outcome_name = "vaste", # Yksi vaste. 
 outcome_type = "survival", # Vasteen asteikko.
 # Kaksi aikasekoittajaa ja syy.
 covnames = c('aikaseko1', 'aikaseko2', 'syy'), 
 # Edellisten asteikot.
 covtypes = c('binary', 'bounded normal', 'binary'), 
 basecovs = c('perusseko3'), # Yksi perussekoittaja. 
 compevent_name = "kilpavaste", # Yksi kilpaileva vaste.
 # Määritä yleistetyt lineaariset mallit kaikille muuttujille.
 histvars = list(
 c('syy', 'aikaseko1', 'aikaseko2'), 
 c('aikaseko1', 'aikaseko2')
 histories = c(lagged, lagavg),
 covparams = list(
 covlink = c('logit', 'identity', 'logit'), 
 covmodels = c(
 aikaseko1 ~ lag1_syy + 
 lag_cumavg1_aikaseko1 + 
 lag_cumavg1_aikaseko2 + 
 perusseko3 + 
 aika0, 
 aikaseko2 ~ lag1_syy + 
 aikaseko1 + 
 lag_cumavg1_aikaseko1 + 
 lag_cumavg1_aikaseko2 + 
 perusseko3 + 
 aika0, 
 syy ~ lag1_syy + 
 aikaseko1 + 
 aikaseko2 + 
 lag_cumavg1_aikaseko1 + 
 lag_cumavg1_aikaseko2 + 
 perusseko3 + 
 aika0
 ), 
 ymodel = vaste ~ syy + 
 lag1_syy +
 aikaseko1 + 
 aikaseko2 + 
 lag1_aikaseko1 + 
 lag1_aikaseko2 + 
 perusseko3 + 
 aika0,
 compevent_model = kilpavaste ~ syy + 
 lag1_syy +
 aikaseko1 + 
 aikaseko2 + 
 lag1_aikaseko1 + 
 lag1_aikaseko2 + 
 perusseko3 + 
 aika0,
 # Määritä haluttu syykontrasti.
 intvars = list("syy", "syy"), 
 int_descript = c('Aina ei', 'Aina kyllä'),
 interventions = list(
 list(c(static, rep(0, times = 7))),
 list(c(static, rep(1, times = 7)))
)
G-estimointi.
G-estimointi perustuu käytännössä hakualgoritmiin, joka etsii kertoimen, jolla haluttu sisäkkäinen rakenteellinen keskiarvomalli täyttää konsistenssi- ja vaihdettavuusoletuksen. Kun mukana on sekoittavia tekijöitä (L) ja valintaharhaa (C), mallinnetaan siis keskiarvoa formula_28. Yleistetty versio tarvittavasta vasteen kontrafaktuaalista on mallia formula_29.
Laskennallisesti g-estimointi voi näyttää esim. seuraavalta (R):
arvioi_vaihdettavuus &lt;- function(arvaus) {
 # vaste_syy0 tarkoittaa vasteen kontrafaktuaalia syyn arvolla 0.
 syymalli &lt;- geeglm(
 formula = syy ~ vaste_syy0 + seko1 + seko2 + I(seko2),
 data = data %&gt;% mutate(vaste_syy0 = vaste - arvaus * syy),
 family = binomial,
 id = id,
 corstr = "independence"
 tulos &lt;- syymalli %&gt;%
 tidy() %&gt;%
 filter(term == "vaste_syy0") %&gt;%
 select(vaihdettavuus = abs(estimate), p_arvo = p.value) %&gt;%
 mutate(arvaus = arvaus)
 return(tulos)
vaikutus &lt;- seq(from = 0.1, to = 5, by = 0.1) %&gt;%
 map_dfr(arvioi_vaihdettavuus) %&gt;%
 slice_min(vaihdettavuus) %&gt;%
 rename(vaikutus = arvaus)
Vasteregressio.
Vasteregressio tehdään yhdessä vaiheessa siten, että vastemuuttujaa mallinnetaan suoraan syyn, sekoittajien ja valintamuuttujan funktiona – tietyin oletuksin tämän mallin parametreille voidaan antaa kausaalinen tulkinta. Kun mukana on sekoittavia tekijöitä (L) ja valintaharhaa (C), vasteregressiomenetelmässä mallinnetaan siis keskiarvoa formula_30, jonka parametrit vastaavat kausaalioletuksien jälkeen mallin formula_31 parametreja. 
Laskennallisesti vasteregressio voi näyttää esim. seuraavalta (R):
vastemalli &lt;- glm(
 # Termi syy*seko2 mallittaa vaikutuksen muovausta.
 formula = vaste ~ syy + seko1 + seko2 + I(seko2^2) + I(syy * seko2),
 data = data
vaikutukset &lt;- glht(vastemalli, kontrastimatriisi)
Propensiteettiarvot.
Propensiteettiarvo tarkoittaa syyn (A) todennäköisyyttä muiden muuttujien (L) perusteella, mitä voidaan käyttää kaikissa menetelmissä edustamaan tätä mahdollisesti suurtakin joukkoa muuttujia L. Propensiteettiarvoja käytetään IP-painotuksessa ja g-estimoinnissa, mutta niitä voidaan myös käyttää sekoittavien tekijöiden sijasta osittamismenetelmissä ja vakioinnissa.
Instrumenttimuuttujat.
Instrumenttimuuttuja ("instrumental variable", IV) on tekijä "Z", joka 1) on yhteydessä syyhyn "A", 2) vaikuttaa vasteeseen "Y" ainoastaan syyn "A" kautta ja 3) ei jaa yhteisiä syitä vasteen kanssa. Instrumentin lisäksi on tehtävä homogeenisyys- tai monotonisuus-oletus. (Huom. monotonisuus auttaa arvioimaan vaikutuksen vain instrumenttia seuraavien osaryhmässä.) 
Tyypillisiä instrumentteja terveystieteissä ovat satunnaistaminen, geneettiset tekijät, preferenssi ja saatavuus. Tavallinen vaikutussuure IV-analyysissä on muotoa formula_32, joka arvioidaan usein kahdessa vaiheessa niin, että ensin ennustetaan mallista formula_33 kaikille syy (s) ja sitten sovitetaan lineaarinen malli muotoa formula_34, missä b on haluttu vaikutussuure. Mitä suurempi instrumentin ja syyn yhteys on, sitä vähemmän satunnaisvirhettä arviossa on. Vaihtoehtoisesti voidaan käyttää rakenteellista keskiarvomallia ja g-estimointia, jolloin ei tarvita yhtä voimakkaita oletuksia mallin muotoon liittyen. 
Laskennallisesti IV-analyysi voi näyttää esim. seuraavalta (R):
vastemalli &lt;- sem::tsls(
 formula = vaste ~ syy, 
 instruments = ~ instrumentti, 
 data = data,
 weights = rep(1, nrow(data))
summary(vastemalli)