7 Andmete transformeerimine

Lineaarsed transformatsioonid võivad hõlbustada mudeli koefitsientide tõlgendamist (näit. skaala millimeetritest meetritessse, tsentreerimine, standardiseerimine). Mittelineaarsed transformatsioonid (logaritmimine, jms) muudavad mudeli fitti ja võivad olla kasulikud mudeli aditiivsuse/lineaarsuse parandamisel. Oluline on mõista, et transformeeritud andmetega mudeleid tuleb tõlgendada transformeeritud skaalas. Seega, kui algsel skaalal pole muud tõlgendust, kui et väärtused on monotoonilised (näiteks suurem number on alati tähtsam kui väiksem number), siis sobib meile sama hästi iga lineaarne transformatsioon sellest skaalast (näiteks ruutjuure võtmine vms). Bioloogias enamasti asjad nii lihtsad ei ole ja seetõttu keskendume siin paremini tõlgendatavatele transformatsioonidele.

7.1 Logaritmimine

Kui muutujal saavad olla ainult positiivsed väärtused, siis on logaritmimine vahest hea mõte. Enne logaritmima asumist paeb andmetest kaotama ka nullid, näiteks asendades need mingi väikese positiivse arvuga. Logaritmilises skaalas andmetele fititud mudelite \(\beta\) koefitsiendid peaaegu alati < 1.

Miks ja millal muutujaid logaritmida

  1. Muutuja(te) logaritmimine muudab muutujate vahelised suhted mitte-lineaarseks, samas säilitades mudeli lineaarsuse. Ja vastupidi, kui tavalises meetrilises skaalas juhtuvad additiivse mudeli muutujate vahelised seosed olema mitte-lineaarsed, siis x-muutuja(te) logaritmimine võib need muuta lineaarseks, ja sellega päästa ühe olulisema lineaarse regressiooni eelduse (vt ka ptk 4.2).

  2. Logarimimine on hea, kui soovite y ja x muutuja omavahelist sõltuvust tõlgendada üle suhtelise muutuse ehk muutuse protsendi. Kui algses skaalas on \(\beta\) koefitsiendi loomulik tõlgendus additiivne: x-i kasv 1 ühiku võrra ennustab y-i kasvu \(\beta\) ühiku võrra, siis naturaallogaritmitud x-i korral on üks loomulikest multiplikatiivsetest tõlgendustest: x-i kasv 1 ühiku võrra ennustab y-i muutust … protsendi võrra. Additiivsel juhul me liidame ja lahutame, multiplikatiivsel juhul aga korrutame ja jagame.

  3. Muutuja logaritmimine võib viia selle muutuja lähemale normaaljaotusele (lognormaaljaotuse logaritm on normaaljaotusega). Algselt paremale kaldu jaotuse äärmuspunktid võivad regressioonile liiga suurt kaalu omada, milline probleem sageli kaob logaritmimisel.

  4. Kui mudeli residuaalid on ümber nulli tugevalt paremale poole kiivas jaotusega, siis andmete logaritmimine võib need normaliseerida. Samuti siis, kui residuaalide sd on proportsionaalne fititud väärtusega (st CV, mitte SD, on konstantne) ja siis, kui te ususte, et residuaalid peegeldavad multiplikatiivseid vigu.

  5. Kui y ja x-i vaheline sõltuvus on eksponentsiaalne.

  6. Y-muutuja logaritmimine võib aidata hetoroskedastilisuse vastu.

  7. Teaduslik teooria võib indikeerida logaritmimist. Näit pH on log skaalas.

  8. Logaritmimine võib lihtsustada mudelit, vähendades interaktsiooniliikmete arvu.

Mudeli fiti kvaliteedi koha pealt pole vahet, millist logaritmi te kasutate – erinevused on “pelgalt” mudeli koefitsientide tõlgendustes. Naturaallogaritmitud log(x) andmete peal fititud mudeli korral on algses lineaarses skaalas tõlgendatav logaritmitud andmete peal fititud \(\beta\), aga log-skaalas muutujate väärtused ei tähenda peale vaadates suurt midagi. Vastupidiselt on kümnendlogaritmitud log10(x) või kahendlogaritmitud log2(x) andmed log skaalas tõlgendatavad, aga mitte neil fititud \(\beta\) lineaarses skaalas. Igal juhul eelistavad loodusteadlased kasutada log2 ja log10 skaalasid, mida on mugavam otse log-skaalas tõlgendada. log2 skaalas vastab üheühikuline muutus kahekordsele muutusele algses skaalas ja anti-logaritm on \(2^{log2(x)}\). Log10 skaalas vastab üheühikuline muutus 10-kordsele muutusele algses skaalas ja anti-logaritm on \(10^{log10(x)}\).

Naturaallogaritmitud andmetega töötamine

Järgnevalt õpetame naturaallogaritmitud andmetega fititud mudelite \(\beta\) koefitsiendite tõlgendamist algses, meetrilises skaalas ja suhtelises protsendiskaalas.

Naturaallogaritmi alus on \(e \approx 2.71828\) ja sellel on järgmised matemaatilised omadused:

  1. \(log(e) = 1\)

  2. \(log(1) = 0\)

  3. \(log(A^r) = r * log(A)\)

  4. \(e^{log(A)} = A\) ehk \(exp(log(A)) = A\) ehk \(2.72^{log(A)} \approx A\)

  5. \(log(AB)=logA + logB\)

  6. \(log(A/B)=logA - logB\)

  7. \(exp(AB) = exp(A)^B\)

  8. \(exp(A+B) = exp(A)exp(B)\)

  9. \(exp(A-B) = exp(A)/exp(B)\)

Lineaarsel regressioonil saab log-transformatsiooni kasutada kolmel erineval viisil:

  • y = \(\alpha\) + \(\beta\)x — lineaarne mudel (transformeerimata)

  • y = \(\alpha\) + \(\beta\) * log(x) — lineaar-log mudel (transformeeritud on prediktor(id))

  • log(y) = \(\alpha\) + \(\beta\)x – log-lineaar mudel (transformeeritud on y-muutuja)

  • log(y) = \(\alpha\) + \(\beta\) * log(x) – log-log mudel (transformeeritud on y ja x muutujad)

Lineaarses mudelis y = \(\alpha\) + \(\beta\)x, annab \(\beta\) selle, mitu ühikut muutub Y keskväärtus, kui X muutub ühe ühiku võrra.

Lineaar-log mudelis jääb kehtima sama \(\beta\) tõlgendus, mis ülalpool, ainult et log-ühikutes. Seega viib logx-i muutus ühe log ühiku võrra y keskväärtuse muutusele \(\beta\) ühiku võrra (see kehtib muidugi ka log2 ja log10 skaalades).

Kui me juba kasutasime naturaallogaritmimist, siis tahame ilmselt tõlgendust pigem muutuse protsendina ja/või algsetes meetrilistes skaalas (log2 ja log10 ei võimalda selliseid mugavaid tõlgendusi):

  • \(\beta\) on oodatud y muutus, kui x kasvab \(ex\) korda.

  • Kui \(\beta\) on väike, siis saab seda tõlgendada kui suhtelist erinevust. Näiteks, kui \(\beta\) = 0.06, siis 1 ühikuline x-i muutus viib u 6%-sele y muutusele. Sedamõõda kuidas \(\beta\) kaugeneb nullist (näiteks \(\beta\) = 0.4), hakkab selline hinnang tõsiselt alahindama tegelikku x-i mõju y väärtusele.

  • Oodatud y muutus kui x kasvab p protsenti on \(\beta\) * log([100 + p]/100). Näit, kui x kasvab 10% võrra (ehk kui korrutame x-i 1.1-ga), siis log(110/100) = 0.095 ja 0.095\(\beta\) on oodatud y muutus.

Log-lineaarse mudeli korral,

  • kui x kasvab 1 ühiku võrra, siis oodatud y väärtus kasvab exp(\(\beta\)) korda.

  • Kui x kasvab c ühiku võrra, siis oodatud y väärtus kasvab exp(c\(\beta\)) korda.

  • Kui \(\beta\) on väike, siis 100 * \(\beta\) vastab y protsentuaalsele muutusele juhul kui x muutub 1 ühiku võrra (kui \(\beta\) = 0.06, siis x-i muutus 1 ühiku võrra viib y-i 6% tõusule).

Log-log mudeli korral on tõlgendus oodatud y-i muutus protsentides kui x muutub mingi protsendi võrra. Sellist suhet kotsutakse ökonomeetrias elastiliseks ja log x-i \(\beta\) koefitsient on “elastilisus.”

  • Kui me korrutame x-i e-ga, siis korrutame oodatud y-i väärtuse exp(\(\beta\))-ga.

  • Et saada y suhtelist muutust, kui x kasvab p protsenti, arvuta a = log([100 + p]/100) ja siis võta exp(a\(\beta\)).

7.2 Standardiseerimine

Kui prediktor \(x_1\) on mõõdetud näiteks eurodes ja prediktor \(x_2\) aastates, siis on meil fititud koefitsientidele \(b_1\) ja \(b_2\) peale vaadates raske öelda, kumb mõjutab y-muutuja väärtust rohkem. Kuna euro ühik on palju granuleeritum kui aasta, siis võib ka väga väike nullist erinev \(b_1\) omada mudeli seisukohast suuremat tähtsust kui suhteliselt suur \(b_2\).

\(x.z = (x - mean(x))/sd(x)\)

Sellisel viisil standardiseeritud andmete keskväärtus on 0 ja sd = 1. Seega on kõik predikorid samas skaalas ja me mõõdame efekte sd ühikutes. See lubab võrrelda algselt erinevas skaalas prediktoreid. Intecept tähendab nüüd keskmist ennustust, juhul kui kõik prediktorid on fikseeritud oma keskväärtustel.

Kui mudel sisaldab lisaks pidevatele prediktoritele ka binaarseid prediktoreid, siis on kasulikum standardiseerida üle 2xSD, jättes binaarsed muutujad muutmata.

\(x.z2 = (x - mean(x))/(2 * sd(x))\)

Nüüd tähendab 1 ühikuline muutus efekti -1 SD-st kuni 1 SD-ni üle keskväärtuse.

Korrelatsioon üle regressiooni ja regressioon keskmisele

Kui standardiseerime nii y kui x-i

x <- (x - mean(x)) / sd(x) y <- (y -mean(y)) / sd(y)

siis y~x regressiooni intercept = 0 ja tõus on sama, mis x ja y vaheline korrelatsioonikoefitsient r. Seega jääb tõus alati -1 ja 1 vahele.

Siit tuleb ka seletus nähtusele, mida kutsutakse regressiooniks keskmisele (regression to the mean). Fakti, et y on sellises mudelis alati 0-le lähemal kui x, kutsutaksegi regressiooniks keskmisele. Näiteks, kui olete 20 cm keskmisest pikem ja pikkuse päritavus on 0.5, siis on oodata, et teie järglased on keskeltläbi 10 cm võrra keskmisest pikemad (ja teist lühemad). Selle pseudo-põhjusliku nähtuse avastas Francis Galton.

7.3 Tsentreerimine

x.c1 = x - mean(x) annab keskväärtuseks nulli aga jätab varieeruvused algsesse skaalasse. Näiteks interaktsioonimudelite koefitsiendid on otse tõlgendatavad tsentreeritud prediktorite korral.

Teine võimalus on tsentreerida mõnele teaduslikult mõistlikule väärtusele. Näiteks IQ-d saab tsentreerida 100-le (x - 100).

7.4 Mudeli koefitsientide transformeerimine

Ilma interaktsioonideta mudeli korral saab sama tulemuse, mis prediktoreid tsentreerides, kui me reskaleerime tavalises skaalas fititud mudeli koefitsiendid, korrutades iga \(\beta\) oma prediktori kahekordse sd-ga (\(\beta_x = \beta \times 2 \times sd(x)\)). Nende \(\beta_x\)-de pealt näeb iga muutuja suhtelist tähtsust mudelis.

Teine võimalus beta koefitsientide transformeerimiseks, mis ei eelda prediktorite normaalsust, on korrutada betad läbi vastavate muutujate interkvartiilsete range-dega (IQR).

Hoitatus: standardiseeritud koefitsiente ei tohi kasutada, et võrrelda samade prediktorite mõju erinevate andmete peal fititud sama struktuuriga mudelile.

7.5 Pidev või diskreetne muutuja?

Tavaliselt on mõistlik fittida mudel pidevale y muutujale ka siis, kui tahame lõpuks tõlgenada tulemusi diskreetsel skaalal. Pidev muutuja sisaldab rohkem informatsiooni ja seetõttu on meil lootust saada parem fit. Erandiks on sellised pidevad x muutujad, mille mõju y-le on mittelineaarne (näiteks vanuse mõju suremusele). Siin on vahest mõistlik konverteerida pidev muutuja faktormuutujaks ja saada hinnang näiteks igale vanuseklassile eraldi.

Additiivne mudel eeldab, et emaste ja isaste tõusud on võrdsed, mistõttu need fititakse sama beta koefitsiendiga, mis tähendab, et x2 mõju pidelvale prediktorile x1 on, et me saame mudeli ennustusena faktori n tasemele vastavad n paralleelset sirget, millest igaüks näitab pideva x1 seost pideva y-ga erinevatel x2 tasemetel. 0/1 kodeeringus regressorite interceptid annavad nende paralleelsete sirgete vahelised kaugused üldise-intercepti poolt antud faktori taseme ennustusest.

7.6 mitmese regressiooni üldised printsiibid

  1. võta sisse kõik teaduslikku huvi pakkuvad muutujad ja viska välja muutujad, mille kohta sul pole põhust arvata, et nad võiksid y väärtusi mõjutada.

  2. kontrolli, ega muutujate vahel ei esine väga tugevaid korrelatsioone (kollineaarsus). Kui jah, siis kombineeri kollineaarsed muutujad üheks või transformeeri neid või viska mõni muutuja välja.

  3. muutujad, mis ei varieeru, ei oma ka regressioonis mõju.

  4. tugeva mõjuga muutujate puhul võib olla vajalik sisse tuua nende muutujate interkatsioond (vt ptk …).

  5. muutujad, mida sa reaalselt mõõtsid, ei pruugi olla need muutujad, mis mudelisse lähevad – näiteks arvuta kehamassiindeks mõõdetud muutujate põhjal.

  6. kui pidevad prediktorid transformeerida log skaalasse, siis on lineaarsesse mudelisse pandud efektid multiplikatiivsed, mitte aditiivsed.