-
Notifications
You must be signed in to change notification settings - Fork 0
/
korrelatsioon.qmd
87 lines (66 loc) · 3.7 KB
/
korrelatsioon.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Korrelatsioon {#sec-korrelatsioon}
Korrelatsioonanalüüs on kõige sagedamini kasutatav mõõdik seose hindamiseks kahe arvtunnuse või harvemini järjestustunnuse vahel. Kui ühe tunnuse väärtuse suurenedes kipuvad teise tunnuse väärtused keskmiselt suurenema või vähenema, siis on nende tunnuste vahel korrelatsioon.
Selle korrelatsiooni suuna ja tugevuse saab arvutada ja esitada korrelatsioonikoefitsiendina. Kuigi selleks on erinevaid arvutuskäike, siis enamasti kasutatakse Pearsoni korrelatsioonikoefitsienti ja seda võib eeldada ka juhul, kui täpsustus arvutuskäigu kohta puudub.
:::{.callout-warning}
Korrelatsioonikoefitsiendi väärtusel on kolm omadust, mille alusel saab teha järeldusi vastava tunnuste vahelise seose kohta:
- selle väärtus on vahemikus -1 ja 1;
- selle absoluutväärtus näitab seose tugevust, kus
- väärtus 0 näitab seose puudumist ja
- väärtus -1 või 1 näitab täielikku seost;
- selle märk näitab seose suunda, kus
- positiivne väärtus tähendab positiivset seost ehk ühe tunnuse väärtuste suurenedes suurenevad ka teise tunnuse väärtused,
- negatiivne väärtus näitab negatiivset seost.
:::
Hinnang korrelatsioonikordaja tugevusele oleneb konkreetsetest nähtustest, mida tunnused esindavad. Nt füüsikaliste nähtuste vahel on korrelatsioonikordajad tavaliselt kõrgemad kui ühiskondlike nähtuste puhul.
Üldiselt võib korrelatsioonikordaja alusel seose tugevuse hindamisel lähtuda sellest, et korrelatsioonikordaja
- alla 0,2 näitab korrelatsiooni puudumist,
- 0,2 ja 0,5 vahel näitab mõõdukat korrelatsiooni,
- üle 0,5 näitab tugevat korrelatsiooni.
Harva huvitab meid üksik korrelatsioonikordaja kahe tunnuse vahel. Enamasti soovime hinnata korraga seoseid mitme tunnuse või väga paljude tunnuste vahel. Üks korrelatsioonanalüüsi kasulik rakendus on korrelatsioonimaatriksid ja nende alusel loodud seosekaardid (*heatmaps*), mis näitlikustavad korraga kõiki ette antud korrelatsioone.
R keeles on korrelatsioonide leidmiseks funktsioon `cor()`, mis vaikimisi arvutab Pearsoni korrelatsioonikordaja.
<!--
[[World countries]]
-->
``` {r}
#| message: false
# Laadime laienduse tidyverse
library('tidyverse')
# Sisestame andmed
riigid <- read.csv('andmed/countries.csv')
# Kuvame andmetabeli ülevaate
str(riigid)
# Jätame ainult valitud tunnused
riigid <- riigid[, 3:10]
# Arvutame korrelatsioonid
korrelatsioonid <- cor(riigid, use = 'pairwise.complete.obs')
```
``` {r}
#| column: page-right
# Määrame käsu vastuse suurima laiuse
options(width = 1000)
# Kuvame arvutatud korrelatsioonid ümardatuna kahe komakohani
round(korrelatsioonid, 2)
```
Näeme, et nt kirjaoskuse ja sündimuse vahel on tugev negatiivne korrelatsioon ning rahvaarv korreleerub tugevalt ainult riigi pindalaga.
Korrelatsioonimaatriks ei pea olema sümmeetriline tunnuste suhtes, vaid ridades ja veergudes võivad olla ka erinevad tunnused.
Korrelatsioonimaatriksi kuvamiseks joonisena saame kasutada funktsiooni `heatmap()`. Vaikimisi järjestatkse tunnused selliselt, et sarnaste korrelatsioonidega tunnused oleksid lähestikku.
``` {r}
heatmap(korrelatsioonid)
```
Rohkem valikuid korrelatsioonimaartikis joonistamisel pakub funktsioon `heatmap.2()` laiendusest `gplots`. Lisaks legendile pakub see ka väga palju teisi võimalusi korrelatsioonide kuvamiseks.
```{r}
#| message: false
library('gplots')
heatmap.2(korrelatsioonid, col = 'bluered',
cellnote = round(korrelatsioonid, 2), notecol = 'black',
srtRow = 45, srtCol = 45)
```
Interaktiivse seosekaardi tekitamiseks saame kasutada funktsiooni `heatmaply()` samanimelisest laiendusest.
```{r}
#| message: false
library('heatmaply')
heatmaply(korrelatsioonid)
```
<!--
[[Correlation analysis]]
-->