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ä. 

## Matemaattiset käytännöt

* Erilaisille muuttujille on melko vakiintuneet symbolit. Y viittaa vasteeseen, A syyhyn (tai toimenpiteeseen), L ns. kovariaatteihin eli sekoittaviin tekijöihin tai vaikutuksen muovaajiin, C sensuuriin eli valintaharhan aiheuttavaan muuttujaan ja Z instrumenttimuuttujaan.
* Y^{a=1} = 1 tarkoittaa, että vastetta edustava satunnaismuuttuja (Y) tuottaisi arvon 1 (esim. "kyllä"), kun kontrafaktuaalisesti syyn arvo on 1. Isot kirjaimet ovat satunnaismuuttujia ja pienet kirjaimet ovat näiden tuottamia arvoja. Yläindeksin käyttö viittaa kontrafaktuaaliin. 
* Y^{a} \perp\!\!\!\perp A tarkoittaa, että kontrafaktuaalinen vaste ja todellinen syy ovat riippumattomia toisistaan. Tätä kutsutaan vaihdettavuus-oletukseksi (*exchangeability*), eli esim. todellisuudessa hoidotta jääneiden vaste olisi sama kuin todellisuudesa hoidettujen vaste olisi samassa tilanteessa. Toisin sanoen, yksilöiden oletetaan olevan toimenpiteen suhteen toistensa kanssa vaihdettavissa. Tästä seuraa esim. se, että E[Y^{a}|A=1] = E[Y^{a}|A=0], eli kontrafaktuaalisen vastemuuttujan odotusarvo on sama todellisesta toimenpiteen arvosta riippumatta. Tätä kutsutaan odotusarvo-vaihdettavuudeksi. Jos oletetaan lisäksi konsistenssi, voidaan todeta E[Y^{a}] = E[Y|A=a], eli vasteen odotusarvot toimenpiteen eri arvoilla ovat samat kontrafaktuaalisesti (kausaliteetti) ja todellisista havainnoista (assosiaatio). Näin todellisista havainnoista voidaan päätellä kontrafaktuaalinen havainto (kausaalinen päätelmä). 
* A_{i} = a, Y^{a}_{i} = Y^{A}_{i} = Y^{i} tarkoittaa sananmukaisesti seuraavaa: kun todellisuudessa tietyllä yksilöllä (i) syytä edustava satunnaismuuttuja (A) tuottaa arvon a (esim. "kyllä"), hänen vasteensa satunnaismuuttujan todellisuudessa tuottama arvo (Y) on sama kuin *kontrafaktuaalisen* vasteen satunnaismuuttujan tuottama arvo olisi samalla syyn arvolla a (eli "kyllä"). Tätä kutsutaan konsistenssi-oletukseksi eli kontrafaktuaalisen havainnon oletetaan olevan sama kuin todellisen havainnon samassa tilanteessa. Toisin sanoen, jos halutaan tietää kontrafaktuaalin Y^{a=1}_{i} tuottama arvo, riittää havaita todellisuudessa Y_{i}, kun A_{i}=1. Tällöin kuitenkin Y^{a=0}_{i} jää lopullisesti havaitsematta. 
* E[Y^{a=1}] \ne E[Y^{a=0}] tarkoittaa, että kontrafaktuaalisen vasteen satunnaismuuttujan (Ya) odotusarvo (E) olisi erilainen, kun koko joukko altistuisi syyn arvolle 1 (esim. "kyllä") kuin jos koko joukko altistuisi syyn arvolle 0 (esim. "ei"). Toisin sanoen, syyllä on keskimääräinen vaikutus vasteeseen kyseisessä joukossa. Tämä on tyypillisin keskimääräisen vaikutuksen määritelmä – kuitenkin odotusarvo on vain yksi mahdollinen keskimääräisyyttä kuvaava suure.
* \frac{-1}{P(Y^{a=1} = 1) - P(Y^{a=0} = 1)} on vaikutussuure (NNT, engl. *number needed to treat*), joka kuvaa, kuinka monelle yksilölle on keskimäärin tehtävä toimenpide, että tällä olisi vaikutus yhden yksilön vasteeseen. P tarkoittaa kyseisen kontrafaktuaalisen havainnon todennäköisyyttä. 
* \frac{\sum_{l}P(Y=1|L=l,A=1) \times P(L=l)}{\sum_{l}P(Y=1|L=l,A=0) \times P(L=l)} on vakioitu riskisuhde. Kyseessä ei ole vaikutus- vaan assosiaatiosuure. Lausekkeesta nähdään, että vakiointimenetelmän periaatteena on laskea vasteen todennäköisyyksiä vakiointimuuttujan muodostamissa osaryhmissä ja sitten antaa niille osaryhmän koon mukainen painoarvo koko summassa (tai integraalissa). Tarvittavin oletuksin tämä assosiaatiosuure vastaa (ns. identifioi) kausaalista riskisuhdetta \frac{P(Y^{a=1}=1)}{P(Y^{a=0}=1)}. 

## 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:
* **Voimakkuus**: Mitä voimakkaampi yhteys muuttujien välillä havaitaan, sitä todennäköisemmin havaittu yhteys on kausaalinen.
* **Annos-vastesuhde**: Yleensä biologiassa suurempi annos altistetta aiheuttaa suuremman vasteen. Näin siis mitä selkeämpi annos-vasteyhteys havaitaan, sitä todennäköisemmin yhteys voisi olla kausaalinen.
* **Ajallinen yhteys**: Mitä paremmin altiste voidaan havaita ennen vasteen ilmaantumista eikä yhtäaikaisesti tai vasta vasteen jälkeen, sitä todennäköisemmin havaittu yhteys on kausaalinen.
* **Mekanismi**: Mitä uskottavampi mekanismi altisteen ja vasteen väliselle kausaaliselle suhteelle on keksittävissä, sitä todennäköisemmin havaittu yhteys on kausaalinen.
* **Spesifisyys**: Mitä spesifimmin yhteys on altisteen ja vasteen välillä tai mitä vähemmän nämä ovat epäspesifisesti yhteydessä erilaisiin muuttujiin, sitä todennäköisemmin altisteen ja vasteen havaittu yhteys on kausaalinen. Esimerkiksi, tutkijat voivat käyttää negatiivisia kontrollimuuttujia, joilla ei varmasti ole kausaalista yhteyttä vastemuuttujaan. Jos negatiivisen kontrollin ja vasteen välillä onkin tutkimuksessa yhteys, tämä tarkoittaa, että tutkimuksessa täytyy olla joitakin korjaamattomia virhelähteitä. Jos taas negatiivisen kontrollin ja vasteen välillä ei havaita yhteyttä, tämä voi vahvistaa altisteen ja vasteen yhteyden uskottavuutta.
* **Analogia**: Mitä enemmän on kausaalisia yhteyksiä muiden vastaavien tai samantapaisten muuttujien välillä, sitä todennäköisemmin myös kyseinen havaittu yhteys on kausaalinen. Esimerkiksi, jos yhdellä lääkeaineella tiedetään olevan suolistoon liittyvä haitta, havaittu yhteys toisen lääkeaineen ja suolistoon liittyvän haitan välillä voisi olla jo analogian vuoksi uskottavampi.
* **Konsistenssi**: Mitä useammin erilaisissa tutkimuksissa havaitaan sama yhteys, sitä todennäköisemmin havaittu yhteys on kausaalinen.
* **Koherenssi**: Mitä enemmän on yhtäpitävää näyttöä laboratoriotutkimuksista, sitä todennäköisemmin havaittu yhteys on kausaalinen.
* **Kokeellinen näyttö**: Mitä enemmän on yhtäpitävää näyttöä kokeellisista tutkimuksista, sitä todennäköisemmin havaittu yhteys on kausaalinen.
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
* interferenssin puute eli yksilöt ovat riippumattomia toisistaan
* konsistenssi eli kontrafaktuaali ja havaittu vastaavat toisiaan samassa tilanteessa
* syyerojen merkityksettömyys eli kaikilla syyn eri versioilla on sama vaikutus
* hyvin määritellyt interventiot, kontrafaktuaalit ja kohdeväestöt
* vaihdettavuus eli kontrafaktuaalinen vaste ja havaittu syy ovat riippumattomia toisistaan
* jälkivaikutuksen puute eli yksilön siirtyessä syyn arvosta toiseen edellisen arvon vaikutus päättyy
* yksilövaikutuksen ja verrokkikontrafaktuaalin aikariippumattomuus
* positiivisuus (tai satunnaiset nollat) eli jokainen syyn arvo on mahdollinen
* siirrettävyys eli vaikutus on sama eri väestöissä (ulkoinen validiteetti) 
* determistinen kontrafaktuaali eli yksilötasolla ei ole sattumaa 
* tunnettu, sama tai merkityksetön määrä mittaamatonta sekoittuneisuutta
* ei mittausvirhettä eli muuttujien todelliset ja mitatut arvot ovat samat (harha tai satunnaisvirhe)
* ei valintaharhaa eli aineistosta ei puutu havaintoja syyn ja vasteen yhteisten vaikutusten ehdolla 
* oikeat mallioletukset (esim. parabolinen hahmo Gaussilaisella satunnaisvirheellä)
* poissuljentarajoitus (engl. *exclusion restriction*) eli instrumenttimuuttujalla on vaikutus vasteeseen ainoastaan syyn kautta
* vaikutuksen homogeenisyys (useita versioita) eli syyn vaikutus vasteeseen on aina yhtä suuri (ei muovaajia)
* monotoonisuus eli instrumenttimuuttujan ja syyn yhteys on ei-negatiivinen ja
* yhteisjakauman uskollisuus (engl. *faithfulness*) eli kausaalisesti yhteydessä olevien muuttujien välillä on myös assosiaatio. 

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 P(A=a,C=0|L), joka voidaan arvioida mallintamalla jakaumat P(A=a|L) ja P(C=0|A=a,L). Yleistetty stabiloitu IP-kerroin on muotoa \prod_{k=0}^{K} \frac{f(A_{k}|\bar{A}_{k-1})}{f(A_{k}|\bar{A}_{k-1},\bar{L}_{k})}, missä \bar{A}_{k} tarkoittaa syyhistoriaa aikapisteeseen k asti.

Laskennallisesti IP-painotus voi näyttää esim. seuraavalta (R):

```r
syymalli <- 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 <- glm(syy ~ 1, family = binomial(), data = data)

syymalli_ennuste <- predict(syymalli, type = "response")
syyjakauma_ennuste <- predict(syyjakauma, type = "response")

# SIP viittaa stabiloituun IP-kertoimeen. 
sip_kerroin <- ifelse(
    condition = syy == 0,
    true = ((1 - syyjakauma_ennuste) / (1 - syymalli_ennuste)),
    false = (syyjakauma_ennuste / syymalli_ennuste)
) 

# GEE-malli (engl. generalized estimating equations)
vastemalli <- 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:

```r
vastemalli <- glm(
    # IP-painotettu hasardimalli epäjatkuvalla ajalla.
    formula = vaste == 0 ~ syy + aika + aika2 + I(syy*aika) + I(syy*aika2),
    weight = sip_kerroin,
    data = data %>% mutate(aika2 = aika^2),
    family = binomial
)
vastemalli_ennuste <- crossing(aika = 0:100, syy = c(0,1)) %>%
    arrange(aika) %>%
    mutate(aika2 = aika^2) %>%
    mutate(vaste = predict(vastemalli, .data, type = "response")) %>%
    group_by(syy) %>%
    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 E[Y|A=a, C=0, L=l]. 

Yleinen g-kaava (engl. *g formula*) on muotoa \sum_{\bar{l}} E[Y|\bar{A}=\bar{a},\bar{L}=\bar{l}] \prod_{k=0}^{K} f(l_{k}|\bar{a}_{k-1},\bar{l}_{k-1}) \prod_{k=0}^{K} f^{int}(a_{k}|\bar{a}_{k-1},\bar{l}_{k}). 

Laskennallisesti vakiointi voi näyttää esim. seuraavalta (R):

```r
vastemalli <- 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
)

# Kontrafaktuaalinen aineisto syyn arvolla 0
data0 <- data %>% mutate(syy = 0, vaste = NA)
vastemalli_ennuste0 <- predict(vastemalli, data0)
keskiarvo0 <- mean(vastemalli_ennuste0)

# Kontrafaktuaalinen aineisto syyn arvolla 1
data1 <- data %>% mutate(syy = 1, vaste = NA)
vastemalli_ennuste1 <- predict(vastemalli, data1)
keskiarvo1 <- mean(vastemalli_ennuste1)

vaikutus <- keskiarvo0 - keskiarvo1
# Arvioi epävarmuus esim. bootstrap-menetelmällä.
```


Laskennallisesti g-kaava voi näyttää esim. yhteen funktioon spesifioituna seuraavalta:

```r
vaikutukset <- 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 E[Y^{a,c=0}-Y^{a=0,c=0}|A=a,L]. Yleistetty versio tarvittavasta vasteen kontrafaktuaalista on mallia Y - \sum_{j=k}^{K} A_{j}\gamma_{j}(\bar{A}_{j-1},\bar{L}_{j},\psi^{\dagger}).

Laskennallisesti g-estimointi voi näyttää esim. seuraavalta (R):

```r
arvioi_vaihdettavuus <- function(arvaus) {
    # vaste_syy0 tarkoittaa vasteen kontrafaktuaalia syyn arvolla 0.
    syymalli <- geeglm(
        formula = syy ~ vaste_syy0 + seko1 + seko2 + I(seko2),
        data = data %>% mutate(vaste_syy0 = vaste - arvaus * syy),
        family = binomial,
        id = id,
        corstr = "independence"
    )
    tulos <- syymalli %>%
        tidy() %>%
        filter(term == "vaste_syy0") %>%
        select(vaihdettavuus = abs(estimate), p_arvo = p.value) %>%
        mutate(arvaus = arvaus)
    return(tulos)
}
vaikutus <- seq(from = 0.1, to = 5, by = 0.1) %>%
    map_dfr(arvioi_vaihdettavuus) %>%
    slice_min(vaihdettavuus) %>%
    rename(vaikutus = arvaus)
# Arvioi epävarmuus p-arvojen tai resampling-menetelmän avulla.
```


### 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 E[Y^{a,c=0}|L], jonka parametrit vastaavat kausaalioletuksien jälkeen mallin E[Y|A,C=0,L] parametreja. 

Laskennallisesti vasteregressio voi näyttää esim. seuraavalta (R):

```r
vastemalli <- glm(
    # Termi syy*seko2 mallittaa vaikutuksen muovausta.
    formula = vaste ~ syy + seko1 + seko2 + I(seko2^2) + I(syy * seko2),
    data = data
)
# Määritä kontrastimatriisilla haluttu vertailu. 
vaikutukset <- 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 \frac{E[Y|Z=1] - E[Y|Z=0]}{E[A|Z=1] - E[A|Z=0]}, joka arvioidaan usein kahdessa vaiheessa niin, että ensin ennustetaan mallista E[A|Z] kaikille syy (s) ja sitten sovitetaan lineaarinen malli muotoa E[Y|Z] = a + b*s, 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):

```r
# tsls-funktio on kaksivaiheisen pienimmän neliösumman menetelmä. 
vastemalli <- sem::tsls(
    formula = vaste ~ syy, 
    instruments = ~ instrumentti, 
    data = data,
    weights = rep(1, nrow(data))
)
summary(vastemalli)
```


## Lähteet
* 

### Viitteet