Logistilise
regressioonimudeli illustreerimine, variant 1
Logistiline
regressioonanalüüs on enim rakendatav binaarsete
(0-1-tüüpi) tunnuste modelleerimise meetod.
Uuritav tunnus e funktsioontunnus e sõltuv
muutuja (y) sellisel analüüsil mõõdab
mingi sündmuse toimumist (väärtus '1')
või mittetoimumist (väärtus '0')
ning argumenttunnus e sõltumatu muutuja (x)
kujutab enesest (pidevat) arvtunnust.
Kuigi
uuritava tunnuse väärtuste prognoosimiseks
on kasutatav ka lineaarne regressioonanalüüs
(võrrand on kujul y = a + bx),
ei garanteeri taoline avaldis prognooside jäämist
lubatavatesse piiridesse (vahemikku 0-st 1-ni). Sestap
on kasutusel mitmeid mittelineaarseid teisendusi,
millest levinuim on logit-teisendus.
Logistilise
regressiooni valem, prognoosimaks tunnuse y väärtusi
tunnuse x väärtuste kaudu, on kujul:
logit(y)
= a + bx,
kus
logit(y) = y / (1 - y).
Uuritava
sündmuse toimumise tõenäosus avaldub
siis kujul
y
= ea+bx / (1+ea+bx) = 1 / (1+e-a-bx).
Kuigi
taolise analüüsi teostamiseks ning tulemuste
illustreerimiseks Excelis otseselt vahendid
puuduvad, on vastavad ülesanded piisavate teadmiste
ja oskuste korral siiski lahendatavad.
Andmed.
Uuriti taimekahjurite surevust sõltuvalt taimemürgi
kontsentratsioonist. Näiteandmestik sisaldab
andmeid seitsmel erineval kontsentratsioonil läbi
viidud katsete tulemuste kohta (igal kontsentratsioonil
8 katset, kukku 56 katset). Uuritava tunnuse väärtus
'1' vastab kahjuri surmale ja väärtus '0'
kahjuri ellu jäämisele. Andmed võite
katsetamiseks alla laadida siit:
kahjur1.xls.
Ülesanne.
Konstrueerida diagramm illustreerimaks logistilise
regressiooni tulemusi - esitada algandmetele vastavad
punktid mittekattuvana ning joonistada logistilise
regressioonifunktsiooni graafik (argumenttunnuse väärtuste
piirkonnas pideva joonena ning sellest väljaspool
kriipsjoonena).
![](pildid/logit1_0.jpg)
Probleem.
Exceli punktdiagramm esitab samadele väärtustele
vastavad punktid ülestikku, tehes võimatuks
väärtuste mingis piirkonnas paiknemise hulga
visuaalse hindamise (üks väärtus näib
joonisel samaväärsena 10 väärtusega).
Teine probleem on see, et Excel alustab telgi
ja nende skaalat alati vähimast väärtusest
ega võimalda esitada joonisel telgede ulatusest
välja poole jäävaid väärtusi.
Lahendus.
- Muuta
samas punktis paiknevaid väärtuseid nii,
et nad paigutuksid joonisel kõrvuti;
- esitada
telgede skaala nii, et kõik punktid tõesti
joonisele ära mahuksid, aga seejärel keelata
Excelil algse telje ja selle väärtuste
kuvamine ning tõmmata selle asemele joon
ja kirjutada väärtused fiktiivse andmeseeria
alusel (mis visuaalselt moodustab graafiku telje).
Tööjuhend.
1)
Esimese etapina tuleb hinnata logistilise regressioonivõrrandi
parameetrid a ja b.
Seda võib teha mõne statistikaprogrammi
abil, lihtsamatel juhtudel mõne Interneti-lehe
abil
(näiteks http://statpages.org/logistic.html
või http://faculty.vassar.edu/lowry/logreg1.html)
või ka Excelis lisamooduli Solver
abil (vt näiteks http://archives.math.utk.edu/ICTCM/VOL13/C013/paper.html).
Selguse
mõttes võiks saadud hinnangud Exceli
töölehele ka kirja panna.
2) Logistilisele regressioonivõrrandile
vastava joone esitamiseks graafikul tuleb teha abitabel,
kus ühes veerus (või reas) paiknevad argumenttunnuse
väärtused, mida soovitakse joonisega illustreerida
(joone sujuvuse huvides peaksid need väärtused
olema järjestatud ja väikeste vahedega),
ning teises veerus (reas) neile vastavad logistilise
regressioonivõrrandiga
y
= ea+bx / (1+ea+bx) = 1 / (1+e-a-bx).
prognoositud
uuritava tunnuse väärtused:
![](pildid/logit1_3.jpg)
3)
Konstrueeritud abitabelis paiknevate väärtuste
alusel tuleb joonistada punktdiagramm, kusjuures soovides
esitada logistilise regressioonivõrrandi graafikut
argumendi väärtuste piirkonnas (10-70 mg)
pideva joonena ja väljaspool seda (näiteks
0-10 mg ja 70-80 mg) kriipsjoonena, tuleb diagrammile
kanda kolm erinevat andmeseeriat:
- esmalt
argumendi väärtuste piirkonnale vastavad
punktid (prognoosid) ning
- seejärel
eraldi argumendi väärtuste piirkonnast
väiksematele väärtustele vastavad
prognoosid ja suurematele väärtustele
vastavad prognoosid.
![](pildid/logit1_1.jpg)
Tulemus:
![](pildid/logit1_4.jpg)
Peale
joonisele kantud punktide sobivat tüüpi
joontega ühendamist (andmeseeriate kaupa) ja
punkte tähistanud sümbolite kaotamist, ruudujoonte
ja legendi kustutamist ning telgede ühikute kohendamist
peaks joonis välja nägema järgmine:
![](pildid/logit1_5.jpg)
4)
Järgnevalt tuleks joonisele lisada algandmetele
vastavad punktid.
Kui
teha seda efekti väärtustena vaid nulle
ja ühtesid sisaldava tabeli põhjal, on
tulemuseks suhteliselt ühtlaselt kahele horisontaalsele
joonele paigutuvad üksikud punktid, mis ei ole
eriti informatiivsed, illustreerimaks väärtuste
tegelikku paiknemist:
![](pildid/logit1_6.jpg)
4.1)
Lahenduseks on arvutada joonisel esitamiseks uued
mittekattuvad efektide väärtused ja teha
seda nii, et
- esimene
samale kontsentratsioonile vastav väärtus
0 (või 1) jääb paika,
- iga
järgmine on eelnevast aga mingi väikese
suuruse võrra väiksem (või suurem).
Excelis
on kirjeldatu teostamiseks lihtsaim variant
- sorteerida
andmetabel ära argumenttunnuse (antud näites
'kontsentratsioon') väärtuste ja seejärel
funktsioontunnuse ('efekt') väärtuste
järgi;
![](pildid/logit1_7.jpg)
-
arvutada uue tunnuse väärtused
funktsiooni IF abil:
- kontrollides
esmalt, kas parajasti täidetavas reas on
tegu sama kontsentratsiooniga ja sama tulemusega,
kui eelmises reas;
- kui
on, siis vähendades või suurendades
(vastavalt sellele, kas efekti väärtuseks
on 0 või 1) rida üleval pool paiknevat
efekti väärtust mingi väikese
suuruse (näiteks 0,015; 0,025 vmt) võrra,
- kui
ei ole, siis võttes mittekattuva efekti
väärtuseks algse efekti väärtuse.
![](pildid/logit1_8.jpg)
4.2)
Lisades joonisele uue andmeseeriana mittekattuvate
efektide veeru (x-telje väärtusteks on muidugi
esimeses veerus paiknevad katsetel rakendatud kontsentratsioonide
väärtused), on tulemuseks miskit alljärgnevat:
![](pildid/logit1_9.jpg)
Edasi tuleks vajadusel muuta y-telje ühikuid
nii, et kõik väärtused joonisele
ära mahuksid (vt kõrvalolevat joonist)
ning
kujundada
uue andmeseeria esitus sobivaks (kaotada ära
punkte ühendav joon ning asendada Exceli
poolt vaikimisi andmepunktide tähistamiseks kasutatav
sümbol väiksema ja sobivama sümboliga.
Tulemus:
![](pildid/logit1_11.jpg)
5) Saadud joonisel on veel mitmeid kujunduslikke
puudujääke.
Esmalt
võiks vertikaalne telg omada väärtusi
vaid 0-st 1-ni (sest vaid nendes piirides saab muutuda
kahjurite suremistõenäosus). Excel
seda aga ei võimalda, sest reaalselt paiknevad
andmed ju ka 0-st allpool ja 1-st üleval pool
ning piirates telje ulatuse 0-i ja 1-ga, jääb
enamus just graafikule lisatud punkte seal kuvamata.
Lahenduseks
on
- keelata
Excelil vertikaalse telje ja selle väärtuste
kuvamine,
![](pildid/logit1_12.jpg)
- sisestada
Exceli töölehele abitabel lisamaks
graafikule joont otspunktidega (x, y) = (0, 0) ja
(x, y) = (0, 1) ning punkte (näiteks) sammuga
0,2 (nende punktide alusel kujunevad fiktiivsele
y-teljele ühikud),
![](pildid/logit1_13.jpg)
- lisada
loodud abitabeli alusel joonisele uus andmeseeria
ning muuta selle kujundust (andmepunktide tähiseks
tumehall rist suurusega 3 ja jooneks tumehall peenike
pidev joon), täiendavalt tuleks lasta Excelil
lisada graafikule uue andmeseeria andmepunktide
väärtused (andmepunktidest vasakule poole).
![](pildid/logit1_14.jpg)
6) Joonisele võiks lisada ka veel horisontaalse
joone tõenäosuse 1 kohale - selleks võib
põhimõtteliselt lisada joonisele teised
koordinaatteljed ja "mängida" nendega,
aga lihtsam on kasutada sarnaselt vertikaalse telje
joonistamisele fiktiivset andmeseeriat.
![](pildid/logit1_15.jpg)
7)
Kui andmepunktid kipuvad x-teljel paiknevaid väärtuseid
varjama, võiks lasta Excelil need kirjutada
allapoole, ja x-telje märgenditeks kasutatavad
jooned võiks tõmmata teljega risti,
et oleks sarnane tähistus y-telje märgenditega
(kuigi see on rohkem maitse asi).
![](pildid/logit1_16.jpg)
No
ja kõige viimaks võiks telgedele lisada
ka nimed ja joonisele veel teaduslikuma väljanägemise
tarvis ka logistiline regressioonivõrrand (viimane
on Excel 2007-s ja 2010-s lisatav näiteks
tekstikastina). Valmis.
![](pildid/logit1_0.jpg)
|