Ilustrasi
Ingin mengetahui apakah ada hubungan antara aspek kesehatan lingkungan dengan penyakit yang ditularkan oleh udara. Peubah yang digunakan adalah aspek kesehatan lingkungan yang terdiri atas kualitas fisik air minum baik, kepadatan hunian besar dari 8 m2/orang, lantai terluas bukan tanah, pencahayaan ruang tidur cukup, dan rumah tidak berada pada lingkungan kumuh, dan penyakit yang ditularkan oleh udara terdiri atas ISPA, pneumonia, dan TB paru.
Data
Data yang digunakan dalam analisis korelasi kanonik ini yaitu Prevalensi Penyakit yang Menyebar melalui Udara dan Kalkulasi Data Persentase Aspek Kesehatan Lingkungan di 33 Provinsi Indonesia (Riskesdas 2013).
Peubah
Peubah yang digunakan sebagai berikut :
- Peubah Y adalah penyakit yang ditularkan oleh udara
- Y1 = ISPA
- Y2 = Pneumonia
- Y3 = TB Paru
- Peubah X adalah aspek kesehatan lingkungan
- X1 = Kualitas fisik air minum
- X2 = Kepadatan hunian
- X3 = Lantai bukan tanah
- X4 = Pencahayaan ruang tidur
- X5 = Bukan pemukiman kumuh
Packages
Terlebih dahulu lakukan install packages berikut dan load.
## Warning: package 'CCA' was built under R version 4.0.5
## Loading required package: fda
## Warning: package 'fda' was built under R version 4.0.3
## Loading required package: splines
## Loading required package: Matrix
## Loading required package: fds
## Warning: package 'fds' was built under R version 4.0.3
## Loading required package: rainbow
## Warning: package 'rainbow' was built under R version 4.0.3
## Loading required package: MASS
## Warning: package 'MASS' was built under R version 4.0.4
## Loading required package: pcaPP
## Warning: package 'pcaPP' was built under R version 4.0.3
## Loading required package: RCurl
## Warning: package 'RCurl' was built under R version 4.0.3
##
## Attaching package: 'fda'
## The following object is masked from 'package:graphics':
##
## matplot
## Loading required package: fields
## Warning: package 'fields' was built under R version 4.0.3
## Loading required package: spam
## Warning: package 'spam' was built under R version 4.0.3
## Loading required package: dotCall64
## Warning: package 'dotCall64' was built under R version 4.0.3
## Loading required package: grid
## Spam version 2.6-0 (2020-12-14) is loaded.
## Type 'help( Spam)' or 'demo( spam)' for a short introduction
## and overview of this package.
## Help for individual functions is also obtained by adding the
## suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
##
## Attaching package: 'spam'
## The following object is masked from 'package:Matrix':
##
## det
## The following objects are masked from 'package:base':
##
## backsolve, forwardsolve
## See https://github.com/NCAR/Fields for
## an extensive vignette, other supplements and source code
## Warning: package 'candisc' was built under R version 4.0.5
## Loading required package: car
## Warning: package 'car' was built under R version 4.0.4
## Loading required package: carData
## Loading required package: heplots
## Warning: package 'heplots' was built under R version 4.0.5
##
## Attaching package: 'candisc'
## The following object is masked from 'package:stats':
##
## cancor
# Import Data
datacan <- read.csv("D:/1. Kuliah S2 (STATISTIKA DAN SAINS DATA)/Materi Kuliah/SEMESTER 2/Materi kuliah/2. Analisis Peubah Ganda/STA541 (S2 now)/Pertemuan 13/Kuliah/Tugas kanonik/dataprov.csv")
# Melihat sebagian data (6 data teratas)
head(datacan)## Provinsi Y1 Y2 Y3 X1 X2 X3 X4 X5
## 1 Aceh 20.1 1.8 1.3 88.1 86.2 94.1 71.7 87.1
## 2 Sumut 10.9 1.1 1.0 91.9 84.2 97.9 74.5 87.3
## 3 Sumbar 16.1 1.4 1.2 94.6 81.9 99.1 79.8 79.6
## 4 Riau 10.9 1.0 1.1 95.4 87.0 98.9 79.5 89.3
## 5 Jambi 9.8 1.7 1.8 94.6 92.6 97.8 78.9 85.8
## 6 Sumsel 11.3 0.9 1.3 93.2 81.5 95.7 73.9 81.6
## 'data.frame': 33 obs. of 9 variables:
## $ Provinsi: chr "Aceh" "Sumut" "Sumbar" "Riau" ...
## $ Y1 : num 20.1 10.9 16.1 10.9 9.8 11.3 13 12 9.2 8.9 ...
## $ Y2 : num 1.8 1.1 1.4 1 1.7 0.9 1.3 1.2 0.9 1.3 ...
## $ Y3 : num 1.3 1 1.2 1.1 1.8 1.3 1.4 1.2 1.4 1.1 ...
## $ X1 : num 88.1 91.9 94.6 95.4 94.6 93.2 91.2 96.2 97 98.3 ...
## $ X2 : num 86.2 84.2 81.9 87 92.6 81.5 87.3 93.1 92.8 86.2 ...
## $ X3 : num 94.1 97.9 99.1 98.9 97.8 95.7 97.1 91.7 99.7 99.7 ...
## $ X4 : num 71.7 74.5 79.8 79.5 78.9 73.9 83.4 75.2 81.8 77.1 ...
## $ X5 : num 87.1 87.3 79.6 89.3 85.8 81.6 90.5 90.8 89.1 74.2 ...
# Uji Asumsi Multivariate Normal
XX <- as.matrix(datagb) # membentuk matriks n x p
center <- colMeans(XX) # titik pusat
n <- nrow(datagb)
p <- ncol(datagb)
cov <- cov(XX)
d <- mahalanobis(XX,center,cov) #jarak mahalanobis
qqplot(qchisq(ppoints(n),df=p),d, xlim=c(1,20),pch=20,col="blue",
ylim=c(0, 30),main="QQ-Plot Data", ylab="Jarak Mahalanobis")
abline(a=0,b=1,col="red")Hasil Q-Q Plot tersebut menunjukkan bahwa secara deskriptif data menyebar normal ganda karena plot datanya atau titik biru masih berada di sekitar garis lurus.
## X1 X2 X3 X4 X5
## 1.603927 1.507813 1.361306 1.563561 1.417949
Terlihat nilai VIF dari masing masing peubah prediktornya di bawah 10 sehingga tidak terjadi multikolineartitas antar peubah prediktornya.
## $Xcor
## X1 X2 X3 X4 X5
## X1 1.0000000 0.5488815 0.3935618 0.3214881 0.0864434
## X2 0.5488815 1.0000000 0.2663345 0.3278409 0.1939119
## X3 0.3935618 0.2663345 1.0000000 0.2887693 -0.1372445
## X4 0.3214881 0.3278409 0.2887693 1.0000000 0.4532025
## X5 0.0864434 0.1939119 -0.1372445 0.4532025 1.0000000
##
## $Ycor
## Y1 Y2 Y3
## Y1 1.0000000 0.5703144 0.3326289
## Y2 0.5703144 1.0000000 0.6130461
## Y3 0.3326289 0.6130461 1.0000000
##
## $XYcor
## X1 X2 X3 X4 X5 Y1
## X1 1.0000000 0.54888149 0.39356182 0.3214881 0.0864434 -0.4131411
## X2 0.5488815 1.00000000 0.26633449 0.3278409 0.1939119 -0.2701268
## X3 0.3935618 0.26633449 1.00000000 0.2887693 -0.1372445 -0.4427163
## X4 0.3214881 0.32784087 0.28876925 1.0000000 0.4532025 -0.3538002
## X5 0.0864434 0.19391194 -0.13724449 0.4532025 1.0000000 -0.2536615
## Y1 -0.4131411 -0.27012682 -0.44271635 -0.3538002 -0.2536615 1.0000000
## Y2 -0.4517530 -0.38963178 -0.24837377 -0.5714139 -0.4030721 0.5703144
## Y3 -0.1794820 -0.03259112 -0.08706335 -0.3095777 -0.3558982 0.3326289
## Y2 Y3
## X1 -0.4517530 -0.17948198
## X2 -0.3896318 -0.03259112
## X3 -0.2483738 -0.08706335
## X4 -0.5714139 -0.30957767
## X5 -0.4030721 -0.35589817
## Y1 0.5703144 0.33262890
## Y2 1.0000000 0.61304612
## Y3 0.6130461 1.00000000
##
## Canonical correlation analysis of:
## 5 X variables: X1, X2, X3, X4, X5
## with 3 Y variables: Y1, Y2, Y3
##
## CanR CanRSQ Eigen percent cum scree
## 1 0.6911 0.47763 0.9143 76.100 76.1 ******************************
## 2 0.3929 0.15440 0.1826 15.198 91.3 ******
## 3 0.3077 0.09466 0.1046 8.702 100.0 ***
##
## Test of H0: The canonical correlations in the
## current row and all that follow are zero
##
## CanR LR test stat approx F numDF denDF Pr(> F)
## 1 0.69111 0.39990 1.82223 15 69.415 0.04855 *
## 2 0.39294 0.76555 0.92893 8 52.000 0.50081
## 3 0.30767 0.90534 0.94103 3 27.000 0.43455
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Raw canonical coefficients
##
## X variables:
## Xcan1 Xcan2 Xcan3
## X1 -0.100334 -0.043076 0.034750
## X2 -0.012807 0.067838 -0.080102
## X3 -0.043025 -0.173439 -0.067497
## X4 -0.045958 0.070987 0.024700
## X5 -0.055803 -0.092624 0.103588
##
## Y variables:
## Ycan1 Ycan2 Ycan3
## Y1 0.10469 0.33316 0.14801
## Y2 1.92285 -2.66708 0.45958
## Y3 -0.31216 1.40139 -2.72671
Berdasarkan hasil di atas, Korelasi kanonik pertama (korelasi antara pasangan pertama dari kanonik) adalah sebesar 0.6911 sedangkan squared canonical correlation adalah 0.47763. Nilai ini merepresentasikan korelasi tertinggi yang mungkin terjadi antara beberapa kombinasi linear dari penyakit yang ditularkan oleh udara dan beberapa kombinasi linear aspek kesehatan lingkungan. Kontribusi keragaman yang dijelaskan oleh fungsi kanonik terlihat fungsi kanonik pertama menjelaskan keragaman total sebesar 76.10%. Sedangkan yang kedua 15.198%, dan ketiga 8.70%. Berdasarkan proporsi keragaman tersebut dengan menggunakan kriteria batasan minimal kontribusi keragaman 70%, maka cukup mengambil fungsi kanonik yang pertama saja karena keragaman yang mampu diterangkan sudah cukup besar. Dilihat dari Uji rasio kemungkinan (uji parsial) di atas juga menunjukkan bahwa korelasi kanonik yang pertama berbeda nyata dengan nol pada taraf nyata α = 5% (Pr < α) sehingga dapat disimpulkan bahwa pasangan peubah kanonik pertama memiliki korelasi yang signifikan dan dapat digunakan untuk menjelaskan hubungan antar gugus peubah penyakit yang ditularkan oleh udara dan peubah aspek kesehatan lingkungan.
Terlihat hanya satu fungsi kanonik yang baik untuk digunakan.
## [1] 0.6911060 0.3929432 0.3076713
## [,1] [,2] [,3]
## X1 -0.10033410 -0.04307616 0.03475000
## X2 -0.01280690 0.06783816 -0.08010208
## X3 -0.04302519 -0.17343938 -0.06749695
## X4 -0.04595845 0.07098707 0.02470047
## X5 -0.05580346 -0.09262443 0.10358757
## [,1] [,2] [,3]
## Y1 0.1046860 0.3331624 0.1480144
## Y2 1.9228504 -2.6670802 0.4595843
## Y3 -0.3121624 1.4013879 -2.7267095
Output di atas menunjukkan koefisien kanonik untuk fungsi kanonik prediktor (aspek kesehatan lingkungan) dan fungsi kanonik respon (penyakit yang ditularkan oleh udara) yang tetap menampilkan 3 variate, akan tetapi yang diperhatikan cukup 1 saja karena sudah ditentukan pada penjelasan sebelumnya. Dapat dilihat bahwa untuk peubah X yang memberikan kontribusi terbesar sampai terkecil yaitu kualitas fisik air minum [X1], bukan pemukiman kumuh [X5], pencahayaan ruang tidur [X4], lantai bukan tanah [X3], dan kepadatan hunian [X2]. Sedangkan untuk peubah Y yang memberikan kontribusi terbesar sampai terkecil yaitu prevalensi pneumonia [Y2], prevalensi TB paru [Y3] dan prevalensi ISPA [Y1].
## $xscores
## [,1] [,2] [,3]
## [1,] 0.4792937 0.109755336 -0.07567323
## [2,] -0.1797021 -0.668441114 0.04997133
## [3,] -0.2866716 -0.059462127 -0.41967700
## [4,] -0.9511551 -0.633013717 0.21049103
## [5,] -0.6723916 0.253717475 -0.56901073
## [6,] 0.1647524 -0.040669476 -0.14535418
## [7,] -0.7023507 0.046148763 0.38264187
## [8,] -0.6858470 0.550920575 0.28481572
## [9,] -1.3149336 -0.265430620 -0.21640503
## [10,] -0.3133661 0.277303358 -1.30210327
## [11,] 1.2452121 -1.902452959 -0.79120133
## [12,] 0.8145941 0.097518626 -1.63615513
## [13,] 0.3417506 2.507834324 -0.21327487
## [14,] -0.7396526 0.320109795 -0.33280797
## [15,] 0.3054178 1.422085805 -0.33627227
## [16,] 0.6970233 0.068183658 -1.46759810
## [17,] -1.2489374 -0.563875191 0.94509381
## [18,] 1.0940467 -1.210723153 -0.61770318
## [19,] 2.1828277 2.231823300 2.73711482
## [20,] -0.4978663 -0.099878364 -0.35791621
## [21,] -0.2074570 0.052404386 -0.22217888
## [22,] 0.7920012 1.076470383 -1.71336637
## [23,] -0.5691061 0.353097103 -0.75416118
## [24,] -0.7152640 0.007725803 0.91252754
## [25,] -0.1253150 -0.471962925 0.55056820
## [26,] 0.1072380 -0.761339468 -0.71595867
## [27,] -0.0330071 -0.610627310 -0.10181835
## [28,] -1.2423853 -0.763083791 2.27225511
## [29,] -0.3229580 -2.023634137 0.92827863
## [30,] -0.1756532 0.030636962 1.46347630
## [31,] -0.6589853 1.686348121 0.45674790
## [32,] -0.1294803 0.295704238 -0.28541055
## [33,] 3.5483276 -1.313193655 1.08006426
##
## $yscores
## [,1] [,2] [,3]
## [1,] 1.52057530 1.235216190 1.557361472
## [2,] -0.69488230 -0.383337924 0.691932986
## [3,] 0.36390745 0.829259968 1.054141171
## [4,] -0.91838358 0.023508891 0.373303610
## [5,] 0.09394349 -1.228954324 -1.376499842
## [6,] -1.13122671 0.703759451 -0.158790960
## [7,] -0.21533661 0.343442202 0.003996259
## [8,] -0.44987516 -0.003289742 0.355365342
## [9,] -1.38228350 0.144257248 -0.742292112
## [10,] -0.55090041 -1.442939932 0.215150130
## [11,] 0.56888067 -0.596123923 -0.930902578
## [12,] 0.99551471 -0.756187508 -1.008046599
## [13,] 1.28844589 -0.063420354 -0.365339694
## [14,] -0.96018268 1.725439700 -3.565637989
## [15,] 0.05684694 1.209664387 0.388833656
## [16,] 0.62380214 1.096486605 -0.172892393
## [17,] -1.13564566 0.849897234 0.746476398
## [18,] 0.22138691 -0.263480159 0.398186941
## [19,] 0.71965022 1.721924549 1.785656707
## [20,] -0.83002629 0.383988518 -0.641818874
## [21,] 0.01939149 0.930261653 -0.575639456
## [22,] -0.78872057 -0.203009051 0.102186776
## [23,] -0.15675442 0.929564919 0.769805615
## [24,] 0.93856321 -1.016718422 0.051480199
## [25,] -0.13511408 -2.116494769 0.579737934
## [26,] 0.50108147 -1.370146089 0.570356047
## [27,] 0.24232411 -0.196847684 0.427789818
## [28,] -0.64915762 -1.116473277 0.530671278
## [29,] -0.96101620 -1.070106089 1.227164386
## [30,] 0.00835423 0.176682894 0.094359003
## [31,] -1.75291382 -0.635585788 -0.583341728
## [32,] 1.56100855 1.282976846 -0.437035562
## [33,] 2.98874283 -1.123216220 -1.365717944
##
## $corr.X.xscores
## [,1] [,2] [,3]
## X1 -0.7179710 -0.04509045 -0.2800464
## X2 -0.5999983 0.37485925 -0.5534055
## X3 -0.5017390 -0.59461059 -0.5292426
## X4 -0.8107438 0.28144045 0.2070808
## X5 -0.5483616 -0.01413874 0.6405344
##
## $corr.Y.xscores
## [,1] [,2] [,3]
## Y1 0.5346582 0.23388083 0.06686810
## Y2 0.6600104 -0.08045735 -0.06601579
## Y3 0.3453391 0.08475591 -0.25811127
##
## $corr.X.yscores
## [,1] [,2] [,3]
## X1 -0.4961940 -0.017717984 -0.08616225
## X2 -0.4146624 0.147298378 -0.17026699
## X3 -0.3467548 -0.233648166 -0.16283275
## X4 -0.5603099 0.110590101 0.06371282
## X5 -0.3789759 -0.005555721 0.19707404
##
## $corr.Y.yscores
## [,1] [,2] [,3]
## Y1 0.7736270 0.5952027 0.2173362
## Y2 0.9550060 -0.2047557 -0.2145660
## Y3 0.4996905 0.2156951 -0.8389190
Terlihat bahwa peubah Y yang berhubungan paling erat dengan fungsi kanonik pertama adalah Pneumonia (Y2). Sedangkan peubah X yang berhubungan paling erat dengan fungsi kanonik pertama yaitu Pencahayaan ruang tidur (X4) kemudian Kualitas fisik air minum (X1). Untuk korelasi silang antar peubah-peubah respon terhadap fungsi kanonik peubah prediktor yang berhubungan paling erat dengan fungsi kanonik pertama adalah Pneumonia (Y2). Sedangkan korelasi silang antar peubah-peubah prediktor terhadap fungsi kanonik peubah respon yang berhubungan paling erat dengan fungsi kanonik pertama adalah Pencahayaan ruang tidur (X4).