Korelacny koeficient

Zadanie: Vypocitajte Pearsonov korelacny koeficient medzi dvomi vami vybranymi premennymi datasetu mtcars a nasledne vizualizujte tento vztah pomocou scatter plotu. Vypočítajme korelačný koeficient medzi spotrebou paliva a výkonom motora.

Spotreba paliva meria v litroch/100 kilometrov, preto pre ľahšie vnímanie prevedieme míle/galón na litre/100 kilometrov.

data1 <- datasets::mtcars
data1$lp100km <- 100/(data1$mpg*(1.609344/3.78541))

Vypocitajme Pearsonov korelacny koeficient:

cor(data1$hp, data1$lp100km)
## [1] 0.7629477

Vidíme že Pearsonov korelačný koeficient sa nerovná 0 a blíži sa k 1, čo znamená, že existuje lineárny vzťah medzi spotrebou paliva a výkonom motora.

Vizualizacia vztahu:

plot(data1$hp, data1$lp100km, main ="Zavislosť medzi spotrebou paliva a výkonom motora", xlab = "ks", ylab = "l/100km", xlim = c(0,400), ylim = c(0,25))

Z grafu predpokladáme, že ide o lineárny vzťah.

Test vyznamnosti korelacneho koeficientu

Zadanie: Otestujte statisticku vyznamnost korelacneho koeficientu vypocitaneho vyssie.

Testujeme, či je koeficient korelácie štatisticky významne rôzny od nuly. H0: ρ=0 H1: ρ!=0 Musíme overiť predpoklad normality premenných. Použijeme Shapiro-Wilkov test separátne pre obe premenné.

shapiro.test(data1$hp)
## 
##  Shapiro-Wilk normality test
## 
## data:  data1$hp
## W = 0.93342, p-value = 0.04881
shapiro.test(data1$lp100km)
## 
##  Shapiro-Wilk normality test
## 
## data:  data1$lp100km
## W = 0.9388, p-value = 0.06922

Na hladine významnosti 0,05 premenná výkonu motora nespĺňa predpoklad normálity. Ale spĺňa predpoklad normálity na hladine významnosti 0,04, teda pokračujme s alpha = 0.04.

Testovanie nulovosti korelačného koeficientu:

cor.test(data1$hp, data1$lp100km, alternative = "two.sided",method="pearson", conf.level = 0.96)
## 
##  Pearson's product-moment correlation
## 
## data:  data1$hp and data1$lp100km
## t = 6.4642, df = 30, p-value = 3.839e-07
## alternative hypothesis: true correlation is not equal to 0
## 96 percent confidence interval:
##  0.5524212 0.8819777
## sample estimates:
##       cor 
## 0.7629477

P-hodnota je menšia ako 0.04, H0 zamietame a preto môžeme povedať, že korelácia je štatisticky významná na hladine významnosti 0.04 a vzťah medzi spotrebou paliva a výkonom motora sa dá zovšeobecniť pre všetky auta.

Spearmanov a Kendallov korelacny koeficient

Zadanie: Vypocitajte aj Spearmanov a Kendallov korelacny koeficient pre tieto premenne.

cor(data1$hp, data1$lp100km, method= "spearman")
## [1] 0.8946646
cor(data1$hp, data1$lp100km, method = "kendall")
## [1] 0.7428125

Spearmanov a Kendallov korelačný koeficient sa nerovná 0 a blíži sa k 1, tak že existuje vzťah medzi spotrebou paliva a výkonom motora.

Korelacna matica

Zadanie: Vypocitajte korelacnu maticu pre prve 4 premenne z datasetu iris a vizualizujte pomocou heatmap.

data4 <- datasets::iris
data4 <- data4[,!names(data4) %in% c("Species")]
(cor<-cor(data4, use="complete.obs", method="kendall"))
##              Sepal.Length Sepal.Width Petal.Length Petal.Width
## Sepal.Length   1.00000000 -0.07699679    0.7185159   0.6553086
## Sepal.Width   -0.07699679  1.00000000   -0.1859944  -0.1571257
## Petal.Length   0.71851593 -0.18599442    1.0000000   0.8068907
## Petal.Width    0.65530856 -0.15712566    0.8068907   1.0000000
library(corrplot)
## Warning: пакет 'corrplot' был собран под R версии 4.4.2
## corrplot 0.95 loaded
corrplot.mixed(cor,lower="number",upper="circle",tl.pos = "lt")

Parcialna korelacia(BONUS)

Zadanie: Vypocitajte parcialny korelacny koeficient medzi “mpg” a “hp”, s odstranenim vplyvu premennej “wt”, premenne su v datasete mtcars.

library("ppcor")
## Warning: пакет 'ppcor' был собран под R версии 4.4.2
## Загрузка требуемого пакета: MASS
data5 <- data1[,!names(data1) %in% c("wt","lp100km")] 
pcor(data5)
## $estimate
##              mpg         cyl        disp          hp        drat        qsec
## mpg   1.00000000  0.02314472 -0.23274143 -0.10591038  0.16297155  0.03001216
## cyl   0.02314472  1.00000000  0.28009763  0.21988830 -0.26231664 -0.38785148
## disp -0.23274143  0.28009763  1.00000000  0.50545465  0.01708822  0.19166227
## hp   -0.10591038  0.21988830  0.50545465  1.00000000 -0.03037502 -0.27042761
## drat  0.16297155 -0.26231664  0.01708822 -0.03037502  1.00000000 -0.14619923
## qsec  0.03001216 -0.38785148  0.19166227 -0.27042761 -0.14619923  1.00000000
## vs    0.06375068 -0.31508179 -0.23734250  0.30704456  0.03374710  0.37232485
## am    0.27339448 -0.24952934 -0.08278411  0.09840009  0.12206838 -0.36874535
## gear  0.16000384 -0.33909952 -0.05593371  0.15375974  0.07987846 -0.20607157
## carb -0.40847804  0.20071386 -0.36521149  0.42430565  0.18006748  0.13560615
##               vs          am        gear        carb
## mpg   0.06375068  0.27339448  0.16000384 -0.40847804
## cyl  -0.31508179 -0.24952934 -0.33909952  0.20071386
## disp -0.23734250 -0.08278411 -0.05593371 -0.36521149
## hp    0.30704456  0.09840009  0.15375974  0.42430565
## drat  0.03374710  0.12206838  0.07987846  0.18006748
## qsec  0.37232485 -0.36874535 -0.20607157  0.13560615
## vs    1.00000000 -0.21265273  0.04905311 -0.16676501
## am   -0.21265273  1.00000000  0.27713639 -0.04485932
## gear  0.04905311  0.27713639  1.00000000  0.44550417
## carb -0.16676501 -0.04485932  0.44550417  1.00000000
## 
## $p.value
##             mpg        cyl       disp         hp      drat       qsec
## mpg  0.00000000 0.91451404 0.27376038 0.62233506 0.4467278 0.88928349
## cyl  0.91451404 0.00000000 0.18495243 0.30187210 0.2156025 0.06110791
## disp 0.27376038 0.18495243 0.00000000 0.01174943 0.9368327 0.36962126
## hp   0.62233506 0.30187210 0.01174943 0.00000000 0.8879530 0.20122536
## drat 0.44672779 0.21560249 0.93683274 0.88795304 0.0000000 0.49544816
## qsec 0.88928349 0.06110791 0.36962126 0.20122536 0.4954482 0.00000000
## vs   0.76727448 0.13369756 0.26411608 0.14444681 0.8756037 0.07318245
## am   0.19613287 0.23963627 0.70055698 0.64735570 0.5698867 0.07620703
## gear 0.45515875 0.10501674 0.79517777 0.47316630 0.7106178 0.33400922
## carb 0.04751095 0.34700226 0.07928511 0.03878154 0.3998055 0.52752000
##              vs         am       gear       carb
## mpg  0.76727448 0.19613287 0.45515875 0.04751095
## cyl  0.13369756 0.23963627 0.10501674 0.34700226
## disp 0.26411608 0.70055698 0.79517777 0.07928511
## hp   0.14444681 0.64735570 0.47316630 0.03878154
## drat 0.87560365 0.56988666 0.71061783 0.39980548
## qsec 0.07318245 0.07620703 0.33400922 0.52752000
## vs   0.00000000 0.31845467 0.81994310 0.43607241
## am   0.31845467 0.00000000 0.18983622 0.83512170
## gear 0.81994310 0.18983622 0.00000000 0.02912967
## carb 0.43607241 0.83512170 0.02912967 0.00000000
## 
## $statistic
##             mpg        cyl        disp         hp        drat       qsec
## mpg   0.0000000  0.1085874 -1.12247884 -0.4995735  0.77476228  0.1408329
## cyl   0.1085874  0.0000000  1.36855553  1.0572435 -1.27502303 -1.9736807
## disp -1.1224788  1.3685555  0.00000000  2.7476198  0.08016254  0.9159567
## hp   -0.4995735  1.0572435  2.74761981  0.0000000 -0.14253723 -1.3175078
## drat  0.7747623 -1.2750230  0.08016254 -0.1425372  0.00000000 -0.6931833
## qsec  0.1408329 -1.9736807  0.91595672 -1.3175078 -0.69318333  0.0000000
## vs    0.2996267 -1.5571803 -1.14598019  1.5132647  0.15837813  1.8816439
## am    1.3331231 -1.2086286 -0.38962928  0.4637881  0.57686543 -1.8606911
## gear  0.7602797 -1.6906903 -0.26276370  0.7298766  0.37586423 -0.9877617
## carb -2.0990345  0.9609877 -1.84009938  2.1978223  0.85862623  0.6419793
##              vs         am       gear       carb
## mpg   0.2996267  1.3331231  0.7602797 -2.0990345
## cyl  -1.5571803 -1.2086286 -1.6906903  0.9609877
## disp -1.1459802 -0.3896293 -0.2627637 -1.8400994
## hp    1.5132647  0.4637881  0.7298766  2.1978223
## drat  0.1583781  0.5768654  0.3758642  0.8586262
## qsec  1.8816439 -1.8606911 -0.9877617  0.6419793
## vs    0.0000000 -1.0207771  0.2303568 -0.7933061
## am   -1.0207771  0.0000000  1.3528763 -0.2106209
## gear  0.2303568  1.3528763  0.0000000  2.3340185
## carb -0.7933061 -0.2106209  2.3340185  0.0000000
## 
## $n
## [1] 32
## 
## $gp
## [1] 8
## 
## $method
## [1] "pearson"

Požadovaný koeficient je rovný -0,106.