Tänases praktikumis

Eelmistel kordadel

  • lineaarne regressioon,
  • ANOVA,
  • Post-hoc test (Tukey HSD),
  • interaktsioonid,
  • parima mudeli valimine,
  • segamudelid.

Sel korral

  • tõenäosus, šanss, šansisuhe,
  • sissejuhatus logistilisse regressiooni.

Tõenäosus, šanss ja šansisuhe

Selleks, et üldse logistilisest regressioonist rääkida, tuleb kõigepealt teha selgeks mõisted tõenäosus, šanss ja šansisuhe/šansside suhe.

Tõenäosus

Tõenäosus (p) on 0 ja 1 vahele jääv arv, mis iseloomustab sündmuse toimumise võimalikkust teatud tingimustel. Tõenäosus leitakse sündmuse toimumiseks soodsate/oodatud võimaluste arvu jagamisel kõikide võimaluste arvuga.

Näiteks

Mis on tõenäosus, et veeretame täringul silmade arvu 3?

  • Täringul on 6 tahku. Igal tahul on erinev arv. Kõikide võimaluste arv on seega 6.
  • 3 silma on ainult ühel tahul, soodsate võimaluste arv on seega 1.
  • Tõenäosus, et veeretame täringul silmade arvu 3, on seega 1/6 = 0.1666667.
  • Tõenäosus, et me ei veereta täringul silmade arvu 3, on seega 5/6 = 0.8333333 ehk 1 - 0.1666667.

Mis on tõenäosus, et veeretame täringul paarisarvu silmi?

  • Kõikide võimaluste arv on endiselt 6.
  • Paarisarv silmi (2, 4, 6) on kolmel tahul. Soodsate võimaluste arv on seega 3.
  • Tõenäosus, et veeretame täringul paarisarvu silmi, on seega 3/6 = 0.5.
  • Tõenäosus, et veeretame täringul paaritu arvu silmi, on samuti 3/6 = 0.5 ehk 1 - 0.5.

Vaatame kursusel osalejate küsimustiku andmestikust tunnust lemmikjook.

load("kysimustik_2020.RData")
(tab <- table(kysimustik$lemmikjook))
## 
## Kohv  Tee 
##   18   21

Ütleme, et teejoomine on sündmuse toimumine ja kohvijoomine seega sündmuse mittetoimumine. Teoreetiliselt ei ole oluline, et tegemist on just kohvijoomisega, vaid sisuliselt vaatleme tee joomise ja tee mittejoomise tõenäosusi.
Teejoomise tõenäosuse (p) leidmiseks jagame teejoojate (= soodsate võimaluste) arvu kõikide vastajate arvuga ehk 21/(18+21).

(p_tee <- tab[["Tee"]]/sum(tab))
## [1] 0.5384615


# topeltkantsulgude abil saame tabelist
# kätte teejoojate sageduse ilma
# kategooria "Tee" nimeta

Teejoomise tõenäosus andmestikus on ~0.54. See tähendab, et 54% küsimustikule vastanutest valisid lemmikjoogiks tee. Tee mittejoomise tõenäosus on 1 - teejoomise tõenäosus ehk 1-0.5384615=0.4615385.

(p_kohv <- 1-p_tee)
## [1] 0.4615385
# VÕI
(p_kohv <- tab[["Kohv"]]/sum(tab))
## [1] 0.4615385

Kohvijoomise tõenäosus andmestikus on seega ~0.46 ehk umbes 46% küsimustikule vastanutest valisid lemmikjoogiks kohvi.

Sündmuse toimumise (teejoomise) ja sündmuse mittetoimumise (kohvijoomise) tõenäosused annavad liites kokku 1.

Šanss

Šanss (odds) P = p/(1-p) on sündmuse toimumise tõenäosuse ja sündmuse mittetoimumise tõenäosuse suhe ning näitab mitu korda rohkem sündmus toimub kui ei toimu.

Kui teejoomise tõenäosus on 0.54 ja tee mittejoomise tõenäosus (= kohvijoomise tõenäosus) on 0.46, siis on teejoomise šanss 0.54/0.46 = ~1.17.

(P_tee <- p_tee/p_kohv)
## [1] 1.166667

Teed juuakse ~1.7 korda rohkem kui ei jooda. Teisisõnu: teed juuakse ~1.7 korda rohkem kui juuakse kohvi.

Sama tulemuseni jõuame tegelikult siis, kui jagame tõenäosuste asemel absoluutarvud: teejoojate arv / mitteteejoojate arv. Ehk kui tõenäosuse leidmiseks jagame soodsate võimaluste arvu kõikide võimaluste arvuga, siis šansi leidmiseks jagame soodsate võimaluste arvu ebasoodsate võimaluste arvuga.

21/18
## [1] 1.166667

Šansid jäävad 0 ja lõpmatuse vahele.

  • Kui P > 1, siis sündmuse toimumise tõenäosus > sündmuse mittetoimumise tõenäosus.
  • Kui P < 1, siis sündmuse toimumise tõenäosus < sündmuse mittetoimumise tõenäosus.
  • Kui P = 1, siis on sündmuse toimumise ja mittetoimumise tõenäosused võrdsed (0.5).

Šansse (P) saab lihtsalt teisendada tõenäosusteks (p) ja vastupidi. Kui P = p/(1-p), siis p = P/(1+P).

Tõenäosus (p) Šanss (P) Logit (log(P))
0.001 (sündmus toimub väga väikese tõenäosusega) 0.001 -6.91
0.01 0.01 -4.6
0.05 0.05 -2.94
0.1 0.11 -2.2
0.5 (sündmuse toimumise ja mittetoimumise tõenäosused on võrdsed) 1 0
0.75 3 1.1
0.9 9 2.2
0.95 19 2.94
0.99 99 4.6
0.999 (sündmus toimub väga suure tõenäosusega) 999 6.91

Logit ehk šansi logaritm on - nagu nimigi ütleb - logaritmitud šanss. Selle kaudu hinnatakse logistilises regressioonis uuritava tunnuse ennustatud väärtust mingi seletavate tunnuste kombinatsiooni korral. Kui tõenäosus võib varieeruda nullist üheni [0,1] ja šanss nullist lõpmatuseni [0,∞], siis šansi logaritm miinus lõpmatusest pluss lõpmatuseni [-∞,∞]. See on oluline omadus logistilise regressiooni mudelis!

Võtame veel ühe näite.

Oletame, et meil on kaks üliõpilast. Ühel on prillid ja teisel ei ole.

Ilma prillideta üliõpilane A hilineb iga 10 loengu kohta 7 loengusse. See tähendab, et ainult 3 loengusse 10st jõuab üliõpilane õigel ajal.

  1. Mis on tema loengusse hilinemise tõenäosus?
(p_A_hilineb <- 7/10)
## [1] 0.7
  1. Mis on tema loengusse mittehilinemise tõenäosus?
(p_A_eihiline <- 1-p_A_hilineb)
## [1] 0.3
  1. Mis on tema loengusse hilinemise šanss?
7/3
## [1] 2.333333
# VÕI
p_A_hilineb/p_A_eihiline
## [1] 2.333333

Prillideta üliõpilane A hilineb loengusse 2,3 korda rohkem kui jõuab õigeks ajaks.

Seevastu prillidega üliõpilane B hilineb iga 10 loengu kohta ainult 1 loengusse. See tähendab, et 9 loengusse 10st jõuab üliõpilane õigel ajal.

  1. Mis on tema loengusse hilinemise tõenäosus?
(p_B_hilineb <- 1/10)
## [1] 0.1
  1. Mis on tema loengusse mittehilinemise tõenäosus?
(p_B_eihiline <- 1-p_B_hilineb)
## [1] 0.9
  1. Mis on tema loengusse hilinemise šanss?
1/9
## [1] 0.1111111
# VÕI
p_B_hilineb/p_B_eihiline
## [1] 0.1111111

Prillideta üliõpilane B hilineb loengusse ~0,1 korda rohkem kui jõuab õigeks ajaks? Mida see tähendab?

Kui korrutada mis tahes arvu läbi ühest väiksema arvuga, siis saame esialgsest arvust igal juhul väiksema väärtuse.

5*0.9
## [1] 4.5
5*0.7
## [1] 3.5
5*0.5
## [1] 2.5
5*0.3
## [1] 1.5
5*0.1
## [1] 0.5

Seega kui öelda, et üliõpilane jõuab õigeks ajaks 9 loengusse ja hilineb sellest 0.1111111 korda rohkem, siis tähendab see tegelikult seda, et ta hilineb vähem kui ei hiline.

9*0.1111111
## [1] 0.9999999

Kui see arv ümardada, saame uuesti üliõpilase B loengusse hilinemise kordade arvu.

Kui šanss on väiksem kui 1, siis sündmuse toimumise tõenäosus on väiksem kui sündmuse mittetoimumise tõenäosus. Teisisõnu: kuna prillideta üliõpilase loengusse hilinemise šanss on 0,1, võime järeldada, et üliõpilase loengusse hilinemise tõenäosus on väiksem kui tõenäosus jõuda loengusse õigel ajal.

Šansisuhe

Šansside suhte (odds ratio) mõistet kasutatakse selleks, et võrrelda uuritava tunnuse mingi sündmuse toimumise šansse (odds) erinevates gruppides. St võrreldakse mõlemal juhul seda, et sündmus toimub (vastandina šansile, mis võrdleb toimumist mitte-toimumisega).

  • Kui šansisuhe on > 1, siis on 1. rühmas sündmuse toimumise šansid suuremad kui teises rühmas.
  • Kui šansisuhe on < 1, siis on 1. rühmas sündmuse toimumise šansid väiksemad kui teises rühmas.
  • Kui šansisuhe on = 1, siis on mõlemas rühmas šansid võrdsed.

Kui tahame nüüd teada, kui mitu korda kõrgem on prillideta üliõpilase loengusse hilinemise šanss prillidega üliõpilase omast, peamegi leidma šansisuhte.

Šansisuhe ei ole midagi muud kui kahe šansi jagatis.

# Prillideta üliõpilase A
# loengusse hilinemise šanss
P_A <- p_A_hilineb/p_A_eihiline

# Prillidega üliõpilase B
# loengusse hilinemise šanss
P_B <- p_B_hilineb/p_B_eihiline


# Kahe üliõpilase loengusse hlinemise
# šansside suhe
P_A/P_B
## [1] 21

Prillideta üliõpilase šanss loengusse hilineda on 21 korda kõrgem kui prillidega üliõpilase šanss loengusse hilineda.

Tõenäosused, šansid, šansisuhe

Aga miks need prillid üldse olulised on? Põhimõtteliselt oleksime siin võinud rääkida ka lihtsalt üliõpilasest A ja üliõpilasest B. Kui aga paneme selle näite nüüd logistilise regressiooni konteksti ja kujutame ette, et meil on hulga rohkem üliõpilasi, kelle kohta on andmed nende hilinemiste ja prillikandmise kohta, siis oleks loengusse hilinemine kategoriaalne uuritav tunnus väärtustega hilineb ja ei_hiline ning prillikandmine kategoriaalne seletav tunnus väärtustega kannab ja ei_kanna. Logistilises regressioonis hinnatakse seletava tunnuse mõju uuritava tunnuse ühe taseme esinemise tõenäosusele šansi logaritmi kaudu. Teisisõnu saaksime hinnata logistilise regressiooni mudeliga seda, kuidas üliõpilaste loengusse hilinemise šansi logaritm muutub vastavalt sellele, kas tegemist on prillikandjaga või mitte.

Logistiline regressioon

Logistilise regressiooni puhul on uuritav tunnus kategoriaalne ja selle varieerumist seletatakse ühe või enama kategoriaalse või arvulise tunnuse kaudu. Logistiline regressioon on olemuselt klassifitseerimismeetod ning seda saab kasutada, kui uurimisküsimust saab püstitada vähemalt ühel moel järgnevatest:

  • milline oleks uuritava tunnuse ennustatav tase/klass seletavate tunnuste mingite väärtuste korral?
  • milliste seletavate tunnuste väärtuste korral oleks uuritava tunnuse ennustatav klass X?

Või siis täpsemalt tõenäosuste kaudu:

  • milline oleks uuritava tunnuse taseme/klassi ennustatav tõenäosus seletavate tunnuste mingite väärtuste korral?
  • milliste seletavate tunnuste väärtuste korral oleks uuritava tunnuse ennustatav klass tõenäolisemalt X?

Sõltuvalt sellest, kas kategoriaalsel tunnusel on kaks või enam taset, nimetatakse analüüsimeetodit vastavalt kas binomiaalseks või multinomiaalseks logistiliseks regressiooniks.

  • Millest sõltub see, kas vastaja eelistab kohvi või teed? <- Binomiaalne regressioon.
  • Millest sõltub see, kas vastajale meeldivad koerad, kaelkirjakud või molluskid? <- Multinomiaalne regressioon.

Siin räägime põhiliselt binomiaalsest logistilisest regressioonist, kus on kahe tasemega uuritav tunnus. See on põhimõtteliselt aluseks ka multinomiaalsele regressioonile.

Kahe tasemega uuritava tunnuse saab taandada vastanduseks sündmus toimub vs. sündmust ei toimu, midagi esineb vs. midagi ei esine, midagi on vs. midagi ei ole jne. See uuritava tunnuse tase, mis esindab sündmuse toimumist, saab väärtuseks arvu 1, ning teine, mis esindab sündmuse mittetoimumist, saab väärtuseks arvu 0. Vaikimisi määratakse sündmuse toimumiseks (1) see tunnuse tase, mis on tähestikulises järjekorras tagapool. Näiteks tee- ja kohvijoomise eelistuste uurimise puhul oleks teejoomine sündmuse toimumine ja kohvijoomine seega sündmuse mittetoimumine (võib ka vastupidi).

levels(kysimustik$lemmikjook)
## [1] "Kohv" "Tee"

Logistilise regressiooniga võib hinnata näiteks

  • teejoojate (vs. kohvijoojate) esinemise tõenäosust kvantitatiivsete meetodite kursusel sõltuvalt nende lemmikloomast ja ülikoolis õpitud aastate arvust;
  • grippi haigestumise (vs. mittehaigestumise) tõenäosust sõltuvalt vanusest, vaktsineeritusest ja tegevusalast;
  • konstruktsiooni laua peal esinemise (vs. laual esinemise) tõenäosust sõltuvalt tegusõnast, millega konstruktsioon koos esineb, ja sõnade pikkusest;
  • näidendi tragöödiaks klassifitseerimise (vs. komöödiaks klassifitseerimise) tõenäosust sõltuvalt sellest, kui sagedasti seal esineb sõna vaenlane ja kui palju tegelasi on keskmiselt korraga ühes stseenis koos.

Lineaarne vs. logistiline regressioon

Lineaarne regressioon Logistiline regressioon
Lineaarses regressioonis on meil mingi arvuline uuritav tunnus, mille keskväärtust hinnatakse seletavate tunnuste lineaarkombinatsiooni abil. Logistilises regressioonis on meil kahe (või enama) tasemega kategoriaalne uuritav tunnus, mille ühe taseme esinemise tõenäosuse keskväärtust hinnatakse seletavate tunnuste lineaarkombinatsiooni abil. Seda tõenäosust väljendab šansi logaritm.
Lineaarse regressiooni mudel:
Y = A + B1 * x1 + B2 * x2 + ...
Logistilise regressiooni mudel:
log(p/(1-p)) = A + B1 * x1 + B2 * x2 + ...
kus
  • A on vabaliige, mis näitab uuritava tunnuse väärtust siis, kui arvuliste seletavate tunnuste väärtused on 0 ja/või kui kategoriaalsete seletavate tunnuste väärtused on nende baastaseme väärtused
  • x1 ja x2 on seletavad tunnused
  • B1 ja B2 on seletavate tunnuste regressioonikordajad, mis näitavad muutust uuritavas tunnuses siis, kui vastav arvuline seletav tunnus kasvab ühe ühiku võrra või kui muutub kategoriaalse seletava tunnuse tase/klass
kus
  • A on vabaliige, mis näitab sündmuse toimumise šansi logaritmi, siis, kui arvuliste seletavate tunnuste väärtused on 0 ja/või kui kategoriaalsete seletavate tunnuste väärtused on nende baastaseme väärtused
  • x1 ja x2 on seletavad tunnused
  • B1 ja B2 on seletavate tunnuste regressioonikordajad, mis näitavad muutust šansside suhte logaritmis siis, kui vastav arvuline seletav tunnus kasvab ühe ühiku võrra või kui muutub kategoriaalse seletava tunnuse tase/klass
  • p on ühe taseme esinemise ehk sündmuse toimumise tõenäosus, 1-p on teise taseme esinemise ehk sündmuse mittetoimumise tõenäosus ja p/(1-p) on sündmuse toimumise tõenäosuse ja sündmuse mittetoimumise tõenäosuse suhe ehk šanss.
    log(p/(1-p)) on šansi logaritm (ehk logit)
Näiteks 9. praktikumi materjalides
Reaktsiooniaeg = 762 + 19 * sõna pikkus + (-21) * log1p(sõna sagedus)

Logistilise regressiooni aluseks on tegelikult samuti lineaarse regressiooni mudel ning seetõttu tuleb kategoriaalse uuritava tunnuse tasemed kodeerida ümber 0-ks ja 1-ks. Kuna lineaarse regressiooni arvuline uuritav tunnus võib teoreetiliselt saada väärtusi miinus lõpmatusest pluss lõpmatuseni, kategoriaalsel tunnusel on aga skaala alati piiratud 0 (“sündmus ei toimu”) ja 1-ga (“sündmus toimub”), tuleb regressioonivõrrandi vasak pool n-ö ära petta. Selleks kasutataksegi šansi logaritmi, kuna ka see võib muutuda miinus lõpmatusest pluss lõpmatuseni.

# Tõenäosused 0.000001-st kuni 0.999999-ni
p <- seq(0.000001,
         0.999999,
         0.000005)

# Nende tõenäosuste šansid
P <- p/(1-p)

# Nende šansside logaritmid
P_log <- log(P)


plot(x = P_log, y = p, main = "Tõenäosuste ja šansi logaritmide suhe")

Mida lähemal 0-le on tõenäosus, seda lähemal miinus lõpmatusele on šansi logaritm. Mida lähemal 1-le on tõenäosus, seda lähemal pluss lõpmatusele on šansi logaritm.

Miks siis ikkagi logistiline regressioon ja mitte lineaarne? Näide.

Loome näiteks tasakaalustatud valimi, milles on 50 üliõpilast, kes hilinesid semestri jooksul vähemalt kolme loengusse (“jah”), ja 50 üliõpilast, kes hilinesid kahte või vähemasse loengusse (“ei”). Tahame teada, kas üliõpilase korduva hilinemise tõenäosust saab ennustada nt tema keskmise hinde põhjal ülikoolis.

# määra juhusliku valimi korratavuse jaoks "seeme"
set.seed(12)

# hilinejate vektor
hilines <- c(rep("jah", 50),
             rep("ei", 50))

# keskmiste hinnete vektor
keskmine <- c(rnorm(50, 3, 0.2),
              rnorm(50, 4, 0.4))

# ühendatud andmetabel
df <- data.frame(hilines, keskmine)

head(df)
##   hilines keskmine
## 1     jah 2.703886
## 2     jah 3.315434
## 3     jah 2.808651
## 4     jah 2.815999
## 5     jah 2.600472
## 6     jah 2.945541
library(ggplot2)

# Loome graafikule tegelikel vaatlustel
# põhineva aluskihi, milles hilinemine
# on konverteeritud tõenäosusteks 1 ja 0.

(aluskiht <- ggplot(data = df, 
                   aes(y = ifelse(hilines == "jah", 1, 0),
                       x = keskmine)) +
  geom_point(alpha = 0.15) + # suurenda andmepunktide läbipaistvust
  labs(x = "Keskmine hinne",
       y = "Hilinemise tõenäosus",
       title = "Lineaarne vs. logistiline regressioon",
       color = "") +
  theme_bw() +
  theme(plot.title = element_text(hjust = 0.5))) # joonda pealkiri keskele

Jooniselt näeme andmepunktide järgi, et nendel, kes korduvalt hilinesid (y-teljel väärtus 1), oli üldjuhul madalam keskmine hinne kui neil, kes ei hilinenud (y-teljel väärtus 0).

Tõmbame nüüd läbi punktide lineaarse regressioonijoone ja logistilise regressioonijoone.

aluskiht +
  geom_smooth(method = "lm",
              aes(color = "lineaarne")) +
  geom_smooth(method = "glm",
              aes(color = "logistiline"),
              method.args = list(family = "binomial"))

Kui käsitleda uuritava tunnuse tasemeid sündmuse toimumisena ja mittetoimumisena, saab sündmuse toimumine tõenäosuseks 1 ja mittetoimumine tõenäosuse 0. Nagu jooniselt näha, ennustaks tavaline lineaarne regressioon, et uuritava tunnuse väärtus (üliõpilane on korduv hilineja või ei ole) võib ulatuda põhimõtteliselt miinus lõpmatusest kuni lõpmatuseni. Logistiline funktsioon aga sobitub andmetega oluliselt paremini ega välju kunagi 0 ja 1 vahemikust.

Näide: ühe seletava tunnusega logistilise regressiooni mudel

Selleks, et natuke paremini aru saada, mis logistilise regressiooni mudelis täpselt ikkagi toimub, laadime andmestiku esimeneisik.RData. See kujutab endast selle kursuse tarbeks veidi manipuleeritud varianti päris keeleteaduse andmestikust, mille põhjal on püütud uurida, millal eesti murretes kasutatakse koos kindlas kõneviisis oleva tegusõnaga ka ainsuse 1. isiku asesõna (mina või ma). Eesti keeles saab teatavasti isikulisi asesõnu üsna lihtsalt ära jätta, ilma et tähendus oluliselt muutuks.

Näiteks kas öeldakse ma sõin supi ära või lihtsalt sõin supi ära.

load("esimeneisik.RData")

Andmete esmane kirjeldamine

Vaatame pisut andmete struktuuri.

head(esimeneisik)
##           Sone     Lemma Pron Lopp Aeg  Verbiklass Murre
## 1       läksin    minema  jah  jah ipf         muu   IDA
## 2     `akkasin   hakkama  jah  jah ipf         muu   IDA
## 3     mälettan  mäletama  jah  jah  pr kognitiivne   IDA
## 4    (...)õlen    tegema   ei  jah  pr         muu   IDA
## 5      kuul'in    kuulma  jah  jah ipf         muu   IDA
## 6 loovuttas'in loovutama  jah  jah ipf         muu   IDA
##                                        Fail
## 1           AVI_Kaarel_Haav_EMH392_synt.xml
## 2         AVI_Kaarel_Koppel_EMH392_synt.xml
## 3                  AVI_Rosalie_Aun_synt.xml
## 4                KOD_Anna_Lindvere_synt.xml
## 5                   KOD_Jakob_Luka_synt.xml
## 6 KOD_Johannes_Otepalu_M0648_koos_lihts.xml
str(esimeneisik)
## 'data.frame':    246 obs. of  8 variables:
##  $ Sone      : chr  "läksin" "`akkasin" "mälettan" "(...)õlen" ...
##  $ Lemma     : Factor w/ 75 levels "minema","hakkama",..: 1 2 3 4 5 6 7 8 9 9 ...
##  $ Pron      : Factor w/ 2 levels "ei","jah": 2 2 2 1 2 2 2 2 2 2 ...
##  $ Lopp      : Factor w/ 2 levels "ei","jah": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Aeg       : Factor w/ 2 levels "ipf","pr": 1 1 2 2 1 1 2 1 2 2 ...
##  $ Verbiklass: Factor w/ 3 levels "muu","kognitiivne",..: 1 1 2 1 1 1 3 1 1 1 ...
##  $ Murre     : Factor w/ 10 levels "IDA","KESK","KIRDE",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ Fail      : Factor w/ 229 levels "AVI_Kaarel_Haav_EMH392_synt.xml",..: 1 2 3 4 5 6 7 7 8 9 ...
summary(esimeneisik)
##      Sone               Lemma      Pron      Lopp      Aeg     
##  Length:246         olema  : 30   ei :123   ei : 92   ipf:154  
##  Class :character   käima  : 20   jah:123   jah:154   pr : 92  
##  Mode  :character   minema : 17                                
##                     hakkama:  9                                
##                     tegema :  9                                
##                     saama  :  9                                
##                     (Other):152                                
##            Verbiklass      Murre   
##  muu            :199   SAARTE :61  
##  kognitiivne    : 23   KESK   :44  
##  kommunikatiivne: 24   LAANE  :37  
##                        VORU   :30  
##                        IDA    :23  
##                        RANNA  :20  
##                        (Other):31  
##                                            Fail    
##  ISE_Anna_Kand_jt_F0163_synt.xml             :  4  
##  KUU_Sandstrom_jt_fon-kontrollitud.xml       :  3  
##  KHK_Tarkinid_synt.xml                       :  3  
##  KOD_Marie_ja_Agu_Raudmae_synt.xml           :  2  
##  AMB_AnnaMaria_Toome_synt-kontrollitud.xml   :  2  
##  PLT_Maali_ja_Tereese_Mällo_EMH1433_lihts.xml:  2  
##  (Other)                                     :230

Andmestikus on 246 vaatlust ja 8 tunnust.

  • Sone: tegusõna ainsuse 1. isiku vormi murdeline kuju (nt õlen, akkasin jne)
  • Lemma: sama tegusõnavormi sõnaraamatukuju (nt olema, minema)
  • Pron: kas mina/ma esineb koos tegusõnaga või mitte (uuritav tunnus!)
  • Lopp: kas tegusõna vormil on ka pöördelõpp -n nagu kirjakeeles (murretes ei pruugi sugugi olla, nt ma ole)
  • Aeg: kas tegusõna on lihtminevikus (ipf, nt olin) või olevikus (pr, nt olen)
  • Verbiklass: kas tegusõna on semantiliselt kognitiivne (nt mõtlema, tahtma), kommunikatiivne (nt ütlema, küsima) või mingi muu
  • Murre: murdeala, kust informant pärit on
  • Fail: lindistuse failinimi Eesti murrete korpuses

Andmestikus on meid huvitav tunnus tulbas nimega Pron. Sellel kategoorial on kaks taset - ei ja jah - mis tähistavad vastavalt seda, kui asesõna mina/ma ei ole kasutatud, ja seda, kui on.

(tab <- table(esimeneisik$Pron))
## 
##  ei jah 
## 123 123

Täiesti juhuslikult on mõlemas kategoorias täpselt võrdne arv vaatlusi. See tähendab, et asesõna esinemise ja mitte-esinemise tõenäosused on mõlemad 0.5 ja nendest tuletatavad šansid ilma igasuguste teiste seletavate tunnusteta mõlemal juhul võrdsed.

# Asesõna esinemise tõenäosus
(p_jah <- tab[["jah"]]/sum(tab))
## [1] 0.5

# Asesõna esinemise šanss
(P_jah <- p_jah/(1-p_jah))
## [1] 1
# Asesõna mitte-esinemise tõenäosus
(p_ei <- tab[["ei"]]/sum(tab))
## [1] 0.5

# Asesõna mitte-esinemise šanss
(P_ei <- p_ei/(1-p_ei))
## [1] 1

Ainult esinemissageduse põhjalt me midagi seega asesõna kasutamise kohta öelda ei saa. Vajame lisaks mingeid teisi tunnuseid, mis võimalikku varieerumist murretes aitaksid seletada.

Vaatame näiteks kõigepealt, kas asesõna ja mõne teise kategoriaalse tunnuse vahel on mingi seos.

Tunnus Lopp näitab seda, kas verbivormi lõpus on pöördelõpp -n (nt ma lähen) või mitte (ma lähe). Võiks arvata, et kui pöördelõppu ei ole, siis on just asesõna see, mis näitab, kes midagi parajasti teeb.

plot(esimeneisik$Lopp, 
     esimeneisik$Pron,
     xlab = "Pöördelõpp",
     ylab = "Asesõna")

chisq.test(table(esimeneisik$Pron,esimeneisik$Lopp))
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table(esimeneisik$Pron, esimeneisik$Lopp)
## X-squared = 10.852, df = 1, p-value = 0.0009869
library(vcd)
assocstats(table(esimeneisik$Pron,esimeneisik$Lopp))
##                     X^2 df   P(> X^2)
## Likelihood Ratio 11.860  1 0.00057365
## Pearson          11.737  1 0.00061255
## 
## Phi-Coefficient   : 0.218 
## Contingency Coeff.: 0.213 
## Cramer's V        : 0.218

# Tunnuste vahel on pigem nõrk seos

Logistilise regressiooni mudel

Teeme logistilise regressiooni mudeli, et kontrollida, kas asesõna esinemist saab seletada pöördelõpu (mitte)esinemise kaudu. Tegelikkuses on mudeli kasutamine kasulikum muidugi pigem siis, kui vaadata mitme seletava tunnuse mõju uuritava tunnuse varieerumisele.

# Logistilise regressiooni mudel
m.glm <- glm(Pron ~ Lopp, data = esimeneisik, family = "binomial")

Mudelist ülevaate saamiseks kasutame jällegi käsku summary().

summary(m.glm)
## 
## Call:
## glm(formula = Pron ~ Lopp, family = "binomial", data = esimeneisik)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -1.43198  -1.03648  -0.04694   1.32519   1.32519  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)   0.5810     0.2174   2.673  0.00752 ** 
## Loppjah      -0.9220     0.2720  -3.389  0.00070 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 341.03  on 245  degrees of freedom
## Residual deviance: 329.17  on 244  degrees of freedom
## AIC: 333.17
## 
## Number of Fisher Scoring iterations: 4

Kuidas regressioonimudeli tulemust lugeda?

Kuna regressioonimudel hindab uuritava tunnuse ühe taseme esinemise tõenäosust šansi logaritmi kaudu, siis peame kõigepealt vaatama, mida peab R sündmuse toimumiseks. Vaikimisi on selleks uuritava tunnuse tähestikulises järjekorras teine tase.

levels(esimeneisik$Pron)
## [1] "ei"  "jah"
contrasts(esimeneisik$Pron)
##     jah
## ei    0
## jah   1

Sündmuse toimumine (1) on niisiis asesõna esinemine koos tegusõnaga (ma lähen) ja mittetoimumine asesõna mitte-esinemine (lähen). Mudel ennustab seega tõenäosust, et mingis seletavate tunnuste poolt määratud kontekstis kasutatakse tegusõna 1. isiku vormiga koos ka 1. isiku asesõna. Antud juhul siis tahame näha, kas asesõna esinemise tõenäosus kasvab siis, kui tegusõnal isikut näitavat pöördelõppu ei ole.

Läheme nüüd uuesti mudeli väljundi juurde.

1. Vabaliikme (Intercept) koefitsient 0.5810 näitab asesõna mina/ma esinemise šansi logaritmi tegusõna pöördelõpu baastaseme korral ehk siis, kui tegusõnal pöördelõppu ei ole. Logaritmitud šansi saab teisendada tavaliseks šansiks astendamise funktsiooniga exp(). Ehk kui logaritm alusel e (Euleri arv) šansist on 0.5810, siis šanss on e astmes 0.5810.

# Asesõna esinemise šanss kontekstis,
# kus tegusõnal ei ole pöördelõppu
(P_loppei <- exp(m.glm$coefficients[["(Intercept)"]]))
## [1] 1.787879
# või
(P_loppei <- exp(0.5810))
## [1] 1.787825

# Tulemused erinevad pisut seetõttu, et
# mudeli väljundis näidatakse koefitsiendi 
# väärtust nelja komakohaga, ent tegelikult
# on koefitsiendi väärtus pisut pikem.

Šanss, et ilma pöördelõputa tegusõna vormi korral on kasutatud asesõna, on ~1.79. Kuna šanss on > 1, võime tõlgendada seda ka nii, et tõenäosus asesõna kasutamiseks pöördelõputa tegusõna vormi korral on suurem kui 0.5. Selle tõenäosuse saab šansi kaudu ka välja arvutada.

(p_loppei <- P_loppei/(1+P_loppei))
## [1] 0.6412975

Asesõna esinemise tõenäosus juhul, kui sellega koos kasutataval tegusõnal puudub pöördelõpp -n, on 0.64.

2. Seletava tunnuse koefitsient -0.9220 näitab sündmuse toimumise šansi muutust logaritmitud kordades 1-ühikulise või ühe taseme muutuse puhul vastava seletava tunnuse väärtuses. Teisisõnu näitab see koefitsient logaritmitud šansisuhet ehk seda, mitu logaritmitud korda suurem on sündmuse toimumise šanss seletava tunnuse uue taseme korral. Plussmärgiga koefitsiendid lisavad sündmuse toimumise šanssi (ühtlasi ka tõenäosust), miinusmärgiga vähendavad. Negatiivne koefitsient siin viitab seega sellele, et sündmuse toimumise šanss väheneb seletava tunnuse taseme muutmisel.

Astendame esmalt selle koefitsiendi, et saada logaritmitud kordade asemel tegeliku kordade arvu.

# šansside suhe
# (asesõna esinemise šanss pöördelõpuga tegusõnaga/
# asesõna esinemise šanss pöördelõputa tegusõnaga)
(P_suhe <- exp(m.glm$coefficients[["Loppjah"]]))
## [1] 0.3977401

Seletava tunnuse astendatud koefitsient näitab siin niisiis, et kontekstis, kus tegusõnal on pöördelõpp ((ma) lähen), on asesõna kasutamine ~0.4 korda “suurem” kui kontekstis, kus tegusõnal pöördelõppu ei ole ((ma) lähe). See, et šansisuhe on < 1, näitab, et see arv, mida suhte arvutamisel jagame, on väiksem kui see arv, millega jagame. Seega peaks uue seletava tunnuse taseme korral (Lopp = "jah") asesõna kasutamise šanss olema väiksem kui baastaseme korral (Lopp = "ei").

Kontrollime, kas see on nii.
Teame juba asesõna esinemise šanssi kontekstis, kus pöördelõppu ei ole. Selle saime kätte vabaliikme astendamise kaudu ja see on salvestatud objekti P_loppei.
Leiame nüüd asesõna esinemise šansi kontekstis, kus tegusõnal on pöördelõpp. Selleks liidame vabaliikme ja seletava tunnuse koefitsiendid ning astendame tulemuse.

# Asesõna esinemise šanss kontekstis,
# kus tegusõnal on pöördelõpp
(P_loppjah <- exp(m.glm$coefficients[["(Intercept)"]] + m.glm$coefficients[["Loppjah"]]))
## [1] 0.7111111

See, et šanss pöördelõpuga tegusõna kontekstis on < 1, näitab, et asesõna tõenäosus selles kontekstis esineda on väiksem kui tema tõenäosus mitte esineda. Ehk: tõenäolisem on, et asesõna koos pöördelõpuga tegusõnaga ei esine.

Nüüd leiame šansisuhte ja šansisuhte logaritmi.

P_loppjah/P_loppei
## [1] 0.397752
log(P_loppjah/P_loppei)
## [1] -0.9219266

Saime sama tulemuse, mis mudelist.

Kui räägime ainult šansi logaritmist, võime lihtsalt öelda, et koefitsiendid tõstavad šansi logaritmi koefitsiendi väljendatud arvu VÕRRA.
Tavalisest šansist rääkides aga peame ütlema, et koefitsiendid tõstavad šanssi astendatud koefitsiendi väljendatud arv KORDI.

Üldiselt pole šansi ja šansisuhte terminite kasutamine tingimata vajalik, kui rääkida lihtsalt uuritava tunnuse ühe väärtuse esinemise tõenäosuse suurenemisest või vähenemisest ja mitte arvutada seda, kui mitu korda mingid šansid parajasti muutuvad.

Muutuse suuna ütlevad ära koefitsientide ees olevad märgid ning kui šansisuhe kasvab, kasvavad ka sündmuse toimumise šansid ja tõenäosus ja vastupidi.

3. Std. Error, z value ja Pr(>|z|). Waldi Z-statistiku (z value) väärtus on koefitsient (Estimate) jagatud standardveaga (Std. Error) ja see testib seda, kas koefitsient võiks olla vähemalt sama ekstreemse suurusega (s.t nullist erinev) ka populatsioonis. Selle statistilist olulisust näitab p-väärtus, mis ütleb meile ühtlasi seda, kas antud tunnuse väärtus on statistiliselt oluliselt erinev tunnuse baastaseme väärtusest (uuritava tunnuse ennustamisel). Olulisuse nivoo on vaikimisi endiselt 0.05 ning tärnikeste tõlgendamine käib samamoodi nagu lineaarses regressioonis. Kui mingi koefitsiendi standardviga on väga suur, siis võib vastava parameetri hinnangut pidada ebamääraseks ning see võib isegi ainult natuke üksteisest erinevates valimites kõvasti varieeruda. Üldjuhul ei ole väga suure standardveaga koefitsiendid statistiliselt olulised ehk ei saa piisava kindlusega väita, et muutus mingis tunnuses tooks kaasa statistiliselt olulise muutuse sündmuse esinemise šanssides.
Selles mudelis on muutus seletavas tunnuses statistiliselt oluline, mis tähendab, et on oluline erinevus asesõna esinemise šanssides kontekstis, kus tegusõnal ei ole pöördelõppu, ja kontekstis, kus tegusõnal on pöördelõpp.

4. Null deviance näitab, kui suur oleks uuritava tunnuse varieerumise seletamata osa mudelis, kus ei ole ühtegi seletavat tunnust. Selle vabadusastmete arv (degrees of freedom) on enamasti vaatluste arv (n) - 1. Residual deviance näitab, kui suur on see osa, kui mudelis on need seletavad tunnused, mis seal parajasti on. Selle vabadusastmete arv sõltub mudelisse kaasatud tunnuste arvust ja kategoriaalsete tunnuste puhul ka tasemete arvust. Selles mudelis tuleb hinnata ainult ühe taseme mõju, seega lahutatakse (n-1)-st veel 1. Mida väiksem Residual deviance Null Deviance’ist on, seda parem, sest seda rohkem meie mudelisse lisatud seletavatel tunnustel uuritava tunnuse varieerumisega pistmist on.

5. AIC ehk Akaike Information Criterion võimaldab hinnata mudeli headust võrdluses teiste mudelitega (väiksem arv on parem). Arvestab valimi suuruse ja mudelisse kaasatud parameetrite arvuga (nagu adjusted R2 lineaarse regressiooni mudelis). Kui näiteks teeksime veel ühe mudeli, kuhu lisaksime ühe seletava tunnuse juurde, aga AIC väärtus ei läheks oluliselt väiksemaks, siis ei pruugi meie lisatud tunnusel olla uuritava tunnuse varieerumise seletamisel kuigi suur roll ja peaksime valima lihtsama (= vähemate seletavate tunnustega) mudeli.

Sõnastame uuesti tulemused

  • Asesõna mina/ma kasutamise šansid koos ilma pöördelõputa tegusõna vormiga (nt tule) on exp(0.5810299)=1.787879.
  • Asesõna kasutamise šansid “kasvavad” exp(-0.9219565)=0.3977401 korda, kui tegusõnal on pöördelõpp (tulen). Teisisõnu: koos pöördelõpuga tegusõnaga asesõna kasutamise šansid kahanevad.
  • Asesõna kasutamise šansid koos pöördelõpuga tegusõna vormiga on exp(0.5810299-0.9219565)=0.7111111. Võiksime leida selle väärtuse põhimõtteliselt ka esialgsete (logaritmimata) šansside läbikorrutamisel (logaritmimata) šansisuhtega : 1.787879 * 0.3977401 = 0.7111112. Tõenäosus on 0.7111111/(1+0.7111111)=0.4155844.

Järeldus: pöördelõpu olemasolu tegusõna vormil kahandab pronoomeni mina/ma kasutamise tõenäosust.

Kordamisküsimused

1. Töörahulolu küsitlusele vastas 40 meest, kellest 30 olid oma tööga rahul. Kui suur on šanss, et küsitlusele vastanud mees ei ole oma tööga rahul?

  1. 0.25
  2. 0.33
  3. 0.75

2. Samale küsitlusele vastas 50 naist, kellest samuti 30 olid oma tööga rahul. Milline on meeste ja naiste tööga mitterahulolu šansside suhe?

  1. 0.5
  2. 0.625
  3. 1
  4. 1.25

3. Millises vahemikus võivad olla tõenäosused, šansid ja šansside suhe?

  1. tõenäosus [0,1], šanss [-∞,∞], šansside suhe [-∞,∞]
  2. tõenäosus [0,1], šanss [0,∞], šansside suhe [0,∞]
  3. tõenäosus [0,1], šanss [0,∞], šansside suhe [-∞,∞]
  4. tõenäosus [-1,1], šanss [0,1], šansside suhe [0,∞]

4. Millised on õiged väited?

  1. Logistilises regressioonis loeb R vaikimisi sündmuse toimumiseks uuritava tunnuse tähestiku järjekorras tagapool olevat taset.
  2. Logistilises regressioonis loeb R vaikimisi sündmuse toimumiseks uuritava tunnuse tähestiku järjekorras eespool olevat taset.
  3. Seletava tunnuse baastasemeks loeb R vaikimisi tähestiku järjekorras tagapool olevat taset.
  4. Seletava tunnuse baastasemeks loeb R vaikimisi tähestiku järjekorras eespool olevat taset.

5. Logistilise regressioonimudeli vabaliige väljendab

  1. uuritava tunnuse väärtust juhul, kui ühtegi seletavat tunnust mudelis ei ole.
  2. uuritava tunnuse ennustatava taseme šanssi juhul, kui kõikide arvuliste seletavate tunnuste väärtused on 0 ja kõikide kategoriaalsete seletavate tunnuste väärtused on nende baastasemel.
  3. uuritava tunnuse ennustatava taseme šansi logaritmi juhul, kui kõikide arvuliste seletavate tunnuste väärtused on 0 ja kõikide kategoriaalsete seletavate tunnuste väärtused on nende baastasemel.
  4. logaritmitud tõenäosust, et uuritav tunnus on seletavate tunnuste kasvades ühe ühiku võrra oma baastasemel.

6. Tehes andmestikust esimeneisik logistilise regressiooni mudeli, kus asesõna mina/ma esinemist seletatakse tegusõna ajavormi kaudu, saame alloleva väljundi. Seletava tunnuse baastase on lihtminevik (ipf) ning hinnatav parameeter olevik (pr). Kas olevikuvormis tegusõna kasvatab või kahandab asesõna kasutamise šansse?

## 
## Call:
## glm(formula = Pron ~ Aeg, family = "binomial", data = esimeneisik)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -1.41098  -1.04720  -0.04332   1.31344   1.31344  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)   
## (Intercept)  -0.3142     0.1632  -1.926  0.05410 . 
## Aegpr         0.8483     0.2707   3.134  0.00172 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 341.03  on 245  degrees of freedom
## Residual deviance: 330.94  on 244  degrees of freedom
## AIC: 334.94
## 
## Number of Fisher Scoring iterations: 4
  1. Ei ole võimalik öelda, sest enne peab kindlasti astendama.
  2. Olevikuvormis tegusõnaga on asesõna kasutamise šanss väiksem kui minevikuvormis tegusõnaga, sest koefitsient on > 0.
  3. Olevikuvormis tegusõnaga on asesõna kasutamise tõenäosus suurem kui minevikuvormis tegusõnaga, sest koefitsient on > 0.
  4. Olevikuvormis tegusõnaga on asesõna kasutamise tõenäosus väiksem kui minevikuvormis tegusõnaga, sest koefitsient on < 1.
  5. See ei ole statistiliselt oluline, nii et selle hindamisel ei ole mõtet.

7. Kui suur on eelmises näites oleva mudeli põhjal šanss, et asesõna mina/ma esineb koos olevikuvormis (pr) tegusõna vormiga (nt ma tean)?

  1. 0.534
  2. 1.163
  3. 1.706
  4. 3.198

8. Pron ~ Lopp mudeli AIC on 333.1688. Pron ~ Aeg mudeli AIC on 334.94. Kumb mudel seletab asesõna kasutamise varieerumist paremini?

  1. Ei ole võimalik öelda.
  2. Pron ~ Aeg, sest selle AIC on suurem.
  3. Pron ~ Lopp, sest selle AIC on väiksem.

Järgmisel korral

  • Mitme seletava tunnusega logistilise regressiooni mudel
  • Interaktsioonidega logistilise regressiooni mudel
  • Mudelite võrdlemine ja optimaalse mudeli leidmine
  • Logistilise regressiooni eelduste kontroll
  • Mudeli valideerimine