Logistinen regressio käytännössä – R ja SPSS

Tilastollinen päättely Ei kommentteja

Yleistä

Kuten aikaisemmin mainittu, logistinen regressio on erittäin suosittu tilastotieteellinen menetelmä. Varsinkin ns. riskitekijätutkimuksessa logistinen regressio on lähes kultainen standardi, jos kyseessä ei ole elinaika- eli survival-analyysi. Elinaika-analyysissä on tärkeää päätetapahtuman lisäksi huomioida aika, joka kuluu päätetapahtuman ilmaantumiseen.

Logistista regressiota käytettäessä on keskeistä miettiä, mihin koko tutkimuksella ja tutkimuskysymyksillä pyritään. Kuten minkä tahansa monimuuttujamallin kohdalla, logistisen regressionkin tulokset kuvaavat ainoastaan tilastollisia yhteyksiä lähtömuuttujien ja päätemuuttujan välillä. Ilman taustapohdintaa logistisen regression tarkoituksesta ja tavoitteista, tuloksetkin voivat olla virheellisiä tai harhaisia ja niiden tulkinta voi johtaa virheellisiä päätelmiin syy-seuraussuhteista tai lähtömuuttujien vaikutuksesta päätemuuttujaan.

Monimuuttujamallin tarkoitus on joko selittää tai ennustaa riippuen tutkimusasetelmasta. Tämä pätee myös logistiseen regressioon. Pääkohdat selittämisen ja ennustamisen perusteista ja eroista on kuvattu artikkelissa Johdantoa monimuuttujamalleihin – selittäminen, ennustaminen ja vaihtelun selittäminen.  Jos tutkimuksen tarkoitus on selittää, tutkimuksessa selvitetään miten altiste vaikuttaa päätemuuttujan ilmaantumiseen. Muiden muuttujien tarkoitus on minimoida harhaa näiden muuttujien välillä ja muuttujien valinta on kaikista keskeisintä tutkimuksessa. Ennustetutkimuksessa pyritään selvittämään miten hyvin lähtömuuttujien joukko ennustaa päätetapahtumaa ja mikä on muuttujien keskinäinen tärkeysjärjestys ennustamisen ja selitysasteen osalta.

Käytännön esimerkit

Tässä artikkelissa käydään läpi logistisen regression rakentaminen sekä tulosten tulkinta R:n ja SPSS:n osalta. Koska perusperiaatteet ovat pitkälti samat kuin missä tahansa regressiossa, emme käy läpi kaikkia vaiheita vaan suosittelemme lukemaan artikkelit Lineaarinen regressio – Esimerkki: kuolleisuuden selittäminen tulotasolla ja Lineaarinen regressio – Esimerkki: kuolleisuuden ennustaminen.

Esimerkissä hyödynnämme ilmaiseksi netistä saatavaa aineistoa. data.world -sivulta (vaatii rekisteröitymisen) löytyy opiskelijoiden alkoholin käytön kyselyn tulokset. CSV-muotoinen tiedosto on helposti vietävissä mihin tahansa tilastoanalyysiohjelmaan.

SPSS

Mallin rakentaminen

CSV-muotoisen tiedoston siirto SPSS-ohjelmaan on kuvattu artikkelissa Lineaarinen regressio – Esimerkki: kuolleisuuden selittäminen tulotasolla. Aina analyysin alussa on myös syytä tarkastella aineiston rakennetta ja esimerkiksi puuttuvia arvoja. Tämä on kuvattu myös edellä olevassa artikkelissa.

Analyysiä varten lataamme ensin edellä mainitun aineiston SPSS-ympäristöön. Nyt käytämme muuttujaa schoolsup -päätemuuttujana, joka kuvaa oppilaan tuen tarvetta koulussa (kyllä/ei).  Lähtömuuttujiksi malliimme valitsemme muuttujat age, sex, Medu sekä Walc. Medu kuvaa opiskelijan äidin koulutustasoa (0=ei mitään, 1=alakoulu, 2=yläkoulu, 3=toinen aste, 4=korkeakoulu). Walc kuvaa oppilaan alkoholin kulutusta asteikolla 1-5. Nyt Medu ja Walc ovat numeerisena aineistossa. Medu -muuttujan osalta järkevämpää on käsitellä muuttujaa luokkamuuttujana. Koska luokka 0 on vain kolmella opiskelijalla sitä ei voi käyttää referenssiryhmänä, joten yhdistämme ne samaan luokkaan muuttujan 1 kanssa. Tämä on perusteltua aineiston hallintaa, jos jossain luokassa on hyvin vähän havaintoja. Yhdistäminen onnistuu valitsemalla Transform > Recode into different variables. Ensin määrimme uuden muuttuja nimeksi Medu2. Tämän Old and New Values -valikon kautta muutamme arvot 0 arvoiksi 1.

Tämän jälkeen Variable View -välilehden ikkunan kautta muutamme muuttujan Medu2 tyypin String, jotta se käsitellään luokkamuuttujana ja asetamme lukuarvoille label-tiedot, jotta näemme koulutustason eri luokat suoraan tulosteesta.

Nyt voimme siirtyä logistiseen regressioon. Logistinen regressio löytyy SPSS:sta valitsemalla Analyze > Regression > Binary logistic. Valintaikkuna on hyvin samankaltainen kuin lineaarisessa regressiossa. Rakennamme logistisen mallin seuraavasti:

Categorical -valikon takaa voimme varmistaa, että Medu2 -muuttujalla referenssiluokkana toimii ensimmäinen luokka. Tulosten tarkastelua varten on hyvä tallentaa mallin estimoimat päätetapahtuman todennäköisyydet. Tämä tapahtuu valitsemalla Save -valikon takaa kohdasta Predicted Values valinnan Probabilities. Options -valikon takaa laitamme rastin Statistics and Plots valinnan alta kohtaan CI for exp(B). Näin saamme regressiokertoimillemme myös luottamusvälit. Lopuksi painamme OK.

Tulosten tulkinta

Tavalliseen tapaan SPSS-tuottaa valtavasti erilaisia tulosteita.

Case Processing Summary kuvaa montako havaintoa oli mukana ja monellako oli puuttuvia tietoja. Dependent Variable Encoding kuvaa, että päätemuuttujan arvo “yes” muutettiin analyysejä varten arvoon 1, mikä on tarkoituksen mukaista. Categorical Variables Codings kuvaa, miten luokkamuuttujat on koodattu analyyseissä. Referenssimuuttujan rivillä kaikki luvut ovat 0 eli Medu2 -muuttujassa arvo 1 (Ei mitään tai alakoulu) on referenssi, kuten oli tarkoituskin.

Block 0 -otsikon alla olevat tulosteet eivät ole hyödyllisiä tulkita. Esimerkiksi Variables not in the Equation raportoi yksimuuttuja-analyysin tulokset, joiden tulkinta ei ole mielekästä. Tätä on kuvattu tarkemmin artikkelissa Käytännön näkökulmia monimuuttujamalleista. Oleellista on tulkita varsinaisia monimuuttujamallin tuloksia, jotka löytyvät Block 1: Method = Enter -otsikon alta.

Lineaarisessa regressiossa pyrkimys oli mallintaa jatkuvaa päätemuuttujaa ja mallin kertoimien perusteella pystyi määrittämään mallin ennustaman arvon (ŷi) ja todellisen, havaitun päätemuuttujan (yi) välisen arvon erotuksen eli virheen. Mitä pienempi virhe, sitä parempi malli kyseessä. Logistisessa regressiossa mallin hyvyyttä pitää tarkastella hieman eri tavoin. Omnibus Tests of Model Coefficients kuvaa mallin hyvyyttä ns. nollamalliin verrattuna, missä ei ole mukana yhtään lähtömuuttujaa. Jos omnibus-testi ei ole tilastollisesti merkitsevä, se saattaa johtua pienestä aineiston koosta. Mallin hyvyyden tulisi olla tilastollisesti merkitsevästi verrattuna nollamalliin.

Model Summary raportoi kaksi eri pseudo-R2-arvoa. Ne kuvaavat mallin selitysastetta. Lineaariregression tavoin logistiselle mallille voidaan määrittää R2 eli selitysastearvo, mutta sen matemaattinen tausta on eri kuin lineaariregressiossa. Arvon määritys perustuu useimmiten ns. uskottavuusosamäärän käyttöön. Siksi logistiselle regressiolle laskettuja R2-lukuja kutsutaan pseudo-R2-arvoiksi, koska niitä ei lasketa varianssin eri osien mukaan kuten lineaarisessa regressiossa. Pseudo-R2-arvoja voidaan laskea monia erilaisia, joista Cox-Snell, Negelkerke ja McFadden ovat tavallisimpia. Niillä kaikilla on hieman erilainen laskenta- ja tulkintatapa.

Pseudo-R2-arvo 0 tarkoittaisi, että malli ei selitä lainkaan päätemuuttujan vaihtelua. 1 tarkoittaisi, että kaikki vaihtelu päätemuuttujassa pystytään selittämään. Tämä ei ole koskaan mahdollista lääketieteessä. Mitään selkeitä raja-arvoja pseudo-R2-arvojen tulkintaan ei ole, mutta oleellista on katsoa, että se olisi ainakin selkeästi 0 suurempi (esim. yli 0.10), koska tällöin mallilla ei olisi juuri lainkaan selitysvoimaa, mikä olisi toki tulos itsessään.

Classification Table yrittää kuvata mallin erottelukykyä, mutta sen tulkinta tämän avulla on hyödytöntä. Kuten johdannossa todettiin, logistinen malli tarkoittaa, että lähtömuuttujien muodostaman lineaarikombinaation summa on sama kuin log(odds) eli log(Prob{y=1}/1-Prob{y=1}) sille, että päätemuuttuja saa arvon 1. Eli jos korotamme log(odds) -arvot luonnolliseen eksponenttiin niin saamme mallin estimoiman päätemuuttujan todennäköisyyden kullekin potilaalle tai tässä tapauksessa yksittäiselle opiskelijalle. Nämä lukuarvot me tallensimme jo analyysivaiheessa ja ne löytyvät muuttujasta PRE_1. Tämän avulla voimme arvioida mallin erottelukykyä tekemällä ROC-analyysin. Se onnistuu valitsemalla Analyze > Classify > ROC curve.

Classification Table -kohdassa SPSS käyttää raja-arvoa 0.50 luokittelemaan havainnot. Eli kaikki opiskelijat, joilla mallin ennustama todennäköisyys on alle 0.50 saavat arvon 0 ja opiskelijat, joilla ennustearvo on yli 0.5 saavat arvo 1. Erottelukyky kuvaa miten hyvin nämä 0 ja 1 osuvat todellisiin, havaittuihin päätemuuttujan arvoihin. Raja-arvo 0.5 ei suinkaan aina ole kaikista kätevin, koska suurimmalla osalla tai jopa kaikille ennustettu todennäköisyys voi olla alle 0.50. Varsinkin, jos päätetapahtuma on harvinainen, ennustetut todennäköisyydet jäävät lähes kaikilla havaintoyksilöillä alle oletusraja-arvon 0.5. Hyödyllisempää on piirtää ROC-käyrä ja tulkita sen pohjalta AUC-arvoa, joka kuvaa mallin luokittelukykyä päätemuuttujan suhteen.

AUC 0.5 tarkoittaa kolikon heiton todennäköisyyttä eli mallilla ei ole minkäänlaista erottelukykyä. AUC 1 tarkoittaa, että mallin erottelee täydellisesti päätemuuttujan arvot 0 ja 1 lähtömuuttujien arvojen perusteella. Mallin AUC saa arvon 0.7622, joka on kohtalainen arvo. Arvot yli 0.8 voidaan katsoa jo melko korkeiksi erottelukyvyn osalta.

R

CSV-muotoisen tiedoston siirto R-ympäristöön on kuvattu artikkelissa Lineaarinen regressio – Esimerkki: kuolleisuuden selittäminen tulotasolla. Analyysin alussa on aina myös syytä tarkastella aineiston rakennetta ja esimerkiksi puuttuvia arvoja. Tämä on kuvattu myös edellä olevassa artikkelissa.

Logistiselle regressiolle on olemassa useampia mahdollisuuksia R-ympäristössä. Oletusmenetelmä logistisen regressioon analysointiin on glm() -komento. Se on lyhenne sanoista generalized linear model eli yleistetty lineaarinen malli. Kuten edellisessä artikkelissa todettiin, logistinen regressio ei ole oma erillinen menetelmä vaan yksi lineaarisen regression erityistapauksista. Tämän vuoksi glm() -komennossa pitää määritellä erikseen, että halutaan käyttää logistista regressiota. Tämä tapahtuu family -parametrilla. Se määrittää millainen on oletettu virhejakauma. Logistinen regressio onnistuu määrittämällä family=binomial(). Tämä tarkoittaa, että virhetermit noudattavat binomijakaumaa. Tämän lisäksi voidaan määrittää linkkifunktio, joka on oletuksena jo logit. Toisin sanoen family=binomial() tarkoittaa samaa kuin family=binomial(link="logit").

Lisäksi komentoa varten tarvitaan tieto aineiston nimestä, joka tapahtuu data -parametrilla. Tärkeimpänä tarvitaan logistisen mallin rakenne, jossa aaltomerkin ~ vasemmalle puolelle kuvataan päätetapahtuma ja oikealle puolelle lähtömuuttujat + -merkillä erotettuna.

Analyysiä varten lataamme ensin edellä mainitun aineiston R-ympäristöön:

datastudent <- read_csv(".../student-mat.csv")

Nyt käytämme muuttujaa schoolsup -päätemuuttujana. Se kuvaa binaarista opiskelijan tukiopetuksen tarvetta. Koska muuttuja on koodattu “no” ja “yes”, joudumme muuntamaan sen 0/1 -muotoiseksi, jotta voimme käyttää sitä analyysissä. Teemme tämän käyttäen tidyverse -pakettia.

datastu <- datastu %>% 
  mutate(schoolsup2=recode(schoolsup,
                           "no"=0,
                           "yes"=1))

Lähtömuuttujiksi malliimme valitsemme muuttujat age, sex, Medu sekä Walc. Medu kuvaa opiskelijan äidin koulutustasoa (0=ei mitään, 1=alakoulu, 2=yläkoulu, 3=toinen aste, 4=korkeakoulu). Walc kuvaa oppilaan alkoholin kulutusta asteikolla 1-5. Nyt Medu ja Walc ovat numeerisena aineistossa. Medu -muuttujan osalta järkevämpää on käsitellä muuttujaa luokkamuuttujana eli faktorina. Koska luokka 0 on vain kolmella sitä ei voi käyttää referenssiryhmänä joten yhdistämme ne samaan luokkaa. Tämän teemme jälleen käyttämällä tidyverse -pakettia.

datastu <- datastu %>% 
  mutate(Medu=as.factor(Medu),
         Medu2=recode(Medu,
                           "0"="Ei mitään tai alakoulu",
                      "1"="Ei mitään tai alakoulu",
                      "2"="Yläkoulu",
                      "3"="Toinen aste",
                      "4"="Korkeakoulu"))

Tämän jälkeen voimme siirtyä logistiseen regressioon. Rakennamme logistisen mallin seuraavalla komennolla:

model1<-glm(schoolsup2~sex+age+Medu+Walc+Pstatus,family=binomial(link="logit"),data=datastu)

glm-funktion tuloste saadaan esille summary-komennolla.

> summary(model1)
Call:
glm(formula = schoolsup2 ~ sex + age + Medu2 + Walc + Pstatus, 
    family = binomial(link = "logit"), data = datastu)
Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1129  -0.5502  -0.3710  -0.2123   2.7839  
Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)      12.57155    2.74235   4.584 4.56e-06 ***
sexM             -0.98157    0.35016  -2.803  0.00506 ** 
age              -0.82885    0.16694  -4.965 6.87e-07 ***
Medu2Yläkoulu     0.03934    0.51044   0.077  0.93856    
Medu2Toinen aste -0.21697    0.53615  -0.405  0.68572    
Medu2Korkeakoulu -0.57993    0.51988  -1.116  0.26464    
Walc             -0.05810    0.13696  -0.424  0.67141    
PstatusT         -0.27367    0.48963  -0.559  0.57620    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
    Null deviance: 303.91  on 394  degrees of freedom
Residual deviance: 261.70  on 387  degrees of freedom
AIC: 277.7
Number of Fisher Scoring iterations: 6

Call: kohdassa on kertauksena vielä syötetyn logistisen mallin rakenne. Deviance Residuals tarkoittaa tietyntyyppisten (devianssi) virhetermien jakaumaa yleisessä lineaarisessa mallissa. Null deviance ja Residual deviance kuvaavat miten hyvin ns. nollamalli eroaa kuvatusta monimuuttujamallista. Erotukselle voidaan määrittää tilastollinen merkitsevyys.

Coefficients kohdassa ilmoitetaan regressiokertoimien estimaatit. Estimate tarkoittaa päätetapahtuman logaritmisen oddsin muutosta, kun lähtömuuttuja kasvaa yhden yksikön verran. sex -muuttujassa naissukupuoli (F) on referenssi ja sexM tarkoittaa miessukupuolen log(odds) -muutosta eli kun sex muuttuu F -> M. Eli päätetapahtuman log(odds) laskee 0.982 yksikköä miesopiskelijoilla. age -muuttujan osalta jokainen 1 vuoden lisäys iässä laskee niin ikään päätetapahtuman log(odds) -arvoa 0.829. Nämä lukemat eivät ole siis vetosuhteita eli odds ratioita. Vetosuhteet saamme selville, kun teemme eksponenttiin korotuksen logaritmiasteikolla raportoiduille kertoimille. Luonnollisen logaritmin käänteisfunktio on eksponenttiin korotus. Vetosuhteet sekä niiden 95% luottamusvälit saamme seuraavilla komennoilla:

> exp(coef(model1))
     (Intercept)             sexM              age    Medu2Yläkoulu Medu2Toinen aste Medu2Korkeakoulu 
    2.376045e+05     3.726549e-01     4.344074e-01     1.063321e+00     8.567435e-01     5.756125e-01 
            Walc 
    9.447907e-01 
> exp(confint(model1))
Waiting for profiling to be done...
                        2.5 %       97.5 %
(Intercept)      1421.3253095 6.353031e+07
sexM                0.1831476 7.261125e-01
age                 0.3074047 5.931334e-01
Medu2Yläkoulu       0.4001874 3.005087e+00
Medu2Toinen aste    0.3107325 2.468653e+00
Medu2Korkeakoulu    0.2112867 1.640782e+00
Walc                0.7157413 1.229831e+00

coef() -komennolla voidaan hakea useimpien regressiomallin regressiokertoimet. confint() -komennolla puolestaan saadaan mallin regressiokertoimien luottamusvälit. Nyt miessukupuolen vetosuhde on 0.373 luottamusvälin ollessa 0.183-0.726. (Intercept) eli vakiotermin arvo on nyt erittäin suuri. Se johtuu siitä, että vakiotermi kuvaa päätemuuttujan keskiarvoa, kun kaikki regressiokertoimet saavat arvon 0. Nyt ikä vaihtelee vain välillä 15-22, joten kun se asetetaan nollaksi niin myös mallin tuottama luku on hyvin poikkeava. Tästä ei tarvitse olla huolissaan, koska kyseessä on vain analyyttinen ongelma johtuen ikä-muuttujan jakaumasta. Jos minkä tahansa regressiokertoimen arvo tai luottamusvälin raja-arvo olisi useita tuhansia niin tällöin aineistossa saattaa olla ns. separaatio-ongelma, mikä johtuisi siitä, että jonkin luokkamuuttujan yhdessä luokassa ei ole lainkaan yhtään päätemuuttujaa.

Lineaarisessa regressiossa pyrkimys oli mallintaa jatkuvaa päätemuuttujaa ja mallin kertoimien perusteella pystyi määrittämään mallin ennustaman arvon (ŷi) ja todellisen, havaitun päätemuuttujan (yi) välisen arvon erotuksen eli virheen. Mitä pienempi virhe, sitä parempi malli kyseessä. Logistisessa regressiossa mallin hyvyyttä pitää tarkastella hieman eri tavoin. Kuten johdannossa todettiin, logistinen malli tarkoittaa, että lähtömuuttujien muodostaman lineaarikombinaation summa on sama kuin log(odds) eli log(Prob{y=1}/1-Prob{y=1}) sille, että päätemuuttuja saa arvon 1. Eli jos korotamme log(odds) -arvot luonnolliseen eksponenttiin niin saamme mallin estimoiman päätemuuttujan todennäköisyyden kullekin potilaalle tai tässä tapauksessa opiskelijalle.

> schoolsup_pred<-predict(model1)
> head(schoolsup_pred)
         1          2          3          4          5          6 
-3.2386524 -1.8525594 -0.2985984 -0.7373353 -1.2301956 -2.6150021 
> schoolsup_pred_prob<-exp(schoolsup_pred)
> head(schoolsup_pred_prob)
         1          2          3          4          5          6 
0.03921671 0.15683524 0.74185730 0.47838696 0.29223541 0.07316763

predict() -komennolla käytämme malliamme model1 ja estimoimme mallin laskevat päätemuuttujan eli log(odds) -arvot. head() -komento näyttää tulosjoukon 6 ensimmäistä arvoa (Kyseinen toiminta on kätevä aineiston tarkasteluun, jos aineistossa on satoja rivejä). Tämän jälkeen korotimme luvut luonnolliseen eksponenttiin ja saimme tulostettua mallin estimoimat todennäköisyydet sille, että päätemuuttuja saa arvon 1.

Logistisen mallin tarkoitus on erotella päätemuuttujia siten, että ne potilaat/opiskelijat, joilla päätemuuttujan arvo on 1 saisivat mahdollisimman suuria mallin estimoimia todennäköisyyksiä. Vastaavasti ne, joilla päätemuuttujan arvo on 0, tulisi saada mahdollisimman pieni mallin estimoimia todennäköisyyksiä. Tätä kutsutaan mallin erottelukyvyksi ja sitä voidaan tutkia ROC-analyysillä ja lisäksi sillä voidaan laskea mallin AUC (area under curve). AUC 0.5 tarkoittaa kolikon heiton todennäköisyyttä eli mallilla ei ole minkäänlaista erottelukykyä. AUC 1 tarkoittaa, että mallin erottelee täydellisesti päätemuuttujan arvot 0 ja 1 lähtömuuttujien arvojen perusteella. Erottelukyvyn arvioimista varten lataamme paketin pROC ja käytämme komentoa roc() luomaan ROC-käyrän sekä laskemaan mallin AUC-arvon.

> model1.roc<-roc(response=datastu$schoolsup2,predictor=schoolsup_pred_prob,auc=TRUE)
Setting levels: control = 0, case = 1
Setting direction: controls < cases
> model1.roc
Call:
roc.default(response = datastu$schoolsup2, predictor = schoolsup_pred_prob,     auc = TRUE)
Data: schoolsup_pred_prob in 344 controls (datastu$schoolsup2 0) < 51 cases (datastu$schoolsup2 1).
Area under the curve: 0.7622
> plot(model1.roc)

Mallin AUC saa arvon 0.7622, joka on kohtalainen arvo. Arvot yli 0.8 voidaan katsoa jo melko korkeiksi erottelukyvyn osalta.

Selityaste on myös tärkeä kun mietitään mallin hyvyyttä. Lineaariregression tavoin logistiselle mallille voidaan määrittää R2 eli selitysastearvo, mutta sen matemaattinen pohja on eri kuin lineaariregressiossa. Siksi logistiselle regressiolle laskettuja R2-lukuja kutsutaan pseudo-R2-arvoiksi, koska niitä ei lasketa varianssin eri osien mukaan kuten lineaarisessa regressio. McFaddenin R2 on yksi tavallinen pseudo-R2-arvo, joka voidaan laskea myös logistiselle mallille. Sitä varten joudumme määrittämään ns. nollamallin, jossa ei ole siis mukana yhtään lähtömuuttujaa vaan jokaiselle opiskelijalle asetetaan koko aineiston keskiarvo. McMaddenin R2 määritetään mallien uskottavuusosamäärien suhteena.

> model1.null <- glm(schoolsup2~1, family="binomial",data=datastu)
> 1-logLik(model1)/logLik(model1.null)
'log Lik.' 0.1379054 (df=7)

McFaddenin R2 saa arvon 0.138. 0 tarkottaisi, että malli ei selitä lainkaan päätemuuttujan vaihtelua. 1 tarkottaisi, että kaikki vaihtelu päätemuuttujassa pystytään selittämään. Tämä ei ole koskaan mahdollista lääketieteessä. Mitään selkeitä raja-arvoja pseudo-R2-tulkintaan ei ole, mutta oleellista on katsoa, että se olisi ainakin selkeästi 0 suurempi, koska tällöin mallilla ei olisi juuri lainkaan selitysvoimaa, joka on toki tulos itsessään.

Tulosten raportointi

Tulosten raportoinnissa keskeisintä on tutkimuskysymys. Jos tutkimuksen tarkoitus oli tutkia eli selittää miten altiste vaikuttaa päätemuuttujaan, tällöin keskeisintä on juuri lähtömuuttujan regressiokertoimen tulkinta. Edelleen oleellista on välttää kaikkien regressiokertoimien kuvailua yhdessä ja samassa taulukossa, koska tällöin tutkija syyllistyy ns. taulukko 2 -harhaan (Katso Käytännön näkökulmia monimuuttujamalleista). Myös riskitekijätulkintaa kannattaa miettiä kriittisesti sen kliinisen mielekkyyden kannalta (Katso Pohdintaa riskitekijöistä). Selitysaste, AUC ja ROC-kuvaaja eivät ole mielekkäistä tulkinta silloin kun tavoite on ensisijaisesti tutkia yksittäisen altisteen merkitystä.

Selitysaste ja AUC ovat oleellisia, kun tarkoitus on kuvata enemmän ennustenäkökulmasta miten lähtömuuttujat vaikuttavat päätemuuttujan riskiin. Tällöin ei ole mielekästä raportoida yksittäisen regressiokertoimien tuloksia. Selityaste tai mallin hyvyys (pseudo-R2) kuvaa miten, hyvin regressiomalli istuu aineistoon. Pienet arvot (yleensä <0.05) kuvastavat, että aineistossa ei kovinkaan paljon informaatioarvoa tutkittavan asian kannalta. AUC kuvaa mallin erottelukykyä päätemuuttujan suhteen. Yleensä matala selitysaste tarkoittaa myös pientä AUC-arvoa (0.50-0.60). Se tarkoittaa, että malli ei erottele tehokkaasti päätemuuttujan todennäköisyyttä. Kolmas oleellinen raportoitava tulos ennustenäkökulman kannalta on kalibraatio, mutta siitä kirjoitetaan tulevassa artikkelissa laajemmin.

Mitä mieltä olit artikkelin sisällöstä?

Klikkaa tähteä arvostellaksi artikkelin!

Keskiarvo 4.7 / 5. Arvostelujen lukumäärä: 3

Kukaan ei ole vielä äänestänyt, ole ensimmäinen

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *