• Keine Ergebnisse gefunden

Simulatsioon vähemalt 50% info olemasolu korral

Esimese katse puhul püüti imputeerida andmeid erinevate meetoditega samadele andmetele, st üks kord oli läbi viidud 50% andmete allesjätmine ja peale seda imputeeritud 100 korda andmeid (vt Lisa 10.d). Ühe simulatsiooni sammuna oli arvesse võetud ka eelmise imputeerimise tulemusi – seega viidi läbi kokku 100 simulatsiooni.

Joonis 9. Meetodite võrdlus simuleerimisel (50%) - samad algandmed (vt Lisa 10.d).

Vaadates joonist 9 on võimalik näha, et lähima naabri meetod (knn) annab jällegi igal simulatsiooni sammul sama tulemuse, kuna igal sammul omistatakse puudu-vatele väärtustele samu vanuseid (vt ptk 1.6). Käesoleva karpdiagrammi põhjal saab väita, et kõige täpsemaid imputeerimise tulemusi annab üldine juhuslik Hot-Deck omistus (hot), mille korral vanuste keskmiste mediaan ja kvartiilid on kõige

lähemal tegelikule keskmisele vanusele (märgitud punase joonega). Grupipõhine juhuslik Hot-Deck omistus kombineerituna lähima naabri meetodiga (hot&knn) annab antud juhul väga ebatäpseid tulemusi. Kahjuks polnud vaadeldava joonise põhjal võimalik mudelite headuse osas otsuseid langetada, kuna puudus ka see-kord hea ülevaade lähima naabri meetodi töökindluses.

Teise katse puhul püüti imputeerida andmeid igal sammul erinevatele algandme-tele, st igal imputeerimise katsel oli kustutatud ligikaudu 50% andmeid ja peale seda imputeeriti andmeid erinevate meetoditega (vt Lisa 10.e). Ühe simulatsiooni sammuna oli ka siin arvesse võetud esimese imputeerimise tulemusi – järelikult viidi läbi kokku 100 simulatsiooni. Vaadeldav protsess tehti taaskord läbi selleks, et lähemalt uurida lähima naabri meetodi headust.

Jooniselt 10 on võimalik näha, et lähima naabri meetod (knn) on simuleerimisel andnud kõige täpsema vanuste keskmiste mediaani, sest see statistik on kõige lähemal tegelikule keskmisele (joonisel tähistatud punase joonega). Paremuselt järgmise tulemuse on mediaani puhul andnud üldine Hot-Deck meetod ja kõige halvemaid tulemusi grupipõhine juhuslikHot-Deckomistus kombineerituna lähi-ma naabri meetodiga (hot&knn). Veel tasub lähi-mainida, et üldiseHot-Deckmeetodi korral on keskmiste kvartiilid tegelikule vanuste keskmisele väärtusele lähemal kui lähima naabri meetodi korral. Selle põhjal otsustati, et lähima naabri meetod annab ebastabiilsemaid tulemusi ja mõttekam oleks ka siin rakendada just üldist juhuslikkuHot-Deckomistust.

KOKKUVÕTE

Eesti tervishoiuteenuste osutajad esitavad ravijuhtude kohta dokumentatsiooni mit-messe erinevasse süsteemi. On otsustatud statistika tegemisel üle minna ühele andmeesitussüsteemile, milleks on tervise infosüsteem, kuid vaadeldavasse and-mebaasi saadetakse kahjuks liiga puudulikke andmeid. Kõige põhjalikumalt esita-takse teenuseosutajate poolt dokumentatsiooni Eesti Haigekassale, sest saadetud andmete põhjal makstakse neile institutsiooni poolt raha. Seetõttu on otsustatud antud analüüsis kasutada just viimasena mainitud andmebaasi andmeid.

Töö eesmärgiks oli Haigekassa andmebaasi andmete täiustamine kasutades lisa-informatsioonina tervise infosüsteemi andmebaasi esitatud andmeid. Töö põhiline probleem seisnes selles, et Haigekassa andmete põhjal pole kahjuks võimalik teha täielikku demograafilist statistikat, kuna ravikindlustuseta patsientide raviarvetel pole märgitud ravitava inimese vanust.

Analüüsis kasutatavale andmebaasi ravijuhtude dokumentidele patsiendi vanuse leidmiseks otsustati ühendada omavahel Haigekassale ja tervise infosüsteemi esi-tatud andmed. Ülesannet raskendas asjaolu, et kahe andmestiku piires oli ühele ja samale patsiendile genereeritud erinev ID-kood, mistõttu vaadeldavat tunnust ei saanud ühendamisel kasutada. Tervise Arengu Instituudi (TAI) analüütikute mees-konna poolt võeti vastu otsus kasutada andmete ühendamiseks teisi andmestikes leiduvaid tunnuseid. Protsessi käigus avastati, et tervishoiuteenuste osutajad esi-tavad mõlemasse andmebaasi ühe ja sama ravijuhu andmeid erinevalt. Selleks, et ühendamist siiski läbi viia, valiti TAI analüütikute eksperthinnangu põhjal väl-ja 187 erinevat ühendamisel kaasatavate tunnuse kombinatsiooni ja reeglit. Kui andmetes esines duplikaate ehk ühendamiseks liiga sarnaseid ravijuhte, siis käes-olevas analüüsis võeti TAI analüütikute poolt vastu otsus selliseid vaatlusi mitte ühendada. Ühendamise protsessis suudeti leida Haigekassa andmebaasis5633-le ravijuhu patsiendile vanus. Patsiendi vanuseta jäi3515ravijuhu raviarvet.

Nendele andmetele, millele kahe andmebaasi ühendamise protsessis patsiendi va-nust ei suudetud leida, otsustati vanused olemasolevate andmete põhjal imputeeri-da. Selleks kasutati kolme erinevat viisi: üldine juhuslikHot-Deckmeetod, lähima naabri meetod ja doonorgrupipõhine juhuslik Hot-Deck omistus kombineerituna lähima naabri meetodiga. Viimasena mainitud meetodi korral rakendati lähima naabri meetodit ainult nende vaatluste korral, mis sattusid sellistesse

doonorgrup-ge vähem puuduvaid väärtuseid ja iga järgneva tunnuse imputeerimisel kasutati eelmise imputeerimise tulemusi.

Kahjuks polnud vaadeldavate meetodite paremust võimalik peale imputeerimist kontrollida. Seetõttu otsustati läbi viia kaks katset, kus esimesel juhul olemasole-vate andmete hulgast jäeti alles70%ja teisel juhul50%tunnusevanusväärtustest.

Puuduolevatele andmetele viidi algselt vaadeldavate meetoditega läbi üks impu-teerimine. Seejärel otsustati mõlemal juhul läbi viia kaks erinevat simulatsiooni, kus esimesel juhul imputeeriti andmeid igal simulatsiooni sammul samadele and-metele ja teisel juhul viidi läbi70%või50%andmete selekteerimine iga simulat-siooni sammu alguses. Esimese variandi puhul ei olnud kahjuks võimalik uurida lähima naabri meetodi paremust. Küll aga teise variandi põhjal saadi teada, et kõige stabiilsemaid tulemusi vanuste imputeerimisel annab üldine juhuslik Hot-Deck meetod. Seetõttu otsustati ka käesolevas töös rakendada praktikas just selle meetodiga imputeeritud andmeid.

Edaspidi on Tervise Arengu Instituudil plaanis teha sarnane analüüs, kuid tahetak-se Haigekassast ja tervitahetak-se infosüsteemist taotleda tahetak-sellitahetak-seid andmeid, kus mitme andmestiku piires oleks patsientidele genereeritud ID-koodid ühesuguselt. Järg-mises analüüsis soovitakse ühendada omavahel veel ka andmestikes esinevaid duplikaate, mis antud töös jäi ekspertide otsuse tõttu tegemata.

Viited

[1] Andridge, R. R., Little , R. J. A. (2010). A Review of Hot Deck Imputa-tion for Survey Non-response. Int Stat Rev. 2010 aprill, 78(1), 40–64. doi:

10.1111/j.1751-5823.2010.00103.x

[2] Bhaskaran, K., Smeeth, L. (2014). What is the difference between missing completely at random and missing at random? Int J Epidemiol. 2014 Aug;

43(4): 1336–1339. doi: 10.1093/ije/dyu080

[3] Bogovsi, P. (1996). RHK-10: Rahvusvaheline haiguste ja nendega seotud terviseprobleemide statistiline klassifikatsioon. Tallinn: Tallinna Raamatu-trükikoda.

[4] Eesti Keele Sihtasutus:Eesti õigekeelsussõnaraamat ÕS 2013(2013). Kasu-tatud 20.02.2018. http://www.eki.ee/dict/qs/

[5] Kirpu, V., Eigo, N. (2018). Andmekadu ja vead ning nende-ga kaasnevate takistuste lahendamine. Kasutatud 10.04.2018.

http://www.tai.ee/images/Andmekadu_artikkel.pdf

[6] Kowarik, A., Templ , M. (2016). Imputation with the R Package VIM. Jour-nal of Statistical Software.2016 oktoober, 74(7). doi: 10.18637/jss.v074.i07 [7] Lepik, N., Traat, I. (2016). Tõenäosuslik valikuuring I . Loengukonspekt.

Tartu Ülikool, matemaatilise statistika instituut. Kasutatud 08.02.2018.

https://courses.ms.ut.ee/MTMS.01.003/2016_fall/uploads/Main/loengud 2016.pdf

[8] Prostakova, J. (2007). Mittevastamine ja selle kompenseerimine. Bakalau-reusetöö. Tartu Ülikool, matemaatilise statistika instituut.

[9] Toompere, K. (2009).Imputeerimis- ja kaalumismeetodite mõju hinnangute nihkele.Magistritöö. Tartu Ülikool, matemaatilise statistika instituut.

LISAD

S30–S39 Kõhu, selja alaosa, lülisamba nimmeosa ja vaagna vi-gastused

Lisa 2. Vigastuste välispõhjuse koodide tähendused RHK-10

4 Inimese ja muude faktorite poolt põhjustatud vigastuste välispõhjused

X60–X84 Tahtlik enesekahjustus

X85–Y09 Rünne

Y10–Y34 Ebaselge tahtlusega sündmus

Y35–Y36 Seaduslik sekkumine ja sõjategevus

Y40–Y59 Ravimisel ebasoodsat toimet avaldavad rohud, ra-vimid ja bioloogilised ained

Y40–Y84 Kirurgilise või muu meditsiiniabi tüsistused

Y60–Y69 Äpardused kirurgilise või muu meditsiiniabi kor-ral

Y70–Y82 Diagnoosimisel ja ravimisel kasutatud meditsiini-liste seadistega seotud äpardused

Y83–Y84 Kirurgilised või muud meditsiinilised menetlused patsiendi ebaloomuliku reaktsiooni või hilise-ma tüsistuse põhjusena menetluseaegset äpardust mainimata

Y85–Y89 Haigestumise ja surma välispõhjuste toime hilis-nähud

Y90–Y98 Haigestumise ja surma mujal klassifitseeritud põhjustega seotud lisategurid

Lisa 3. Tervise infosüsteemi ja Haigekassa andmete eripärad.

Lisa 3.a. Haigekassa andmete eripärad.

Lisa 3.b. Tervise infosüsteemi (Digilugu) andmete eripärad.

Lisa 4. Ühendamise kombinatsioonid.

9 0 lopp(vanusega) 61

19 0 ravikindl,lopp(vanusega) 0

29 0 valtimatu,mk(vanusega) 933

33 0 algus,lopp(max vahe 30 päeva)(vanusega) 3

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

39 0 lopp,mk(vanusega) 0

49 0 ravikindl,valtimatu,mk(vanusega) 26

59 0 ravikindl,lopp,mk(vanusega) 0

69 0 valtimatu,algus,tuup(vanusega) 1

79 0 algus,lopp,tuup(vanusega) 11

89 0 ravikindl,valtimatu,lopp,tuup(vanusega) 0

99 0 algus,lopp,mk,tuup(vanusega) 0

109 0 pohidgn3 esimest sümbolit;vanuspuudub 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

110 0 valispohjus3 esimest sümbolit(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

111 0 valispohjus3 esimest sümbolit;vanuspuudub 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

112 0 pohidgnjavalispohjus3 esimest sümbolit(vanusega) 2

113 0 pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

114 0 valtimatu,pohidgn3 esimest sümbolit(vanusega) 357

2 Välispõhjuse koodi 5 esimest sümbolit 50

115 0 valtimatu,pohidgn3 esimest sümbolit;vanuspuudub 25

2 Välispõhjuse koodi 5 esimest sümbolit 2

116 0 valtimatu,valispohjus3 esimest sümbolit(vanusega) 2

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

117 0 valtimatu,valispohjus3 esimest sümbolit;vanuspuudub 3

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

118 0 valtimatu,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 127

119 0 valtimatu,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

120 0 algus,pohidgn3 esimest sümbolit(vanusega) 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

121 0 algus,pohidgn3 esimest sümbolit;vanuspuudub 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

122 0 lopp,pohidgn3 esimest sümbolit(vanusega) 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

123 0 lopp,pohidgn3 esimest sümbolit;vanuspuudub 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

124 0 algus,lopp,pohidgn3 esimest sümbolit(vanusega) 0

2 Välispõhjuse koodi 5 esimest sümbolit 1

125 0 algus,lopp,pohidgn3 esimest sümbolit;vanuspuudub 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

126 0 algus,valispohjus3 esimest sümbolit(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

127 0 algus,valispohjus3 esimest sümbolit;vanuspuudub 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

128 0 lopp,valispohjus3 esimest sümbolit(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

129 0 lopp,valispohjus3 esimest sümbolit;vanuspuudub 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

130 0 algus,lopp,valispohjus3 esimest sümbolit(vanusega) 1

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

131 0 algus,lopp,valispohjus3 esimest sümbolit;vanuspuudub 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

132 0 algus,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 1

133 0 algus,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

134 0 lopp,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 0

135 0 lopp,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

136 0 algus,lopp,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 1

137 0 algus,lopp,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

138 0 valtimatu,algus,pohidgn3 esimest sümbolit(vanusega) 4

2 Välispõhjuse koodi 5 esimest sümbolit 0

139 0 valtimatu,algus,pohidgn3 esimest sümbolit;vanuspuudub 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

0 valtimatu,lopp,pohidgn3 esimest sümbolit(vanusega) 28

142 0 valtimatu,algus,lopp,pohidgn3 esimest sümbolit(vanusega) 33

2 Välispõhjuse koodi 5 esimest sümbolit 8

143 0 valtimatu,algus,lopp,pohidgn3 esimest sümbolit;vanuspuudub 2

2 Välispõhjuse koodi 5 esimest sümbolit 0

144 0 valtimatu,algus,valispohjus3 esimest sümbolit(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

145 0 valtimatu,algus,valispohjus3 esimest sümbolit;vanuspuudub 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

146 0 valtimatu,lopp,valispohjus3 esimest sümbolit(vanusega) 30

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

147 0 valtimatu,lopp,valispohjus3 esimest sümbolit;vanuspuudub 4

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

148 0 valtimatu,algus,lopp,valispohjus3 esimest sümbolit(vanusega) 50

1 Põhidiagnoosi koodi 5 esimest sümbolit 1

149 0 valtimatu,algus,lopp,valispohjus3 esimest sümbolit;vanuspuudub 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

150 0 valtimatu,algus,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 1

151 0 valtimatu,algus,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

152 0 valtimatu,lopp,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 4

153 0 valtimatu,lopp,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

154 0 valtimatu,algus,lopp,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 35

155 0 valtimatu,algus,lopp,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 1

156 0 vanus±1,algus(vanusega) 0

158 0 vanus±1,algus,pohidgn3 esimest sümbolit(vanusega) 25

2 Välispõhjuse koodi 5 esimest sümbolit 0

159 0 vanus±1,algus,lopp,pohidgn3 esimest sümbolit(vanusega) 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

160 0 vanus±1,algus,valispohjus3 esimest sümbolit(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

161 0 vanus±1,algus,lopp,valispohjus3 esimest sümbolit(vanusega) 1

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

162 0 vanus±1,algus,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 0

163 0 vanus±1,algus,lopp,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 0

164 0 vanus±1,valtimatu,algus(vanusega) 484

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

2 Välispõhjuse koodi 5 esimest sümbolit 2

3 Mõlema koodi 5 esimest sümbolit 0

165 0 vanus±1,valtimatu,algus,lopp(vanusega) 7

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

3 Mõlema koodi 5 esimest sümbolit 0

166 0 vanus±1,valtimatu,algus,pohidgn3 esimest sümbolit(vanusega) 4

2 Välispõhjuse koodi 5 esimest sümbolit 0

167 0 vanus±1,valtimatu,algus,lopp,pohidgn3 esimest sümbolit(vanusega) 237

2 Välispõhjuse koodi 5 esimest sümbolit 9

168 0 vanus±1,valtimatu,algus,valispohjus3 esimest sümbolit(vanusega) 3

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

169 0 vanus±1,valtimatu,algus,lopp,valispohjus3 esimest sümbolit(vanusega) 63

1 Põhidiagnoosi koodi 5 esimest sümbolit 18

170 0 vanus±1,valtimatu,algus,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 0

171 0 vanus±1,valtimatu,algus,lopp,pohidgnjavalispohjus3 esimest sümbolit (va-nusega)

9

172 0 mk,pohidgn3 esimest sümbolit(vanusega) 1

2 Välispõhjuse koodi 5 esimest sümbolit 0

173 0 mk,pohidgn3 esimest sümbolit;vanuspuudub 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

174 0 mk,valispohjus3 esimest sümbolit(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

175 0 mk,valispohjus3 esimest sümbolit;vanuspuudub 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

176 0 mk,pohidgnjavalispohjus3 esimest sümbolit(vanusega) 0

177 0 mk,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 0

178 0 valtimatu,mk,pohidgn3 esimest sümbolit(vanusega) 4

2 Välispõhjuse koodi 5 esimest sümbolit 1

179 0 valtimatu,mk,pohidgn3 esimest sümbolit;vanuspuudub 0

2 Välispõhjuse koodi 5 esimest sümbolit 1

180 0 valtimatu,mk,valispohjus3 esimest sümbolit(vanusega) 14

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

183 0 valtimatu,mk,pohidgnjavalispohjus3 esimest sümbolit;vanuspuudub 1

184 0 vanus±1,mk,algus(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

3 Mõlema koodi 5 esimest sümbolit 0

185 0 vanus±1,mk,algus,lopp(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

3 Mõlema koodi 5 esimest sümbolit 0

186 0 vanus±1,valtimatu,mk,algus(vanusega) 8

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

3 Mõlema koodi 5 esimest sümbolit 0

187 0 vanus±1,valtimatu,mk,algus,lopp(vanusega) 0

1 Põhidiagnoosi koodi 5 esimest sümbolit 0

2 Välispõhjuse koodi 5 esimest sümbolit 0

3 Mõlema koodi 5 esimest sümbolit 0

Lisa 5. Uute tunnuste loomine imputeerimiseks (rakendustark-vara R).

l i b r a r y( r e a d s t a t a 1 3 )

d a t <− r e a d. d t a 1 3 ( "C :/ /KINDLUSTAMATA . d t a " )

# Loome a l g u s k u u f a k t o r t u n n u s e :

d a t$a l g u s_kuu <− f o r m a t( d a t$a l g u s , "%m" )

d a t$a l g u s_kuu =f a c t o r(a s.numeric( d a t$a l g u s_kuu ) )

# Loome summaryhma f a k t o r t u n n u s e : d a t$summa_ryhm <− c u t( d a t$summa ,

b r e a k s = c(−I n f , 1 0 0 , 2 0 0 , I n f ) ,

l a b e l s=c( " . . .−1 0 0 " , " 101−200 " , " 2 0 1−. . . " ) ) t a b l e ( d a t$summa_ryhm )

d a t$kp_v a h e_ryhm <− c u t(a s.numeric( d a t$l o p p−d a t$a l g u s ) , b r e a k s = c(−I n f , 0 , 5 , 1 0 , I n f ) ,

l a b e l s=c( " <=0 " , " 0−5 " , " 6−10 " , " >10 " ) ) t a b l e ( d a t$kp_v a h e_ryhm )

# Loome p 6 h i d i a g n o o s i d e k o o d i d e r y h m a d e f a k t o r t u n n u s e : d a t$p o h i d g n_g r u p p <− 4

d a t$p o h i d g n_g r u p p [s u b s t r( d a t$p o h i d g n , 0 , 1 ) == " S " &

a s.numeric(s u b s t r( d a t$p o h i d g n , 2 , 3 ) ) < 4 0 ] <− 1 d a t$p o h i d g n_g r u p p [s u b s t r( d a t$p o h i d g n , 0 , 1 ) == " S " &

a s.numeric(s u b s t r( d a t$p o h i d g n , 2 , 3 ) ) >= 40 &

a s.numeric(s u b s t r( d a t$p o h i d g n , 2 , 3 ) ) < 7 0 ] <− 2 d a t$p o h i d g n_g r u p p [s u b s t r( d a t$p o h i d g n , 0 , 1 ) == " S " &

a s.numeric(s u b s t r( d a t$p o h i d g n , 2 , 3 ) ) >= 7 0 ] <− 3 d a t$p o h i d g n_g r u p p =f a c t o r(a s.numeric( d a t$p o h i d g n_g r u p p ) ) t a b l e ( d a t$p o h i d g n_g r u p p )

# Loome v 2 l i s p 6 h j u s t e k o o d i d e r y h m a d e f a k t o r t u n n u s e : d a t$v a l i s p o h j u s_g r u p p <− NA

d a t$v a l i s p o h j u s_g r u p p [s u b s t r( d a t$v a l i s p o h j u s , 0 , 1 ) == "V" ] <− 1

a s.numeric(s u b s t r( d a t$v a l i s p o h j u s , 2 , 3 ) ) < 6 0 ] <− 3 d a t$v a l i s p o h j u s_g r u p p [s u b s t r( d a t$v a l i s p o h j u s , 0 , 1 ) == "X" &

a s.numeric(s u b s t r( d a t$v a l i s p o h j u s , 2 , 3 ) ) >= 6 0 ] <− 4 d a t$v a l i s p o h j u s_g r u p p =

f a c t o r(a s.numeric( d a t$v a l i s p o h j u s_g r u p p ) ) t a b l e ( d a t$v a l i s p o h j u s_g r u p p )

# Loome p e r e a r s t i v i s i i t e j a h a i g l a v i s i i t e

# e r i s t a v a f a k t o r t u n n u s e : d a t$p e r e a r s t <− 0

d a t$p e r e a r s t [s u b s t r( d a t$t t o k o o d , 0 , 1 ) == " 1 " ] <− 1 t a b l e ( d a t$p e r e a r s t )

# Muudame muud t u n n u s e d ka f a k t o r t u n n u s t e k s : d a t$t u u p =f a c t o r( d a t$t u u p )

t a b l e ( d a t$t u u p )

d a t$s u g u =f a c t o r( d a t$s u g u ) t a b l e ( d a t$s u g u )

Lisa 6. Imputeeritavate tunnuste eelnev analüüs (rakendustark-vara R).

Lisa 6.a. Tunnusevalispohjus_gruppseos teiste tunnustega.

sum( i s .na( d a t$v a l i s p o h j u s_g r u p p ) ) # 9 p u u d u v a t t u n n u s

#−−−−−−−−−−−−−−−−−−−−−−−

# v a l i s p o h j u s_g r u p p j a t u u p :

t b l <− t a b l e ( d a t$v a l i s p o h j u s_g r u p p , d a t$t u u p ) ( t b l <− t b l [c o m p l e t e . c a s e s ( t b l ) , ] )

# 1 2

# 1 381 89

# 2 6207 425

# 3 594 80

# 4 1228 135

c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 1 1 9 . 9 4 , d f = 3 , p−v a l u e < 2 . 2 e−16

# v a l i s p o h j u s_g r u p p j a kp_v a h e_ryhm :

t b l <− t a b l e ( d a t$v a l i s p o h j u s_g r u p p , d a t$kp_v a h e_ryhm ) ( t b l <− t b l [c o m p l e t e . c a s e s ( t b l ) , ] )

# <=0 0−5 6−10 >10

# 1 371 57 25 17

# 2 6029 418 104 81

# 3 576 58 15 25

# 4 1178 136 25 24

c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 1 1 9 . 4 5 , d f = 9 , p−v a l u e < 2 . 2 e−16

# v a l i s p o h j u s_g r u p p j a summa_ryhm :

t b l <− t a b l e ( d a t$v a l i s p o h j u s_g r u p p , d a t$summa_ryhm )

# 2 5520 503 609

# 4 747 126 45 445 c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 1 7 9 1 . 5 , d f = 9 , p−v a l u e < 2 . 2 e−16 Lisa 6.b. Tunnusesuguseos teiste tunnustega.

sum( i s .na( d a t$s u g u ) ) # 37 p u u d u v a t t u n n u s t

#−−−−−−−−−−−−−−−−−−−−−−−

# s u g u j a t u u p :

t b l <− t a b l e ( d a t$sugu , d a t$t u u p ) ( t b l <− t b l [c o m p l e t e . c a s e s ( t b l ) , ] )

# 1 2

# 1 6995 613

# 2 1393 110

c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 0 . 8 3 8 8 3 , d f = 1 , p−v a l u e = 0 . 3 5 9 7

# s u g u j a kp_v a h e_ryhm :

t b l <− t a b l e ( d a t$sugu , d a t$kp_v a h e_ryhm ) ( t b l <− t b l [c o m p l e t e . c a s e s ( t b l ) , ] )

# <=0 0−5 6−10 >10

# 1 6788 545 146 129

# 2 1343 121 22 17

c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 5 . 2 6 0 3 , d f = 3 , p−v a l u e = 0 . 1 5 3 7

# s u g u j a summa_ryhm :

t b l <− t a b l e ( d a t$sugu , d a t$summa_ryhm ) ( t b l <− t b l [c o m p l e t e . c a s e s ( t b l ) , ] )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# 1 406 5504 552 1139

# 2 61 1101 118 222

c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 4 . 7 7 9 8 , d f = 3 , p−v a l u e = 0 . 1 8 8 7 Lisa 6.c. Tunnusevanusseos teiste tunnustega.

sum( i s .na( d a t$v a n u s ) ) # 3515 p u u d u v a t t u n n u s t

#−−−−−−−−−−−−−−−−−−−−−−−

# T−t e s t i d :

# v a n u s j a t u u p :

t b l <− c b i n d( d a t$v a n u s , d a t$t u u p ) t b l <− t b l [c o m p l e t e. c a s e s ( t b l ) , ] c o l n a m e s( t b l ) <− c( " v a n u s " , " t u u p " )

t b l <− a s. d a t a.frame( t b l )

t. t e s t ( t b l$v a n u s [ t b l$t u u p = = 1 ] , t b l$v a n u s [ t b l$t u u p = = 2 ] )

# Welch Two S a m p l e t−t e s t

# d a t a : t b l$v a n u s [ t b l$t u u p == 1 ] and

# t b l$v a n u s [ t b l$t u u p == 2 ]

# t = −8 . 5 0 1 1 , d f = 8 2 8 . 1 , p−v a l u e < 2 . 2 e−16

# a l t e r n a t i v e h y p o t h e s i s :

# t r u e d i f f e r e n c e i n means i s n o t e q u a l t o 0

# 95 p e r c e n t c o n f i d e n c e i n t e r v a l :

# −5.617629 −3.510119

# s a m p l e e s t i m a t e s :

# mean o f x mean o f y

# 3 6 . 3 3 6 5 7 4 0 . 9 0 0 4 4

# v a n u s j a p e r e a r s t :

t b l <− c b i n d( d a t$v a n u s , d a t$p e r e a r s t ) t b l <− t b l [c o m p l e t e. c a s e s ( t b l ) , ]

# Welch Two S a m p l e t−t e s t

# v a n u s r y h m j a kp_v a h e_ryhm :

# d a t a : t b l

# X−s q u a r e d = 6 7 . 9 2 2 , d f = 3 3 , p−v a l u e = 0 . 0 0 0 3 2 6 7

# v a n u s r y h m j a p o h i d g n_g r u p p :

t b l <− t a b l e ( d a t$vanusryhm , d a t$p o h i d g n_g r u p p ) ( t b l <− t b l [c o m p l e t e . c a s e s ( t b l ) , ] )

# 1 2 3 4

# 0−20 63 90 64 36

# 21−40 985 904 742 713

# 41−60 557 450 435 466

# 6 1−. . . 43 39 21 25

c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 3 3 . 9 3 , d f = 9 , p−v a l u e = 9 . 1 9 e−05

# v a n u s j a v a l i s p o h j u s_g r u p p :

t b l <− t a b l e ( d a t$vanusryhm , d a t$v a l i s p o h j u s_g r u p p ) ( t b l <− t b l [c o m p l e t e . c a s e s ( t b l ) , ] )

# 1 2 3 4

# 0−20 26 176 24 27

# 21−40 176 2361 211 592

# 41−60 102 1366 165 275

# 6 1−. . . 4 99 11 14

c h i s q . t e s t ( t b l )

# P e a r s o n ’ s Chi−s q u a r e d t e s t

# d a t a : t b l

# X−s q u a r e d = 5 4 . 6 9 , d f = 9 , p−v a l u e = 1 . 3 9 5 e−08 d a t$v a n u s r y h m <− NULL

Lisa 7. Imputeerimine (rakendustarkvara R).

#−−−−−−−−−−−−−−−−−−−−−−−

h o t_knn$p u u d u v a i d <− NULL

p a s t e( summa_ryhm , kp_v a h e_ryhm , p o h i d g n_g r u p p ,

Lisa 8. Tulemuste analüüs (rakendustarkvara R).

( 0 . 0 1∗l e n g t h( v 6 r d l u s e k s$s u g u [ v 6 r d l u s e k s$m e e t o d ==

min( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " h o t−d e c k&knn " ] ) max( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " h o t−d e c k&knn " ] ) median( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " h o t−d e c k&knn " ] ) round(mean( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " a l g n e " ] ) , 3 ) round(sd( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " a l g n e " ] ) , 3 ) min( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " a l g n e " ] )

max( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " a l g n e " ] ) median( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d == " a l g n e " ] )

b o x p l o t( v a n u s~meetod ,d a t a= v 6 r d l u s e k s ,

main = " M e e t o d i t e v o r d l u s v a n u s e i m p u t e e r i m i s e l " , x l a b = " Meetod " , y l a b = " Vanus " )

v 6 r d l u s e k s <− r b i n d(s u b s e t( h o t_y l d , v a n u s_imp==TRUE ) , s u b s e t( knn , v a n u s_imp==TRUE ) ,

s u b s e t( h o t_knn , v a n u s_imp==TRUE ) ) b o x p l o t( v a n u s~meetod ,d a t a= v 6 r d l u s e k s ,

main = " M e e t o d i t e v o r d l u s v a n u s e i m p u t e e r i m i s e l

− a i n u l t i m p u t e e r i t u d t u l e m u s e d " , x l a b = " Meetod " , y l a b = " Vanus " )

Lisa 9. 70% olemasolevate andmete täiustamine

knn_kolmkymmend <− kNN (d a t a _kolmkymmend , v a r i a b l e=c( " v a n u s " ) ,

d i s t_ var = c( " summa_ryhm " , " a l g u s_kuu " ,

" s u g u " , " kp_v a h e_ryhm " ,

" v a l i s p o h j u s_g r u p p " ) , k = 1 ) h o t_knn_kolmkymmend$puuduv <− NULL

h o t_knn_kolmkymmend$v a n u s_i m p u t e e r i t u d <− NULL

round(sd( v 6 r d l u s e k s$v a n u s [ v 6 r d l u s e k s$m e e t o d ==

round(mean( h o t_knn_kolm_v 6 r d l u s$v a n u s e v a h e ) , 3 )

Lisa 9.d. Imputeerimise simulatsioon ja selle analüüs (ühtedele ja samadele andmetele imputeerimine).

knn_kolmkymmend_sim <− kNN (d a t a _kolmkymmend , v a r i a b l e=c( " v a n u s " ) ,

d a t a <− t r a n s f o r m(data , g r o u p = a s.numeric(f a c t o r(

knn_v e c_k e s k m i s e d , h o t_knn_v e c_k e s k m i s e d )

Lisa 9.e. Imputeerimise simulatsioon ja selle analüüs (erinevatele andmetele imputeerimine).

#−−−−−−−−−−−−−−−−−−−−−−−

# L2HIMA NAABRI MEETOD:

knn_kolmkymmend_sim <− kNN (d a t a _kolmkymmend , v a r i a b l e=c( " v a n u s " ) ,

" kp_v a h e_ryhm " , " p o h i d g n_g r u p p " , " t u u p " ,

Lisa 10. 50% olemasolevate andmete täiustamine (rakendustark-vara R).

Lisa 10.a. Puuduvate andmete tekitamine.

# Votame p r o o v i−i m p u t e e r i m i s e a l l a a i n u l t t a i e l i k u d andmed : d a t a _p r o o v <− s u b s e t( d a t , ! i s .na( v a l i s p o h j u s_g r u p p ) )

d a t a _p r o o v <− s u b s e t(d a t a _p r o o v , ! i s .na( s u g u ) ) d a t a _p r o o v <− s u b s e t(d a t a _p r o o v , ! i s .na( v a n u s ) ) d a t a _p r o o v$v a n u s_imp <− NULL

d a t a _p r o o v$s u g u_imp <− NULL

d a t a _p r o o v$v a l i s p o h j u s_g r u p p_imp <− NULL d a t a _p r o o v$m e e t o d <− NULL

d a t a _p r o o v$ID <− s e q. i n t (nrow(d a t a _p r o o v ) )

# K u i o l e m a s on v 2 h e m a l t 50% a n d m e i d :

k u s t u t a t a v a i d_v i i s k y m m e n d <− f l o o r (nrow(d a t a _p r o o v )∗0 . 5 ) k u s t u t a t a v a d_ r e a d _v i i s k y m m e n d <− sample(d a t a _p r o o v$ID ,

k u s t u t a t a v a i d_v i i s k y m m e n d ) d a t a _v i i s k y m m e n d <− d a t a _p r o o v

d a t a _v i i s k y m m e n d$v a n u s [ i s . e l e m e n t (d a t a _v i i s k y m m e n d$ID , k u s t u t a t a v a d_ r e a d _v i i s k y m m e n d ) ]<−NA

sum(! i s .na(d a t a _v i i s k y m m e n d$v a n u s ) ) # on o l e m a s 2815 v 2 2 r t u s t Lisa 10.b. Puuduvate andmete imputeerimine.

# v a n u s i m p u t e e r i m i n e :

sum( i s .na(d a t a _v i i s k y m m e n d$v a n u s ) ) # on puudu 2814 v 2 2 r t u s t

#−−−−−−−−−−−−−−−−−−−−−−−

#−−−−−−−−−−−−−−−−−−−−−−−

# YLDINE HOT−DECK MEETOD:

h o t_v i i s k y m m e n d <− h o t d e c k (d a t a _viiskymmend , v a r i a b l e=c( " v a n u s " ) )

sum( i s .na( h o t_v i i s k y m m e n d$v a n u s ) ) # 0 p u u d u v a t t u n n u s t

#−−−−−−−−−−−−−−−−−−−−−−−

#−−−−−−−−−−−−−−−−−−−−−−−

# L2HIMA NAABRI MEETOD:

" s u g u " , " kp_v a h e_ryhm " ,

" kp_v a h e_ryhm " , " p o h i d g n_g r u p p " , " t u u p " ,

" h o t−d e c k&knn " ] ) , 3 )

h o t_knn_v i i s_v 6 r d l u s$v a n u s . x−h o t_knn_v i i s_v 6 r d l u s$v a n u s . y

Lisa 10.d. Imputeerimise simulatsioon ja selle analüüs (ühtedele ja samadele andmetele imputeerimine).

d a t a $puuduv [ i s .na(d a t a $v a n u s ) ] <− 1

v a h e p e a l n e_50 <− d a t a.frame( h o t_v e c_k e s k m i s e d , knn_v e c_k e s k m i s e d , h o t_knn_v e c_k e s k m i s e d )

k e s k m i s e d_h o t <− d a t a.frame( v a h e p e a l n e_50$h o t_v e c_k e s k m i s e d ) c o l n a m e s( k e s k m i s e d_h o t ) <− " k e s k m i n e "

k e s k m i s e d_h o t$m e e t o d <− " h o t "

k e s k m i s e d_knn <− d a t a.frame( v a h e p e a l n e_50$knn_v e c_k e s k m i s e d ) c o l n a m e s( k e s k m i s e d_knn ) <− " k e s k m i n e "

k e s k m i s e d_knn$m e e t o d <− " knn "

k e s k m i s e d_h o t_knn <− d a t a.frame(

v a h e p e a l n e_50$h o t_knn_v e c_k e s k m i s e d ) c o l n a m e s( k e s k m i s e d_h o t_knn ) <− " k e s k m i n e "

k e s k m i s e d_h o t_knn$m e e t o d <− " h o t&knn "

v 6 r d l u s e k s <− r b i n d( k e s k m i s e d_h o t , k e s k m i s e d_knn , k e s k m i s e d_h o t_knn )

b o x p l o t( k e s k m i n e~meetod ,d a t a= v 6 r d l u s e k s ,

main = " M e e t o d i t e v o r d l u s s i m u l e e r i m i s e l (50%) " , x l a b = " Meetod " , y l a b = " Keskmine " )

a b l i n e( h = mean(d a t a _p r o o v$v a n u s ) , c o l = " r e d " )

Lisa 10.e. Imputeerimise simulatsioon ja selle analüüs (erinevatele andmetele imputeerimine).

h o t_v e c_e r i n e v_k e s k m i s e d <− c(mean( h o t_v i i s k y m m e n d$v a n u s ) ) knn_v e c_e r i n e v_k e s k m i s e d <− c(mean( knn_v i i s k y m m e n d$v a n u s ) )

h o t_knn_v e c_e r i n e v_k e s k m i s e d <− c(mean( h o t_knn_v i i s k y m m e n d$v a n u s ) )

# V i i m e l 2 b i i m p u t e e r i m i s t 99 k o r d a v e e l : f o r ( i i n 1 : 9 9 ) {

# V i i m e l 2 b i k u s t u t a m i s e i g a l sammul :

k u s t u t a t a v a i d_v i i s k y m m e n d <− f l o o r (nrow(d a t a _p r o o v )∗0 . 5 ) k u s t u t a t a v a d_ r e a d _v i i s k y m m e n d <− sample(d a t a _p r o o v$ID ,

k u s t u t a t a v a i d_v i i s k y m m e n d ) d a t a _v i i s k y m m e n d <− d a t a _p r o o v

d a t a _v i i s k y m m e n d$v a n u s [ i s . e l e m e n t (d a t a _v i i s k y m m e n d$ID , k u s t u t a t a v a d_ r e a d _v i i s k y m m e n d ) ]<−NA

h o t_v e c_e r i n e v_k e s k m i s e d <− append( h o t_v e c_e r i n e v_k e s k m i s e d ,

d i s t_ var = c( " summa_ryhm " , " a l g u s_kuu " , " s u g u " ,

Lihtlitsents lõputöö reprodutseerimiseks ja lõputöö üldsusele kättesaadavaks tegemiseks

Mina, Viktoria Kirpu,

1. annan Tartu Ülikoolile tasuta loa (lihtlitsentsi) enda loodud teose

“Haigekassa kindlustamata patsientide vigastuste andmete imputeerimine”, mille juhendajad on Natalja Lepik ja Natalja Eigo,

1.1. reprodutseerimiseks säilitamise ja üldsusele kättesaadavaks tegemise eesmär-gil, sealhulgas digitaalarhiivi DSpace-is lisamise eesmärgil kuni autoriõiguse keh-tivuse tähtaja lõppemiseni; 1.2. üldsusele kättesaadavaks tegemiseks Tartu Üli-kooli veebikeskkonna kaudu, sealhulgas digitaalarhiivi DSpace’i kaudu kuni au-toriõiguse kehtivuse tähtaja lõppemiseni.

2. olen teadlik, et punktis 1 nimetatud õigused jäävad alles ka autorile.

3. kinnitan, et lihtlitsentsi andmisega ei rikuta teiste isikute intellektuaalomandi ega isikuandmete kaitse seadusest tulenevaid õigusi.

Tartus,08.05.2018