# Memuat pustaka untuk manipulasi data
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
# Membaca dataset
# Pastikan file CSV berada di dalam *working directory* yang sama dengan file .Rmd
df_sleep <- read.csv("Sleep_health_and_lifestyle_dataset.csv")
# Menampilkan struktur awal data untuk memastikan nama kolom terbaca dengan benar
str(df_sleep)
## 'data.frame': 374 obs. of 13 variables:
## $ Person.ID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Gender : chr "Male" "Male" "Male" "Male" ...
## $ Age : int 27 28 28 28 28 28 29 29 29 29 ...
## $ Occupation : chr "Software Engineer" "Doctor" "Doctor" "Sales Representative" ...
## $ Sleep.Duration : num 6.1 6.2 6.2 5.9 5.9 5.9 6.3 7.8 7.8 7.8 ...
## $ Quality.of.Sleep : int 6 6 6 4 4 4 6 7 7 7 ...
## $ Physical.Activity.Level: int 42 60 60 30 30 30 40 75 75 75 ...
## $ Stress.Level : int 6 8 8 8 8 8 7 6 6 6 ...
## $ BMI.Category : chr "Overweight" "Normal" "Normal" "Obese" ...
## $ Blood.Pressure : chr "126/83" "125/80" "125/80" "140/90" ...
## $ Heart.Rate : int 77 75 75 85 85 85 82 70 70 70 ...
## $ Daily.Steps : int 4200 10000 10000 3000 3000 3000 3500 8000 8000 8000 ...
## $ Sleep.Disorder : chr "None" "None" "None" "Sleep Apnea" ...
Berdasarkan output struktur data (str()),
dataset berhasil dimuat dengan sempurna, terdiri dari 374 baris
observasi dan 13 kolom variabel. Terdapat variasi tipe data bawaan,
mulai dari tipe numerik/integer (seperti Age,
Sleep.Duration, Heart.Rate) hingga tipe
karakter (seperti Gender, Occupation,
Blood.Pressure). Temuan paling krusial pada tahap ini
adalah variabel Blood.Pressure yang masih terdeteksi
sebagai karakter string dengan format “Sistolik/Diastolik” (contoh:
“126/83”). Hal ini memvalidasi urgensi untuk melakukan pemisahan
(splitting) variabel tersebut pada tahap prapemrosesan
selanjutnya, agar seluruh metrik kesehatan dapat berwujud numerik secara
independen.
# Memproses data
df_clean <- df_sleep %>%
# 1. Menangani nilai kosong pada variabel target 'Sleep.Disorder'
# Mengisi string kosong "" atau NA dengan kategori "None"
mutate(Sleep.Disorder = ifelse(Sleep.Disorder == "" | is.na(Sleep.Disorder), "None", Sleep.Disorder)) %>%
# Mengubah target menjadi tipe 'factor' (syarat mutlak untuk fungsi lda() di R)
mutate(Sleep.Disorder = as.factor(Sleep.Disorder)) %>%
# 2. Memecah 'Blood.Pressure' menjadi dua kolom numerik: 'Systolic' dan 'Diastolic'
# Argumen convert = TRUE akan otomatis mengubah teks angka menjadi tipe numerik/integer
separate(Blood.Pressure, into = c("Systolic", "Diastolic"), sep = "/", convert = TRUE)
# Memeriksa distribusi kelas multinomial pada variabel target
print("Distribusi Kelas Sleep Disorder:")
## [1] "Distribusi Kelas Sleep Disorder:"
table(df_clean$Sleep.Disorder)
##
## Insomnia None Sleep Apnea
## 77 219 78
Proses imputasi nilai kosong pada kolom Sleep.Disorder
dan konversi menjadi tipe faktor telah berhasil dieksekusi. Hasil
tabulasi frekuensi menunjukkan distribusi variabel terikat yang
sepenuhnya bersifat multinomial dengan tiga kelas: None (219 observasi),
Sleep Apnea (78 observasi), dan Insomnia (77 observasi). Terdapat
indikasi ketidakseimbangan kelas (class imbalance) di mana
kelompok responden tanpa gangguan tidur (None) mendominasi secara
signifikan. Meskipun demikian, proporsi jumlah observasi pada kedua
kelompok gangguan tidur (Insomnia dan Sleep Apnea) masih berada di
ambang batas yang sangat representatif dan memadai untuk pembentukan
matriks kovarians pada analisis diskriminan.
# Menyeleksi variabel prediktor kontinu yang relevan untuk LDA
df_lda <- df_clean %>%
dplyr::select(
Sleep.Disorder, # Target (Factor)
Age, # Numerik
Sleep.Duration, # Numerik
Quality.of.Sleep, # Numerik
Physical.Activity.Level, # Numerik
Stress.Level, # Numerik
Systolic, # Numerik (dari ekstraksi)
Diastolic, # Numerik (dari ekstraksi)
Heart.Rate, # Numerik
Daily.Steps # Numerik
) %>%
# Menghapus observasi yang mungkin masih memiliki missing values di prediktor
na.omit()
# Melakukan standarisasi (Z-score) pada semua prediktor numerik
# Kolom ke-2 sampai akhir adalah prediktor numerik
df_lda[, 2:ncol(df_lda)] <- scale(df_lda[, 2:ncol(df_lda)])
# Menampilkan 6 baris pertama dari data yang sudah terstandarisasi dan siap diuji
head(df_lda)
# Menampilkan ringkasan statistik untuk memastikan mean prediktor bernilai mendekati 0
summary(df_lda)
## Sleep.Disorder Age Sleep.Duration Quality.of.Sleep
## Insomnia : 77 Min. :-1.75075 Min. :-1.67420 Min. :-2.7677
## None :219 1st Qu.:-0.79954 1st Qu.:-0.92010 1st Qu.:-1.0968
## Sleep Apnea: 78 Median : 0.09403 Median : 0.08536 Median :-0.2614
## Mean : 0.00000 Mean : 0.00000 Mean : 0.0000
## 3rd Qu.: 0.90112 3rd Qu.: 0.83945 3rd Qu.: 0.5741
## Max. : 1.93880 Max. : 1.71923 Max. : 1.4095
## Physical.Activity.Level Stress.Level Systolic Diastolic
## Min. :-1.40038 Min. :-1.3440 Min. :-1.7493 Min. :-1.56611
## 1st Qu.:-0.68030 1st Qu.:-0.7805 1st Qu.:-0.4586 1st Qu.:-0.75463
## Median : 0.03979 Median :-0.2170 Median : 0.1867 Median : 0.05685
## Mean : 0.00000 Mean : 0.0000 Mean : 0.0000 Mean : 0.00000
## 3rd Qu.: 0.75988 3rd Qu.: 0.9101 3rd Qu.: 0.8320 3rd Qu.: 0.86832
## Max. : 1.47997 Max. : 1.4736 Max. : 1.7355 Max. : 1.67980
## Heart.Rate Daily.Steps
## Min. :-1.24908 Min. :-2.3591
## 1st Qu.:-0.52368 1st Qu.:-0.7521
## Median :-0.04008 Median : 0.1132
## Mean : 0.00000 Mean : 0.0000
## 3rd Qu.: 0.44351 3rd Qu.: 0.7313
## Max. : 3.82869 Max. : 1.9674
Hasil cuplikan data teratas (head()) merepresentasikan
bentuk akhir dari dataframe yang sepenuhnya siap untuk diuji
menggunakan pemodelan LDA. Variabel kategorikal yang berpotensi merusak
asumsi diskriminan linier (seperti Gender atau
Occupation) telah dieliminasi. Variabel
Blood.Pressure telah sukses bertransformasi menjadi fitur
metrik Systolic dan Diastolic.
Penerapan standarisasi (Z-score) terbukti berhasil dengan
melihat rentang nilai numerik yang kini berada di skala logaritmik
(contoh: nilai Age menjadi -1.750, nilai
Daily.Steps menjadi -1.617). Transformasi ini sangat vital;
dominasi variabel dengan skala ribuan (seperti Daily Steps) dan
variabel berskala satuan (seperti Stress Level) telah
dinetralkan. Dengan demikian, algoritma klasifikasi nantinya akan
memproses dan memberikan pembobot (coefficient) pada setiap
variabel kesehatan secara adil tanpa adanya bias skala dimensi.
Langkah pertama dalam pengujian asumsi adalah memastikan bahwa
seluruh prediktor numerik memiliki distribusi yang mendekati normal
secara multivariat. Pada cell ini, pustaka MVN
digunakan untuk mengeksekusi uji Mardia. Pengujian ini dipisahkan secara
khusus hanya untuk variabel metrik kesehatan (tanpa melibatkan kolom
target klasifikasi).
# Mengaktifkan pustaka MVN untuk uji normalitas multivariat
library(MVN)
## Warning: package 'MVN' was built under R version 4.5.3
## Registered S3 method overwritten by 'lme4':
## method from
## na.action.merMod car
# Memisahkan variabel prediktor numerik dari variabel target
prediktor_numerik <- df_lda[, -1]
# Mengeksekusi Uji Mardia untuk mengevaluasi normalitas multivariat
# (Menggunakan mvn_test dengan garis bawah)
uji_normalitas_mardia <- mvn(data = prediktor_numerik, mvn_test = "mardia")
# Menampilkan KESELURUHAN hasil evaluasi dari pengujian Mardia
print("Hasil Uji Normalitas Multivariat (Mardia's Test):")
## [1] "Hasil Uji Normalitas Multivariat (Mardia's Test):"
print(uji_normalitas_mardia)
## $multivariate_normality
## Test Statistic p.value Method MVN
## 1 Mardia Skewness 2832.026 <0.001 asymptotic ✗ Not normal
## 2 Mardia Kurtosis 13.683 <0.001 asymptotic ✗ Not normal
##
## $univariate_normality
## Test Variable Statistic p.value Normality
## 1 Anderson-Darling Age 3.937 <0.001 ✗ Not normal
## 2 Anderson-Darling Sleep.Duration 7.304 <0.001 ✗ Not normal
## 3 Anderson-Darling Quality.of.Sleep 15.554 <0.001 ✗ Not normal
## 4 Anderson-Darling Physical.Activity.Level 11.373 <0.001 ✗ Not normal
## 5 Anderson-Darling Stress.Level 12.641 <0.001 ✗ Not normal
## 6 Anderson-Darling Systolic 9.015 <0.001 ✗ Not normal
## 7 Anderson-Darling Diastolic 14.701 <0.001 ✗ Not normal
## 8 Anderson-Darling Heart.Rate 11.012 <0.001 ✗ Not normal
## 9 Anderson-Darling Daily.Steps 8.907 <0.001 ✗ Not normal
##
## $descriptives
## Variable n Mean Std.Dev Median Min Max 25th 75th
## 1 Age 374 0 1 0.094 -1.751 1.939 -0.800 0.901
## 2 Sleep.Duration 374 0 1 0.085 -1.674 1.719 -0.920 0.839
## 3 Quality.of.Sleep 374 0 1 -0.261 -2.768 1.410 -1.097 0.574
## 4 Physical.Activity.Level 374 0 1 0.040 -1.400 1.480 -0.680 0.760
## 5 Stress.Level 374 0 1 -0.217 -1.344 1.474 -0.781 0.910
## 6 Systolic 374 0 1 0.187 -1.749 1.735 -0.459 0.832
## 7 Diastolic 374 0 1 0.057 -1.566 1.680 -0.755 0.868
## 8 Heart.Rate 374 0 1 -0.040 -1.249 3.829 -0.524 0.444
## 9 Daily.Steps 374 0 1 0.113 -2.359 1.967 -0.752 0.731
## Skew Kurtosis
## 1 0.256 2.086
## 2 0.037 1.715
## 3 -0.207 2.246
## 4 0.074 1.735
## 5 0.154 1.674
## 6 -0.036 2.102
## 7 0.377 2.156
## 8 1.220 5.240
## 9 0.178 2.595
##
## $data
## Age Sleep.Duration Quality.of.Sleep Physical.Activity.Level
## 1 -1.75075041 -1.29714929 -1.0968108 -0.82431400
## 2 -1.63545183 -1.17146695 -1.0968108 0.03979093
## 3 -1.63545183 -1.17146695 -1.0968108 0.03979093
## 4 -1.63545183 -1.54851397 -2.7677161 -1.40038394
## 5 -1.63545183 -1.54851397 -2.7677161 -1.40038394
## 6 -1.63545183 -1.54851397 -2.7677161 -1.40038394
## 7 -1.52015324 -1.04578461 -1.0968108 -0.92032565
## 8 -1.52015324 0.83945050 -0.2613582 0.75987836
## 9 -1.52015324 0.83945050 -0.2613582 0.75987836
## 10 -1.52015324 0.83945050 -0.2613582 0.75987836
## 11 -1.52015324 -1.29714929 -1.0968108 -1.40038394
## 12 -1.52015324 0.83945050 -0.2613582 0.75987836
## 13 -1.52015324 -1.29714929 -1.0968108 -1.40038394
## 14 -1.52015324 -1.42283163 -1.0968108 -1.40038394
## 15 -1.52015324 -1.42283163 -1.0968108 -1.40038394
## 16 -1.52015324 -1.42283163 -1.0968108 -1.40038394
## 17 -1.52015324 -0.79441993 -1.9322635 -0.92032565
## 18 -1.52015324 -1.42283163 -1.0968108 -1.40038394
## 19 -1.52015324 -0.79441993 -1.9322635 -0.92032565
## 20 -1.40485466 0.58808582 -0.2613582 0.75987836
## 21 -1.40485466 0.71376816 -0.2613582 0.75987836
## 22 -1.40485466 0.71376816 -0.2613582 0.75987836
## 23 -1.40485466 0.71376816 -0.2613582 0.75987836
## 24 -1.40485466 0.71376816 -0.2613582 0.75987836
## 25 -1.40485466 0.83945050 -0.2613582 0.75987836
## 26 -1.40485466 0.96513284 -0.2613582 0.75987836
## 27 -1.40485466 0.83945050 -0.2613582 0.75987836
## 28 -1.40485466 0.96513284 -0.2613582 0.75987836
## 29 -1.40485466 0.96513284 -0.2613582 0.75987836
## 30 -1.40485466 0.96513284 -0.2613582 0.75987836
## 31 -1.40485466 -0.92010227 -1.9322635 -1.16035480
## 32 -1.40485466 -0.92010227 -1.9322635 -1.16035480
## 33 -1.28955608 0.96513284 0.5740945 0.75987836
## 34 -1.28955608 -1.29714929 -1.0968108 -1.40038394
## 35 -1.28955608 0.71376816 -0.2613582 0.75987836
## 36 -1.28955608 -1.29714929 -1.0968108 -1.40038394
## 37 -1.28955608 -1.29714929 -1.0968108 -1.40038394
## 38 -1.28955608 0.58808582 -0.2613582 0.75987836
## 39 -1.28955608 0.58808582 -0.2613582 0.75987836
## 40 -1.28955608 0.58808582 -0.2613582 0.75987836
## 41 -1.28955608 0.71376816 -0.2613582 0.75987836
## 42 -1.28955608 0.71376816 -0.2613582 0.75987836
## 43 -1.28955608 0.71376816 -0.2613582 0.75987836
## 44 -1.28955608 0.83945050 -0.2613582 0.75987836
## 45 -1.28955608 0.71376816 -0.2613582 0.75987836
## 46 -1.28955608 0.83945050 -0.2613582 0.75987836
## 47 -1.28955608 0.71376816 -0.2613582 0.75987836
## 48 -1.28955608 0.83945050 -0.2613582 0.75987836
## 49 -1.28955608 0.71376816 -0.2613582 0.75987836
## 50 -1.28955608 0.71376816 -0.2613582 0.75987836
## 51 -1.17425750 0.46240348 0.5740945 -0.68029651
## 52 -1.17425750 0.46240348 0.5740945 -0.68029651
## 53 -1.17425750 -1.42283163 -1.0968108 -1.40038394
## 54 -1.17425750 0.58808582 -0.2613582 0.75987836
## 55 -1.17425750 -1.42283163 -1.0968108 -1.40038394
## 56 -1.17425750 -1.42283163 -1.0968108 -1.40038394
## 57 -1.17425750 0.71376816 -0.2613582 0.75987836
## 58 -1.17425750 -1.42283163 -1.0968108 -1.40038394
## 59 -1.17425750 -1.42283163 -1.0968108 -1.40038394
## 60 -1.17425750 0.71376816 -0.2613582 0.75987836
## 61 -1.17425750 -1.42283163 -1.0968108 -1.40038394
## 62 -1.17425750 -1.42283163 -1.0968108 -1.40038394
## 63 -1.17425750 -1.17146695 -1.0968108 -1.40038394
## 64 -1.17425750 -1.17146695 -1.0968108 -1.40038394
## 65 -1.17425750 -1.17146695 -1.0968108 -1.40038394
## 66 -1.17425750 -1.17146695 -1.0968108 -1.40038394
## 67 -1.17425750 0.08535646 0.5740945 -0.44026736
## 68 -1.05895891 -1.42283163 -1.0968108 -1.40038394
## 69 -1.05895891 -1.17146695 -1.0968108 -0.44026736
## 70 -1.05895891 -1.17146695 -1.0968108 -0.44026736
## 71 -1.05895891 -1.29714929 -1.0968108 -1.40038394
## 72 -1.05895891 -1.29714929 -1.0968108 -1.40038394
## 73 -1.05895891 -1.29714929 -1.0968108 -1.40038394
## 74 -1.05895891 -1.29714929 -1.0968108 -1.40038394
## 75 -1.05895891 -1.42283163 -1.0968108 -1.40038394
## 76 -1.05895891 -1.42283163 -1.0968108 -1.40038394
## 77 -1.05895891 -1.42283163 -1.0968108 -1.40038394
## 78 -1.05895891 -1.42283163 -1.0968108 -1.40038394
## 79 -1.05895891 -1.42283163 -1.0968108 -1.40038394
## 80 -1.05895891 -1.42283163 -1.0968108 -1.40038394
## 81 -0.94366033 -1.67419631 -2.7677161 -1.30437229
## 82 -0.94366033 -1.67419631 -2.7677161 -1.30437229
## 83 -0.82836175 -0.54305525 -0.2613582 -0.92032565
## 84 -0.82836175 -0.54305525 -0.2613582 -0.92032565
## 85 -0.82836175 0.46240348 0.5740945 0.03979093
## 86 -0.82836175 0.08535646 0.5740945 0.03979093
## 87 -0.82836175 0.08535646 0.5740945 0.03979093
## 88 -0.82836175 0.08535646 0.5740945 0.03979093
## 89 -0.82836175 0.21103880 0.5740945 0.03979093
## 90 -0.82836175 0.21103880 0.5740945 0.03979093
## 91 -0.82836175 0.21103880 0.5740945 0.03979093
## 92 -0.82836175 0.21103880 0.5740945 0.03979093
## 93 -0.82836175 0.46240348 0.5740945 0.03979093
## 94 -0.82836175 0.33672114 -0.2613582 0.03979093
## 95 -0.71306316 0.08535646 0.5740945 0.03979093
## 96 -0.71306316 -0.04032588 0.5740945 0.03979093
## 97 -0.71306316 0.08535646 0.5740945 0.03979093
## 98 -0.71306316 -0.04032588 0.5740945 0.03979093
## 99 -0.71306316 -0.04032588 0.5740945 0.03979093
## 100 -0.71306316 -0.04032588 0.5740945 0.03979093
## 101 -0.71306316 0.08535646 0.5740945 0.03979093
## 102 -0.71306316 0.08535646 0.5740945 0.03979093
## 103 -0.71306316 0.08535646 0.5740945 0.03979093
## 104 -0.71306316 -0.66873759 -1.9322635 -1.16035480
## 105 -0.71306316 0.08535646 0.5740945 0.03979093
## 106 -0.71306316 -0.66873759 -1.9322635 -1.16035480
## 107 -0.59776458 -1.29714929 -1.0968108 -0.82431400
## 108 -0.59776458 0.83945050 0.5740945 0.51984922
## 109 -0.59776458 0.83945050 0.5740945 0.51984922
## 110 -0.59776458 0.33672114 0.5740945 0.03979093
## 111 -0.59776458 0.08535646 0.5740945 0.03979093
## 112 -0.59776458 0.33672114 0.5740945 0.03979093
## 113 -0.59776458 0.08535646 0.5740945 0.03979093
## 114 -0.59776458 0.33672114 0.5740945 0.03979093
## 115 -0.59776458 0.08535646 0.5740945 0.03979093
## 116 -0.59776458 0.08535646 0.5740945 0.03979093
## 117 -0.59776458 0.08535646 0.5740945 0.03979093
## 118 -0.59776458 0.08535646 0.5740945 0.03979093
## 119 -0.59776458 0.08535646 0.5740945 0.03979093
## 120 -0.59776458 0.08535646 0.5740945 0.03979093
## 121 -0.59776458 0.08535646 0.5740945 0.03979093
## 122 -0.59776458 0.08535646 0.5740945 0.03979093
## 123 -0.59776458 0.08535646 0.5740945 0.03979093
## 124 -0.59776458 0.08535646 0.5740945 0.03979093
## 125 -0.59776458 0.08535646 0.5740945 0.03979093
## 126 -0.59776458 0.46240348 0.5740945 0.03979093
## 127 -0.48246600 0.21103880 0.5740945 0.03979093
## 128 -0.48246600 -0.04032588 0.5740945 0.03979093
## 129 -0.48246600 0.21103880 0.5740945 0.03979093
## 130 -0.48246600 0.21103880 0.5740945 0.03979093
## 131 -0.48246600 -0.04032588 0.5740945 0.03979093
## 132 -0.48246600 0.21103880 0.5740945 0.03979093
## 133 -0.48246600 0.21103880 0.5740945 0.03979093
## 134 -0.48246600 -0.04032588 0.5740945 0.03979093
## 135 -0.48246600 0.21103880 0.5740945 0.03979093
## 136 -0.48246600 0.21103880 0.5740945 0.03979093
## 137 -0.48246600 -0.04032588 0.5740945 0.03979093
## 138 -0.48246600 -0.04032588 0.5740945 0.03979093
## 139 -0.48246600 -0.04032588 0.5740945 0.03979093
## 140 -0.48246600 -0.04032588 0.5740945 0.03979093
## 141 -0.48246600 -0.04032588 0.5740945 0.03979093
## 142 -0.48246600 -0.04032588 0.5740945 0.03979093
## 143 -0.48246600 -0.04032588 0.5740945 0.03979093
## 144 -0.48246600 -0.04032588 0.5740945 0.03979093
## 145 -0.48246600 -0.04032588 0.5740945 0.03979093
## 146 -0.48246600 0.33672114 -0.2613582 0.03979093
## 147 -0.36716741 0.08535646 0.5740945 0.03979093
## 148 -0.36716741 -0.79441993 -1.9322635 -0.92032565
## 149 -0.36716741 -0.29169057 -0.2613582 -0.44026736
## 150 -0.36716741 1.09081518 1.4095471 0.99990751
## 151 -0.36716741 1.09081518 1.4095471 0.99990751
## 152 -0.36716741 0.08535646 0.5740945 0.03979093
## 153 -0.36716741 0.08535646 0.5740945 0.03979093
## 154 -0.36716741 0.08535646 0.5740945 0.03979093
## 155 -0.36716741 0.08535646 0.5740945 0.03979093
## 156 -0.36716741 0.08535646 0.5740945 0.03979093
## 157 -0.36716741 0.08535646 0.5740945 0.03979093
## 158 -0.36716741 0.08535646 0.5740945 0.03979093
## 159 -0.36716741 0.08535646 0.5740945 0.03979093
## 160 -0.36716741 0.08535646 0.5740945 0.03979093
## 161 -0.36716741 0.08535646 0.5740945 0.03979093
## 162 -0.25186883 0.08535646 0.5740945 -0.20023822
## 163 -0.25186883 0.08535646 0.5740945 -0.20023822
## 164 -0.25186883 0.96513284 0.5740945 1.47996580
## 165 -0.25186883 0.96513284 0.5740945 1.47996580
## 166 -0.13657025 0.58808582 0.5740945 1.47996580
## 167 -0.13657025 0.21103880 0.5740945 0.51984922
## 168 -0.13657025 -0.04032588 -0.2613582 -0.20023822
## 169 -0.13657025 -0.04032588 -0.2613582 -0.20023822
## 170 -0.13657025 0.71376816 0.5740945 1.47996580
## 171 -0.13657025 0.71376816 0.5740945 1.47996580
## 172 -0.13657025 0.71376816 0.5740945 1.47996580
## 173 -0.13657025 0.71376816 0.5740945 1.47996580
## 174 -0.13657025 0.71376816 0.5740945 1.47996580
## 175 -0.13657025 0.58808582 0.5740945 1.47996580
## 176 -0.13657025 0.58808582 0.5740945 1.47996580
## 177 -0.13657025 0.58808582 0.5740945 1.47996580
## 178 -0.02127166 -0.79441993 -1.0968108 -0.68029651
## 179 -0.02127166 0.83945050 0.5740945 1.47996580
## 180 -0.02127166 0.83945050 0.5740945 1.47996580
## 181 -0.02127166 0.83945050 0.5740945 1.47996580
## 182 -0.02127166 0.83945050 0.5740945 1.47996580
## 183 -0.02127166 0.83945050 0.5740945 1.47996580
## 184 -0.02127166 0.83945050 0.5740945 1.47996580
## 185 -0.02127166 -0.41737291 -1.0968108 -0.68029651
## 186 -0.02127166 -0.41737291 -1.0968108 -0.68029651
## 187 0.09402692 -0.54305525 -0.2613582 -0.68029651
## 188 0.09402692 -1.04578461 -1.0968108 -0.68029651
## 189 0.09402692 -0.54305525 -0.2613582 -0.68029651
## 190 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 191 0.09402692 -0.54305525 -0.2613582 -0.68029651
## 192 0.09402692 -0.92010227 -1.0968108 -0.68029651
## 193 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 194 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 195 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 196 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 197 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 198 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 199 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 200 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 201 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 202 0.09402692 0.83945050 0.5740945 1.47996580
## 203 0.09402692 0.83945050 0.5740945 1.47996580
## 204 0.09402692 -0.29169057 -1.0968108 -0.58428485
## 205 0.09402692 0.58808582 0.5740945 0.75987836
## 206 0.09402692 0.71376816 0.5740945 1.47996580
## 207 0.09402692 0.71376816 0.5740945 1.47996580
## 208 0.09402692 0.71376816 0.5740945 1.47996580
## 209 0.09402692 0.71376816 0.5740945 1.47996580
## 210 0.09402692 0.83945050 0.5740945 1.47996580
## 211 0.09402692 0.71376816 0.5740945 1.47996580
## 212 0.09402692 0.83945050 0.5740945 1.47996580
## 213 0.09402692 0.83945050 0.5740945 1.47996580
## 214 0.09402692 0.83945050 0.5740945 1.47996580
## 215 0.09402692 0.83945050 0.5740945 1.47996580
## 216 0.09402692 0.83945050 0.5740945 1.47996580
## 217 0.09402692 0.83945050 0.5740945 1.47996580
## 218 0.09402692 0.83945050 0.5740945 1.47996580
## 219 0.09402692 0.83945050 0.5740945 1.47996580
## 220 0.09402692 -0.79441993 -1.0968108 -0.68029651
## 221 0.20932550 -0.66873759 -0.2613582 -0.68029651
## 222 0.20932550 -0.92010227 -1.0968108 -0.68029651
## 223 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 224 0.20932550 -0.92010227 -1.0968108 -0.68029651
## 225 0.20932550 -0.66873759 -0.2613582 -0.68029651
## 226 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 227 0.20932550 -0.66873759 -0.2613582 -0.68029651
## 228 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 229 0.20932550 -0.66873759 -0.2613582 -0.68029651
## 230 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 231 0.20932550 -0.66873759 -0.2613582 -0.68029651
## 232 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 233 0.20932550 -0.66873759 -0.2613582 -0.68029651
## 234 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 235 0.20932550 -0.66873759 -0.2613582 -0.68029651
## 236 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 237 0.20932550 -0.92010227 -1.0968108 -0.68029651
## 238 0.20932550 -0.79441993 -0.2613582 -0.68029651
## 239 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 240 0.20932550 -0.92010227 -1.0968108 -0.68029651
## 241 0.20932550 -0.79441993 -0.2613582 -0.68029651
## 242 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 243 0.20932550 -0.92010227 -1.0968108 -0.68029651
## 244 0.20932550 -0.79441993 -0.2613582 -0.68029651
## 245 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 246 0.20932550 -0.79441993 -0.2613582 -0.68029651
## 247 0.20932550 -1.04578461 -1.0968108 -0.68029651
## 248 0.20932550 -0.41737291 -0.2613582 -0.68029651
## 249 0.20932550 -0.92010227 -1.0968108 -0.68029651
## 250 0.20932550 -0.79441993 -1.0968108 -0.68029651
## 251 0.32462409 -0.41737291 -0.2613582 -1.40038394
## 252 0.32462409 -0.41737291 -0.2613582 -1.40038394
## 253 0.32462409 -0.79441993 -0.2613582 -0.68029651
## 254 0.32462409 -0.79441993 -0.2613582 -0.68029651
## 255 0.32462409 -0.79441993 -0.2613582 -0.68029651
## 256 0.32462409 -0.79441993 -0.2613582 -0.68029651
## 257 0.32462409 -0.66873759 -0.2613582 -0.68029651
## 258 0.32462409 -0.66873759 -0.2613582 -0.68029651
## 259 0.32462409 -0.66873759 -0.2613582 -0.68029651
## 260 0.32462409 -0.66873759 -0.2613582 -0.68029651
## 261 0.32462409 -0.66873759 -0.2613582 -0.68029651
## 262 0.32462409 -0.66873759 -0.2613582 -0.68029651
## 263 0.32462409 -0.66873759 -0.2613582 -0.68029651
## 264 0.32462409 -0.29169057 -0.2613582 -0.20023822
## 265 0.67051984 0.21103880 -0.2613582 0.27982007
## 266 0.67051984 -1.54851397 -1.0968108 1.47996580
## 267 0.67051984 0.21103880 -0.2613582 0.27982007
## 268 0.78581842 -1.17146695 -1.0968108 1.47996580
## 269 0.78581842 -1.42283163 -1.0968108 1.47996580
## 270 0.78581842 -1.29714929 -1.0968108 1.47996580
## 271 0.78581842 -1.29714929 -1.0968108 1.47996580
## 272 0.78581842 -1.29714929 -1.0968108 1.47996580
## 273 0.78581842 -1.29714929 -1.0968108 1.47996580
## 274 0.78581842 -1.17146695 -1.0968108 1.47996580
## 275 0.78581842 -1.17146695 -1.0968108 1.47996580
## 276 0.78581842 -1.17146695 -1.0968108 1.47996580
## 277 0.78581842 1.21649752 1.4095471 1.23993665
## 278 0.78581842 1.21649752 1.4095471 1.23993665
## 279 0.90111700 -1.29714929 -1.0968108 1.47996580
## 280 0.90111700 1.46786220 1.4095471 -1.40038394
## 281 0.90111700 -1.42283163 -1.0968108 1.47996580
## 282 0.90111700 -1.29714929 -1.0968108 1.47996580
## 283 0.90111700 -1.42283163 -1.0968108 1.47996580
## 284 0.90111700 -1.42283163 -1.0968108 1.47996580
## 285 0.90111700 -1.42283163 -1.0968108 1.47996580
## 286 0.90111700 -1.42283163 -1.0968108 1.47996580
## 287 0.90111700 -1.42283163 -1.0968108 1.47996580
## 288 0.90111700 -1.42283163 -1.0968108 1.47996580
## 289 0.90111700 -1.42283163 -1.0968108 1.47996580
## 290 0.90111700 -1.29714929 -1.0968108 1.47996580
## 291 0.90111700 -1.42283163 -1.0968108 1.47996580
## 292 0.90111700 -1.29714929 -1.0968108 1.47996580
## 293 0.90111700 -1.29714929 -1.0968108 1.47996580
## 294 0.90111700 -1.42283163 -1.0968108 1.47996580
## 295 0.90111700 -1.29714929 -1.0968108 1.47996580
## 296 0.90111700 -1.42283163 -1.0968108 1.47996580
## 297 0.90111700 -1.29714929 -1.0968108 1.47996580
## 298 0.90111700 -1.29714929 -1.0968108 1.47996580
## 299 1.01641558 1.71922688 1.4095471 -1.40038394
## 300 1.01641558 1.71922688 1.4095471 -1.40038394
## 301 1.01641558 1.71922688 1.4095471 -1.40038394
## 302 1.01641558 1.71922688 1.4095471 -1.40038394
## 303 1.01641558 -0.04032588 -0.2613582 -0.20023822
## 304 1.01641558 -1.42283163 -1.0968108 1.47996580
## 305 1.01641558 -1.29714929 -1.0968108 1.47996580
## 306 1.01641558 -1.29714929 -1.0968108 1.47996580
## 307 1.13171417 -0.79441993 -0.2613582 -0.68029651
## 308 1.13171417 -0.79441993 -0.2613582 -0.68029651
## 309 1.13171417 -0.66873759 -0.2613582 -0.68029651
## 310 1.13171417 -0.66873759 -0.2613582 -0.68029651
## 311 1.13171417 -0.66873759 -0.2613582 -0.68029651
## 312 1.13171417 -0.66873759 -0.2613582 -0.68029651
## 313 1.13171417 1.59354454 1.4095471 -1.40038394
## 314 1.13171417 1.59354454 1.4095471 -1.40038394
## 315 1.13171417 1.59354454 1.4095471 -1.40038394
## 316 1.24701275 1.46786220 1.4095471 -1.40038394
## 317 1.24701275 1.71922688 1.4095471 -1.40038394
## 318 1.24701275 1.71922688 1.4095471 -1.40038394
## 319 1.24701275 1.59354454 1.4095471 -1.40038394
## 320 1.24701275 1.59354454 1.4095471 -1.40038394
## 321 1.24701275 1.71922688 1.4095471 -1.40038394
## 322 1.24701275 1.59354454 1.4095471 -1.40038394
## 323 1.24701275 1.59354454 1.4095471 -1.40038394
## 324 1.24701275 1.71922688 1.4095471 -1.40038394
## 325 1.24701275 1.46786220 1.4095471 -1.40038394
## 326 1.24701275 1.71922688 1.4095471 -1.40038394
## 327 1.24701275 1.46786220 1.4095471 -1.40038394
## 328 1.24701275 1.71922688 1.4095471 -1.40038394
## 329 1.24701275 1.46786220 1.4095471 -1.40038394
## 330 1.24701275 1.71922688 1.4095471 -1.40038394
## 331 1.24701275 1.71922688 1.4095471 -1.40038394
## 332 1.24701275 1.59354454 1.4095471 -1.40038394
## 333 1.36231133 1.59354454 1.4095471 -1.40038394
## 334 1.36231133 1.59354454 1.4095471 -1.40038394
## 335 1.36231133 1.59354454 1.4095471 -1.40038394
## 336 1.36231133 1.59354454 1.4095471 -1.40038394
## 337 1.36231133 1.59354454 1.4095471 -1.40038394
## 338 1.36231133 1.59354454 1.4095471 -1.40038394
## 339 1.36231133 1.71922688 1.4095471 -1.40038394
## 340 1.47760992 1.21649752 1.4095471 0.75987836
## 341 1.47760992 1.21649752 1.4095471 0.75987836
## 342 1.59290850 1.34217986 1.4095471 1.47996580
## 343 1.59290850 1.34217986 1.4095471 1.47996580
## 344 1.70820708 1.21649752 1.4095471 0.75987836
## 345 1.70820708 1.34217986 1.4095471 0.75987836
## 346 1.70820708 1.34217986 1.4095471 0.75987836
## 347 1.70820708 1.34217986 1.4095471 0.75987836
## 348 1.70820708 1.34217986 1.4095471 0.75987836
## 349 1.70820708 1.34217986 1.4095471 0.75987836
## 350 1.70820708 1.21649752 1.4095471 0.75987836
## 351 1.70820708 1.21649752 1.4095471 0.75987836
## 352 1.70820708 1.21649752 1.4095471 0.75987836
## 353 1.82350567 1.09081518 1.4095471 0.75987836
## 354 1.82350567 1.09081518 1.4095471 0.75987836
## 355 1.82350567 1.09081518 1.4095471 0.75987836
## 356 1.82350567 1.09081518 1.4095471 0.75987836
## 357 1.82350567 1.09081518 1.4095471 0.75987836
## 358 1.82350567 1.09081518 1.4095471 0.75987836
## 359 1.93880425 1.09081518 1.4095471 0.75987836
## 360 1.93880425 1.21649752 1.4095471 0.75987836
## 361 1.93880425 1.34217986 1.4095471 0.75987836
## 362 1.93880425 1.34217986 1.4095471 0.75987836
## 363 1.93880425 1.34217986 1.4095471 0.75987836
## 364 1.93880425 1.34217986 1.4095471 0.75987836
## 365 1.93880425 1.09081518 1.4095471 0.75987836
## 366 1.93880425 1.09081518 1.4095471 0.75987836
## 367 1.93880425 1.21649752 1.4095471 0.75987836
## 368 1.93880425 1.09081518 1.4095471 0.75987836
## 369 1.93880425 1.21649752 1.4095471 0.75987836
## 370 1.93880425 1.21649752 1.4095471 0.75987836
## 371 1.93880425 1.09081518 1.4095471 0.75987836
## 372 1.93880425 1.21649752 1.4095471 0.75987836
## 373 1.93880425 1.21649752 1.4095471 0.75987836
## 374 1.93880425 1.21649752 1.4095471 0.75987836
## Stress.Level Systolic Diastolic Heart.Rate Daily.Steps
## 1 0.3465563 -0.32956081 -0.26774370 1.65250502 -1.61741737
## 2 1.4736175 -0.45862442 -0.75462931 1.16890809 1.96744189
## 3 1.4736175 -0.45862442 -0.75462931 1.16890809 1.96744189
## 4 1.4736175 1.47732968 0.86832275 3.58689275 -2.35911239
## 5 1.4736175 1.47732968 0.86832275 3.58689275 -2.35911239
## 6 1.4736175 1.47732968 0.86832275 3.58689275 -2.35911239
## 7 0.9100869 1.47732968 0.86832275 2.86149735 -2.05007280
## 8 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 9 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 10 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 11 1.4736175 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 12 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 13 1.4736175 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 14 1.4736175 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 15 1.4736175 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 16 1.4736175 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 17 0.9100869 0.44482083 0.38143713 2.37790042 -1.74103320
## 18 1.4736175 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 19 0.9100869 0.44482083 0.38143713 2.37790042 -1.74103320
## 20 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 21 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 22 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 23 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 24 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 25 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 26 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 27 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 28 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 29 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 30 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 31 0.9100869 0.18669361 0.21914192 1.89430349 -1.67922529
## 32 0.9100869 0.18669361 0.21914192 1.89430349 -1.67922529
## 33 -0.7805050 -1.49113328 -1.40381014 -0.28188270 -0.01041149
## 34 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 35 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 36 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 37 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 38 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 39 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 40 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 41 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 42 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 43 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 44 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 45 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 46 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 47 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 48 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 49 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 50 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 51 -1.3440356 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 52 -1.3440356 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 53 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 54 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 55 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 56 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 57 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 58 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 59 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 60 0.3465563 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 61 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 62 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 63 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 64 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 65 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 66 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 67 0.3465563 -1.36206967 -1.40381014 -0.52368117 0.11320434
## 68 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 69 0.3465563 -0.07143360 0.05684672 1.41070656 -0.81391443
## 70 0.3465563 -0.07143360 0.05684672 1.41070656 -0.81391443
## 71 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 72 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 73 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 74 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 75 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 76 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 77 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 78 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 79 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 80 1.4736175 -0.45862442 -0.75462931 0.44351269 -1.12295402
## 81 1.4736175 0.31575722 0.21914192 2.61969889 -0.99933819
## 82 1.4736175 0.31575722 0.21914192 2.61969889 -0.99933819
## 83 -0.2169744 -0.07143360 -0.10544849 -0.04008424 -0.75210651
## 84 -0.2169744 -0.07143360 -0.10544849 -0.04008424 -0.75210651
## 85 -0.2169744 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 86 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 87 -0.7805050 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 88 -0.7805050 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 89 -0.7805050 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 90 -0.7805050 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 91 -0.7805050 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 92 -0.7805050 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 93 -0.2169744 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 94 -0.2169744 0.83201165 0.54373233 3.34509429 -2.17368863
## 95 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 96 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 97 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 98 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 99 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 100 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 101 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 102 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 103 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 104 0.9100869 0.05763001 -0.10544849 0.92710963 -1.24656986
## 105 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 106 0.9100869 0.05763001 -0.10544849 0.92710963 -1.24656986
## 107 0.3465563 -0.32956081 -0.26774370 1.65250502 -1.61741737
## 108 -0.7805050 -1.10394246 -0.75462931 -0.52368117 0.11320434
## 109 -0.7805050 -1.10394246 -0.75462931 -0.52368117 0.11320434
## 110 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 111 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 112 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 113 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 114 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 115 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 116 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 117 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 118 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 119 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 120 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 121 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 122 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 123 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 124 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 125 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 126 -0.7805050 -1.10394246 -0.75462931 -0.04008424 0.73128352
## 127 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 128 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 129 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 130 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 131 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 132 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 133 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 134 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 135 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 136 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 137 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 138 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 139 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 140 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 141 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 142 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 143 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 144 -0.7805050 -1.74926049 -1.56610534 -0.52368117 0.11320434
## 145 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 146 -0.2169744 0.83201165 0.54373233 3.34509429 -2.17368863
## 147 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 148 0.9100869 0.44482083 0.38143713 2.37790042 -1.74103320
## 149 0.3465563 -0.07143360 0.05684672 1.16890809 -0.81391443
## 150 -1.3440356 -1.74926049 -1.07921973 -0.76547964 0.42224393
## 151 -1.3440356 -1.74926049 -1.07921973 -0.76547964 0.42224393
## 152 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 153 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 154 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 155 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 156 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 157 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 158 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 159 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 160 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 161 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 162 0.3465563 -1.23300606 -1.24151493 0.68531116 0.29862810
## 163 0.3465563 -1.23300606 -1.24151493 0.68531116 0.29862810
## 164 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 165 -0.2169744 0.18669361 0.05684672 -0.52368117 0.73128352
## 166 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 167 0.3465563 -0.97487885 -0.91692452 0.44351269 -0.38125900
## 168 0.3465563 -0.45862442 -0.43003890 0.44351269 -0.50487484
## 169 0.3465563 -0.45862442 -0.43003890 0.44351269 -0.50487484
## 170 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 171 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 172 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 173 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 174 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 175 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 176 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 177 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 178 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 179 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 180 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 181 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 182 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 183 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 184 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 185 0.9100869 0.18669361 0.05684672 1.89430349 -1.12295402
## 186 0.9100869 0.18669361 0.05684672 1.89430349 -1.12295402
## 187 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 188 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 189 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 190 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 191 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 192 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 193 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 194 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 195 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 196 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 197 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 198 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 199 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 200 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 201 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 202 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 203 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 204 0.9100869 -1.49113328 -1.40381014 -0.28188270 -0.01041149
## 205 -0.7805050 -0.84581524 -0.75462931 -0.52368117 -0.01041149
## 206 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 207 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 208 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 209 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 210 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 211 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 212 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 213 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 214 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 215 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 216 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 217 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 218 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 219 -0.2169744 0.18669361 0.05684672 -0.04008424 0.73128352
## 220 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 221 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 222 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 223 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 224 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 225 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 226 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 227 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 228 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 229 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 230 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 231 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 232 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 233 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 234 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 235 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 236 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 237 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 238 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 239 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 240 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 241 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 242 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 243 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 244 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 245 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 246 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 247 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 248 0.9100869 0.18669361 0.05684672 1.89430349 -1.12295402
## 249 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 250 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 251 0.3465563 0.83201165 0.86832275 -1.24907657 -0.50487484
## 252 0.3465563 0.83201165 0.86832275 -1.24907657 -0.50487484
## 253 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 254 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 255 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 256 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 257 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 258 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 259 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 260 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 261 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 262 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 263 -0.7805050 0.83201165 0.86832275 -1.24907657 -0.50487484
## 264 -0.2169744 -0.45862442 -0.43003890 1.16890809 -0.81391443
## 265 -0.2169744 1.73545690 1.19291316 3.10329582 -2.05007280
## 266 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 267 -0.2169744 1.73545690 1.19291316 3.10329582 -2.05007280
## 268 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 269 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 270 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 271 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 272 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 273 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 274 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 275 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 276 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 277 -1.3440356 1.34826608 1.03061795 3.82869122 -1.92645696
## 278 -1.3440356 1.34826608 1.03061795 3.82869122 -1.92645696
## 279 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 280 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 281 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 282 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 283 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 284 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 285 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 286 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 287 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 288 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 289 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 290 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 291 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 292 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 293 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 294 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 295 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 296 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 297 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 298 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 299 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 300 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 301 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 302 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 303 0.3465563 -0.45862442 -0.43003890 0.44351269 -0.50487484
## 304 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 305 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 306 1.4736175 1.47732968 1.67979878 1.16890809 1.96744189
## 307 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 308 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 309 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 310 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 311 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 312 0.9100869 0.18669361 0.05684672 0.44351269 -0.50487484
## 313 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 314 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 315 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 316 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 317 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 318 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 319 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 320 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 321 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 322 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 323 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 324 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 325 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 326 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 327 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 328 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 329 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 330 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 331 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 332 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 333 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 334 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 335 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 336 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 337 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 338 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 339 -1.3440356 -0.45862442 -0.75462931 -1.24907657 -1.12295402
## 340 -0.7805050 1.47732968 1.67979878 0.44351269 -1.12295402
## 341 -0.7805050 1.47732968 1.67979878 0.44351269 -1.12295402
## 342 -1.3440356 -1.36206967 -1.56610534 -1.24907657 1.96744189
## 343 -1.3440356 -1.36206967 -1.56610534 -1.24907657 1.96744189
## 344 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 345 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 346 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 347 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 348 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 349 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 350 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 351 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 352 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 353 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 354 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 355 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 356 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 357 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 358 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 359 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 360 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 361 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 362 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 363 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 364 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 365 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 366 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 367 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 368 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 369 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 370 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 371 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 372 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 373 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
## 374 -1.3440356 1.47732968 1.67979878 -0.52368117 0.11320434
##
## $subset
## NULL
##
## $outlierMethod
## [1] "none"
##
## attr(,"class")
## [1] "mvn"
Berdasarkan hasil pengujian statistik menggunakan metode Mardia, ditemukan indikasi pelanggaran asumsi normalitas secara menyeluruh pada dataset:
Normalitas Multivariat: Nilai p-value untuk uji
Mardia Skewness (2832.026) dan Mardia Kurtosis
(13.683) keduanya bernilai < 0.001, yang berada jauh di
bawah taraf signifikansi \(\alpha =
0.05\). Hal ini memaksa penolakan Hipotesis Nol (\(H_0\)), sehingga disimpulkan bahwa secara
bersama-sama (multivariat), variabel prediktor tidak mengikuti
distribusi normal.
Normalitas Univariat: Pelanggaran ini diperkuat oleh hasil uji
Anderson-Darling pada tingkat univariat. Seluruh variabel
metrik kesehatan (mulai dari Age hingga
Daily.Steps) secara individual juga menghasilkan nilai
p-value < 0.001 (Not normal).
Statistik Deskriptif: Tabel deskriptif mengonfirmasi bahwa tahapan standardisasi (Z-score) pada proses pra-pemrosesan telah berhasil diimplementasikan dengan sempurna, ditandai dengan nilai Mean yang tepat bernilai 0 dan Standard Deviation bernilai 1 untuk seluruh variabel.
Dampak terhadap Model LDA:
Analisis Diskriminan Linier (LDA) secara teoretis mengasumsikan bahwa variabel prediktor berdistribusi normal multivariat. Meskipun asumsi ini dilanggar secara fatal oleh data Sleep Health, pemodelan tidak perlu dihentikan. Berdasarkan literatur statistik multivariat, algoritma LDA terbukti memiliki ketahanan (robustness) yang sangat baik terhadap penyimpangan asumsi normalitas, terutama jika jumlah ukuran sampel cukup besar (n = 374). Oleh karena itu, pembentukan fungsi diskriminan tetap dapat diteruskan, dengan catatan (sebagai evaluasi akhir) bahwa ketidaknormalan data ini dapat sedikit memengaruhi optimalisasi penentuan batas klasifikasi kelas.
Persyaratan matematis yang sangat penting dalam Analisis Diskriminan
Linier adalah homogenitas matriks varians-kovarians antar grup.
Cell ini memuat fungsi dari pustaka heplots untuk
mengeksekusi Uji Box’s M, yang akan memvalidasi apakah penyebaran
varians pada penderita Sleep Apnea, Insomnia, dan
individu tanpa gangguan tidur (None) bersifat setara.
# Mengaktifkan pustaka heplots untuk mengeksekusi Uji Box's M
# Apabila belum terpasang, jalankan perintah install.packages("heplots") di console
library(heplots)
## Warning: package 'heplots' was built under R version 4.5.3
## Loading required package: broom
## Warning: package 'broom' was built under R version 4.5.3
# Mengeksekusi Uji Box's M
# Argumen pertama: Matriks prediktor numerik
# Argumen kedua: Vektor variabel pengelompokan (Target kelas)
uji_homoskedastisitas <- boxM(df_lda[, -1], df_lda$Sleep.Disorder)
# Menampilkan hasil evaluasi statistik dari Uji Box's M
print("Hasil Uji Kesamaan Matriks Kovarians (Box's M Test):")
## [1] "Hasil Uji Kesamaan Matriks Kovarians (Box's M Test):"
print(uji_homoskedastisitas)
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: df_lda[, -1] by df_lda$Sleep.Disorder
## Chi-Sq (approx.) = 1325.926, df = 90, p-value = < 2.2e-16
Berdasarkan hasil pengujian Box’s M, diperoleh nilai statistik Chi-Square sebesar 1325.926 dengan p-value < 2.2e-16. Karena nilai p-value jauh lebih kecil dari taraf signifikansi (\(\alpha = 0.05\)), maka Hipotesis Nol ditolak. Hal ini mengindikasikan bahwa asumsi kesamaan matriks varians-kovarians antar kelompok gangguan tidur tidak terpenuhi (terdapat heteroskedastisitas).
Meskipun asumsi homogenitas matriks kovarians dilanggar, pemodelan menggunakan Linear Discriminant Analysis (LDA) tetap dapat dilanjutkan. Pelanggaran pada pengujian Box’s M sangat umum terjadi pada dataset berskala memadai akibat sensitivitas uji tersebut terhadap sedikit saja penyimpangan distribusi multivariat. Algoritma LDA secara empiris diketahui cukup tangguh (robust) terhadap pelanggaran asumsi ini, sehingga pembentukan fungsi diskriminan tetap dapat memberikan daya pisah dan akurasi klasifikasi yang valid untuk dievaluasi lebih lanjut.
# Mengaktifkan pustaka car untuk menghitung VIF dan corrplot untuk visualisasi
# Apabila belum terpasang, jalankan perintah install.packages(c("car", "corrplot")) di console
library(car)
## Warning: package 'car' was built under R version 4.5.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.5.3
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
library(corrplot)
## corrplot 0.95 loaded
# Mengekstrak matriks korelasi murni antar variabel prediktor
matriks_korelasi <- cor(df_lda[, -1])
# Menghasilkan plot visual untuk matriks korelasi
corrplot(matriks_korelasi,
method = "number",
type = "upper",
tl.col = "black",
tl.srt = 45,
title = "Visualisasi Matriks Korelasi Antar Metrik Kesehatan",
mar = c(0, 0, 2, 0))
# Membentuk model regresi linier bayangan (dummy) untuk kalkulasi VIF
# Variabel target dikonversi sementara menjadi numerik murni untuk menipu fungsi kalkulasi
model_regresi_dummy <- lm(as.numeric(Sleep.Disorder) ~ ., data = df_lda)
# Menghitung dan mengekstrak nilai VIF dari model dummy
kalkulasi_vif <- vif(model_regresi_dummy)
# Menampilkan hasil kalkulasi Variance Inflation Factor
print("Nilai Variance Inflation Factor (VIF) untuk Masing-Masing Prediktor:")
## [1] "Nilai Variance Inflation Factor (VIF) untuk Masing-Masing Prediktor:"
print(kalkulasi_vif)
## Age Sleep.Duration Quality.of.Sleep
## 3.346127 5.499972 13.260809
## Physical.Activity.Level Stress.Level Systolic
## 5.663941 9.568464 35.338381
## Diastolic Heart.Rate Daily.Steps
## 37.976590 3.453272 6.122386
Berdasarkan hasil kalkulasi Variance Inflation Factor (VIF) dan visualisasi matriks korelasi, terdeteksi adanya indikasi multikolinieritas yang kuat di antara beberapa variabel prediktor.
Variabel dengan Multikolinieritas Tinggi: Nilai VIF yang melewati ambang batas toleransi kritis (VIF > 10) ditemukan pada variabel Diastolic (37.98), Systolic (35.34), dan Quality.of.Sleep (13.26). Selain itu, metrik Stress.Level (9.57) juga berada tepat di ambang batas yang rawan.
Justifikasi Hubungan: Tingginya kolinieritas pada Systolic dan Diastolic merupakan hal yang sangat wajar secara medis, mengingat keduanya adalah elemen kesatuan pembentuk tekanan darah yang selalu bergerak searah. Sementara itu, besarnya nilai VIF pada Quality of Sleep mengindikasikan adanya redundansi informasi dengan variabel lain, kemungkinan besar memiliki korelasi negatif yang sangat kuat dengan Stress Level atau korelasi positif dengan Sleep Duration.
Dampak terhadap Model LDA: Dalam Analisis Diskriminan Linier (LDA), multikolinieritas yang tinggi dapat menyebabkan matriks kovarians di dalam kelompok (within-group covariance matrix) menjadi hampir singular atau tidak stabil saat dilakukan inversi matriks. Hal ini berdampak pada interpretasi pembobot (coefficients); koefisien fungsi diskriminan nantinya menjadi bias dan tidak bisa dijadikan patokan mutlak untuk menentukan metrik kesehatan mana yang paling penting dalam mendiskriminasi kelas.
Meskipun interpretasi koefisien menjadi kurang reliabel, multikolinieritas tidak merusak akurasi daya prediksi klasifikasi secara keseluruhan. Untuk tujuan komprehensif pada pengerjaan analisis ini, seluruh variabel akan dipertahankan pada pembentukan model awal.
Tahap awal dalam komputasi inti adalah menghitung nilai rata-rata (mean) dari setiap peubah metrik kesehatan untuk masing-masing kelompok gangguan tidur. Nilai ini disebut sebagai centroids, yang merepresentasikan titik pusat profil kesehatan untuk setiap kategori dalam ruang multivariat.
# Menghitung rata-rata (centroids) untuk setiap variabel prediktor berdasarkan kelompok target
centroids_gangguan_tidur <- df_lda %>%
group_by(Sleep.Disorder) %>%
summarise(across(where(is.numeric), mean))
# Menampilkan tabel centroids
print("Vektor Rata-rata (Centroids) untuk Setiap Kelompok:")
## [1] "Vektor Rata-rata (Centroids) untuk Setiap Kelompok:"
print(centroids_gangguan_tidur)
## # A tibble: 3 × 10
## Sleep.Disorder Age Sleep.Duration Quality.of.Sleep Physical.Activity.Level
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 Insomnia 0.154 -0.682 -0.652 -0.593
## 2 None -0.363 0.284 0.261 -0.0586
## 3 Sleep Apnea 0.867 -0.126 -0.0900 0.750
## # ℹ 5 more variables: Stress.Level <dbl>, Systolic <dbl>, Diastolic <dbl>,
## # Heart.Rate <dbl>, Daily.Steps <dbl>
Tabel centroids menyajikan titik pusat koordinat profil kesehatan untuk setiap kategori gangguan tidur di dalam ruang multivariat. Mengingat data telah melalui proses standarisasi (Z-score), angka-angka ini merepresentasikan seberapa jauh rata-rata metrik sebuah kelompok menyimpang dari rata-rata populasi global (di mana nilai 0 adalah rata-rata keseluruhan).
Terdapat perbedaan karakteristik profil yang sangat tegas antar kelompok:
Kelompok “None” (Tanpa Gangguan Tidur): Kelompok ini merepresentasikan profil kesehatan paling optimal. Karakteristik utamanya ditandai dengan durasi dan kualitas tidur yang berada di atas rata-rata populasi (positif), diiringi dengan tingkat stres, tekanan darah (Systolic/Diastolic), dan detak jantung yang paling rendah (bernilai negatif yang signifikan). Secara demografis, kelompok ini juga memiliki rata-rata usia termuda (-0.363).
Kelompok “Insomnia”: Kelompok ini didominasi oleh masalah
kuantitas dan kualitas istirahat. Hal ini dibuktikan dengan nilai
Sleep.Duration (-0.682) dan Quality.of.Sleep
(-0.652) yang paling rendah di antara semua kelompok. Selain itu,
penderita insomnia dalam dataset ini memiliki tingkat aktivitas fisik
dan jumlah langkah harian (Daily.Steps) yang paling
minim.
Kelompok “Sleep Apnea”: Kelompok ini memiliki profil metrik kardiovaskular yang paling ekstrem. Rata-rata tekanan darah sistolik (1.19), diastolik (1.31), dan detak jantung (0.707) berada sangat jauh di atas rata-rata kelompok lain. Secara demografis, kelompok ini merupakan kelompok dengan rata-rata usia tertua (0.867). Anomali menarik terlihat pada metrik aktivitas fisik, di mana kelompok ini justru mencatatkan tingkat aktivitas dan langkah harian tertinggi, namun tetap mengalami masalah kesehatan kardiovaskular dan pernapasan saat tidur.
Perbedaan koordinat yang sangat mencolok pada metrik-metrik tersebut (khususnya pada tekanan darah dan kualitas tidur) merupakan sinyal positif bagi model Analisis Diskriminan Linier (LDA). Jarak antar centroids yang berjauhan ini akan memudahkan algoritma dalam menarik garis batas (decision boundary) yang tegas antar kelas.
Pada cell ini, algoritma Linear Discriminant
Analysis (LDA) dijalankan menggunakan fungsi lda()
dari pustaka MASS. Model akan secara otomatis menghitung
probabilitas prior, yaitu peluang awal sebuah observasi masuk
ke kelompok tertentu berdasarkan proporsi jumlah data asli.
# Mengaktifkan pustaka MASS untuk analisis diskriminan
library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
# Membentuk model LDA dengan Sleep.Disorder sebagai variabel dependen
# dan seluruh peubah numerik lainnya sebagai prediktor
model_lda <- lda(Sleep.Disorder ~ ., data = df_lda)
# Menampilkan ringkasan model LDA (Prior Probabilities dan Group Means)
print("Ringkasan Model Analisis Diskriminan Linier (LDA):")
## [1] "Ringkasan Model Analisis Diskriminan Linier (LDA):"
print(model_lda)
## Call:
## lda(Sleep.Disorder ~ ., data = df_lda)
##
## Prior probabilities of groups:
## Insomnia None Sleep Apnea
## 0.2058824 0.5855615 0.2085561
##
## Group means:
## Age Sleep.Duration Quality.of.Sleep Physical.Activity.Level
## Insomnia 0.1539223 -0.6817955 -0.65195942 -0.59301318
## None -0.3629556 0.2844970 0.26127658 -0.05863198
## Sleep Apnea 0.8671187 -0.1257254 -0.08998328 0.75003101
## Stress.Level Systolic Diastolic Heart.Rate Daily.Steps
## Insomnia 0.2733705 0.4498493 0.3582521 0.0729644 -0.56588006
## None -0.1526444 -0.5817947 -0.5923341 -0.2774663 0.02232695
## Sleep Apnea 0.1587127 1.1894186 1.3094328 0.7070110 0.49593799
##
## Coefficients of linear discriminants:
## LD1 LD2
## Age 0.88126453 0.4005014
## Sleep.Duration -0.25721169 -0.2928219
## Quality.of.Sleep -0.74406823 -2.1368100
## Physical.Activity.Level -0.02273717 0.5412175
## Stress.Level -0.54033129 -0.9081356
## Systolic -2.13249146 1.6671148
## Diastolic 3.08162811 -1.9476702
## Heart.Rate 0.55590561 -1.1039310
## Daily.Steps -0.25655131 -0.6680470
##
## Proportion of trace:
## LD1 LD2
## 0.804 0.196
Berdasarkan output pemodelan Linear Discriminant Analysis (LDA), terdapat tiga komponen utama yang menjadi landasan matematis dalam memisahkan ketiga kelompok gangguan tidur:
1. Probabilitas Prior (Prior Probabilities of Groups) Nilai probabilitas prior merepresentasikan proporsi awal dari masing-masing kelas di dalam dataset sebelum model mempertimbangkan variabel prediktor kesehatan.
Kategori None mendominasi dengan probabilitas awal sebesar 58.55% (0.585).
Kategori Sleep Apnea dan Insomnia memiliki probabilitas awal yang hampir seimbang, masing-masing sebesar 20.85% dan 20.58%. Nilai ini akan digunakan oleh model sebagai bobot dasar probabilitas (base rate) dalam Teorema Bayes saat memprediksi observasi baru. Jika profil kesehatan seseorang sangat ambigu, model akan memiliki kecenderungan bawaan untuk mengklasifikasikannya ke kelompok “None”.
2. Koefisien Fungsi Diskriminan Linier (Coefficients of Linear Discriminants) Karena terdapat tiga kategori gangguan tidur (Multinomial), model mengekstrak tepat dua fungsi diskriminan (LD1 dan LD2) untuk memetakan data ke dalam ruang 2-Dimensi yang baru. Nilai koefisien ini beroperasi layaknya bobot regresi:
Pada Fungsi Pertama (LD1): Variabel dengan pengaruh absolut (tanpa memandang tanda positif/negatif) paling dominan adalah Diastolic (3.081), Systolic (-2.132), dan Age (0.881). Tingginya bobot pada variabel tekanan darah (Systolic dan Diastolic) mengindikasikan bahwa LD1 sangat kuat dalam memisahkan responden berdasarkan dimensi kardiovaskular dan usia (yang sangat selaras dengan pembeda utama kelompok Sleep Apnea pada analisis centroids sebelumnya). Perlu dicatat, tanda berlawanan yang tajam pada Systolic dan Diastolic ini kemungkinan besar merupakan kompensasi matematis dari efek multikolinieritas yang terdeteksi pada uji asumsi sebelumnya.
Pada Fungsi Kedua (LD2): Variabel dengan kontribusi pemisah tertinggi adalah Quality.of.Sleep (-2.136). Fungsi kedua ini menangkap sisa informasi yang tidak dijelaskan oleh LD1, yang berfokus kuat pada dimensi kualitas istirahat.
3. Proporsi Varians (Proportion of Trace) Metrik ini mengevaluasi daya pisah atau efektivitas dari masing-masing fungsi diskriminan yang telah dibentuk:
LD1 berhasil menjelaskan 80.4% dari total varians antar-kelompok. Ini berarti fungsi pertama sudah sangat tangguh dalam menarik garis batas antara responden sehat, penderita insomnia, dan penderita apnea tidur.
LD2 menjelaskan sisa varians sebesar 19.6%. Kombinasi kedua nilai trace ini (100%) menunjukkan bahwa proyeksi data ke dalam ruang diskriminan dua sumbu (LD1 vs LD2) sudah sepenuhnya optimal untuk merangkum seluruh pemisahan antar kelas tanpa ada informasi pembeda yang terbuang.
Model LDA untuk tiga kelas akan menghasilkan maksimal dua fungsi diskriminan (LD1 dan LD2). Cell ini difokuskan untuk mengekstrak nilai koefisien (bobot) dari masing-masing peubah metrik kesehatan serta melihat seberapa besar proporsi varians yang berhasil dijelaskan oleh masing-masing fungsi tersebut.
# Menampilkan Koefisien Linear Discriminant (LD)
# Koefisien ini menunjukkan kontribusi setiap peubah dalam membentuk fungsi pemisah
print("Koefisien Fungsi Diskriminan (Coefficients of Linear Discriminants):")
## [1] "Koefisien Fungsi Diskriminan (Coefficients of Linear Discriminants):"
print(model_lda$scaling)
## LD1 LD2
## Age 0.88126453 0.4005014
## Sleep.Duration -0.25721169 -0.2928219
## Quality.of.Sleep -0.74406823 -2.1368100
## Physical.Activity.Level -0.02273717 0.5412175
## Stress.Level -0.54033129 -0.9081356
## Systolic -2.13249146 1.6671148
## Diastolic 3.08162811 -1.9476702
## Heart.Rate 0.55590561 -1.1039310
## Daily.Steps -0.25655131 -0.6680470
# Menghitung dan menampilkan Proportion of Trace (Daya Pisah Fungsi)
proporsi_varians <- model_lda$svd^2 / sum(model_lda$svd^2)
names(proporsi_varians) <- c("LD1", "LD2")
print("Proporsi Varians yang Dijelaskan oleh Masing-masing Fungsi (Trace):")
## [1] "Proporsi Varians yang Dijelaskan oleh Masing-masing Fungsi (Trace):"
print(proporsi_varians)
## LD1 LD2
## 0.8040116 0.1959884
Keluaran model pada tahap ini menampilkan parameter fundamental dari Analisis Diskriminan Linier, yaitu pembobot masing-masing variabel (koefisien) dan kemampuan daya pisah fungsi (proporsi varians). Karena target merupakan variabel multinomial dengan tiga kelas, algoritma secara otomatis mengekstrak dua fungsi diskriminan (LD1 dan LD2).
1. Koefisien Fungsi Diskriminan Linier (Coefficients) Nilai-nilai koefisien ini merepresentasikan bobot kontribusi setiap metrik kesehatan dalam pembentukan dimensi pemisah antar kelas gangguan tidur. Analisis difokuskan pada nilai absolut yang paling besar:
Fungsi Pertama (LD1): Didominasi secara signifikan oleh variabel kardiovaskular dan demografi, yaitu Diastolic (3.081), Systolic (-2.132), dan Age (0.881). Hal ini menunjukkan bahwa sumbu utama yang memisahkan populasi adalah dimensi kardiovaskular. Tanda (+/-) yang berlawanan pada dua metrik tekanan darah tersebut kemungkinan merupakan kompensasi matematis dari tingginya multikolinieritas yang telah dideteksi pada tahap uji asumsi.
Fungsi Kedua (LD2): Variabel dengan kontribusi pemisah terkuat beralih ke metrik kualitas istirahat, yaitu Quality.of.Sleep (-2.136), disusul oleh sisa varians dari indikator kardiovaskular. Sumbu kedua ini bertugas memetakan perbedaan yang tidak bisa dijelaskan secara tuntas oleh faktor kardiovaskular di LD1.
2. Proporsi Varians (Proportion of Trace) Metrik trace mengevaluasi efektivitas masing-masing fungsi dalam mengelompokkan data berdasarkan jarak antar centroids:
LD1 (80.4%): Memiliki daya pisah yang sangat dominan. Fungsi linear pertama ini sendiri sudah mampu merangkum 80.4% dari total perbedaan karakteristik antar kelas None, Insomnia, dan Sleep Apnea.
LD2 (19.6%): Menyumbangkan daya pisah sebesar 19.6% untuk menangkap sisa varians yang tersisa.
Secara kumulatif, kedua fungsi linear ini berhasil menjelaskan 100% variasi antar kelompok. Konfigurasi ini memastikan bahwa proyeksi ruang multivariat (yang memiliki 9 prediktor) berhasil direduksi secara optimal ke dalam ruang dua dimensi (LD1 vs LD2) tanpa kehilangan kemampuan diskriminasi sedikit pun.
Pada tahap ini, model LDA yang telah terbentuk digunakan kembali ke
dalam dataset awal untuk melakukan klasifikasi ulang. Fungsi
predict() di R tidak hanya menghasilkan kelas tebakan
akhir, tetapi juga mengeluarkan nilai probabilitas posterior
(peluang masuk ke masing-masing kelas) dan skor fungsi diskriminannya
(nilai LD1 dan LD2 untuk setiap individu).
Aturan keputusan (klasifikasi) ditetapkan berdasarkan probabilitas posterior tertinggi.
# Melakukan prediksi menggunakan model LDA pada dataset awal
prediksi_lda <- predict(model_lda, df_lda)
# Menyusun hasil prediksi ke dalam sebuah dataframe baru untuk memudahkan komparasi
# Mengambil kelas aktual, kelas prediksi, probabilitas posterior, dan skor diskriminan
hasil_keputusan <- data.frame(
Aktual = df_lda$Sleep.Disorder,
Prediksi = prediksi_lda$class,
Probabilitas_None = prediksi_lda$posterior[, "None"],
Probabilitas_Insomnia = prediksi_lda$posterior[, "Insomnia"],
Probabilitas_SleepApnea = prediksi_lda$posterior[, "Sleep Apnea"],
Skor_LD1 = prediksi_lda$x[, "LD1"],
Skor_LD2 = prediksi_lda$x[, "LD2"]
)
# Menampilkan cuplikan hasil aturan keputusan probabilitas tertinggi
print("Cuplikan Hasil Prediksi dan Aturan Keputusan (Probabilitas Posterior):")
## [1] "Cuplikan Hasil Prediksi dan Aturan Keputusan (Probabilitas Posterior):"
head(hasil_keputusan)
Tabel keluaran menyajikan cuplikan klasifikasi ulang dari dataset awal menggunakan model Linear Discriminant Analysis (LDA) yang telah dibentuk. Mekanisme penetapan keputusan (classification rule) dilakukan berdasarkan nilai probabilitas bersyarat.
Mekanisme Probabilitas Posterior: Model memprediksi kelas sebuah observasi dengan mencari nilai probabilitas tertinggi di antara ketiga kolom probabilitas kelas (Probabilitas_None, Probabilitas_Insomnia, Probabilitas_SleepApnea). Sebagai contoh, pada observasi kedua, probabilitas untuk masuk ke kelas “None” adalah 0.999 (99.9%), sehingga model dengan sangat yakin menetapkan prediksinya sebagai “None”.
Skor Fungsi Diskriminan: Kolom
Skor_LD1 dan Skor_LD2 merepresentasikan titik
koordinat observasi tersebut di dalam ruang dimensi baru. Nilai inilah
yang dikalkulasi ulang oleh model menggunakan Teorema Bayes untuk
menghasilkan probabilitas posterior.
Indikasi Tumpang Tindih Karakteristik: Pada cuplikan tabel ini, sudah terlihat adanya ketidaksesuaian antara kelas Aktual dan kelas Prediksi (contoh: Observasi 1 dan 4). Pada observasi pertama, meskipun secara aktual adalah “None”, model membaca metrik kesehatannya lebih condong ke profil “Insomnia” (probabilitas 57.7%). Hal ini secara empiris menunjukkan adanya responden sehat yang memiliki pola metrik kesehatan (seperti tekanan darah atau kualitas tidur) yang menyerupai penderita gangguan tidur, membuktikan bahwa batas antar kelas tidak sepenuhnya terpisah secara absolut.
Setelah hasil prediksi didapatkan, tahap krusial berikutnya adalah memvalidasi keakuratan model. Matriks kebingungan (Confusion Matrix) dibentuk dengan menyilangkan data aktual dan tebakan model. Selanjutnya, Apparent Error Rate (APER) dihitung untuk melihat persentase total kesalahan klasifikasi dari model diskriminan tersebut.
# Membentuk Confusion Matrix (Tabel Silang Kelas Aktual vs Prediksi)
# Baris merepresentasikan kelas Aktual, Kolom merepresentasikan kelas Prediksi
matriks_kebingungan <- table(Aktual = df_lda$Sleep.Disorder, Prediksi = prediksi_lda$class)
# Menampilkan Confusion Matrix
print("Matriks Kebingungan (Confusion Matrix):")
## [1] "Matriks Kebingungan (Confusion Matrix):"
print(matriks_kebingungan)
## Prediksi
## Aktual Insomnia None Sleep Apnea
## Insomnia 65 8 4
## None 10 203 6
## Sleep Apnea 8 5 65
# Menghitung Apparent Error Rate (APER)
# APER = (Jumlah tebakan salah / Total observasi) * 100%
total_observasi <- sum(matriks_kebingungan)
jumlah_tebakan_benar <- sum(diag(matriks_kebingungan))
jumlah_tebakan_salah <- total_observasi - jumlah_tebakan_benar
aper <- (jumlah_tebakan_salah / total_observasi) * 100
# Menampilkan nilai APER dan Akurasi
print(paste("Total Observasi:", total_observasi))
## [1] "Total Observasi: 374"
print(paste("Jumlah Klasifikasi Salah:", jumlah_tebakan_salah))
## [1] "Jumlah Klasifikasi Salah: 41"
print(paste("Apparent Error Rate (APER):", round(aper, 2), "%"))
## [1] "Apparent Error Rate (APER): 10.96 %"
print(paste("Akurasi Model:", round(100 - aper, 2), "%"))
## [1] "Akurasi Model: 89.04 %"
Evaluasi kesalahan bertujuan untuk memvalidasi ketangguhan fungsi pemisah yang telah dibuat dengan membandingkan kelas prediksi model terhadap keadaan aktual responden.
Akurasi dan Apparent Error Rate (APER): Secara keseluruhan, model LDA terbukti memiliki performa prediksi yang sangat memuaskan dengan tingkat akurasi sebesar 89.04%. Dari total 374 observasi, tingkat kesalahan (Apparent Error Rate) hanya berada di angka 10.96%, yang berarti model hanya salah menebak sebanyak 41 observasi. Mengingat asumsi homogenitas matriks kovarians (Uji Box’s M) dan normalitas multivariat sempat dilanggar pada tahap pra-pemrosesan, tingginya akurasi ini membuktikan secara empiris sifat robustness (ketangguhan) algoritma LDA pada jumlah sampel yang memadai.
Kinerja Prediksi per Kelas (Matriks Kebingungan):
Kelas None: Memiliki tingkat prediksi benar tertinggi (203 dari 219 observasi). Hal ini membuktikan bahwa profil responden sehat sangat khas dan mudah dikenali oleh model.
Kelas Insomnia: Berhasil diprediksi benar sebanyak 65 dari 77 observasi aktual. Terdapat 8 responden insomnia yang justru diprediksi sebagai sehat (“None”).
Kelas Sleep Apnea: Berhasil diprediksi benar sebanyak 65 dari 78 observasi aktual.
Pola Kesalahan Klasifikasi (Misclassification): Dari 41 kesalahan yang terjadi, terdapat distribusi ketertukaran yang menarik. Misalnya, ada 8 penderita Sleep Apnea yang diklasifikasikan sebagai Insomnia, dan sebaliknya ada 4 penderita Insomnia yang dianggap Sleep Apnea. Hal ini mengonfirmasi adanya wilayah perbatasan atau “zona abu-abu” di ruang multivariat di mana kedua jenis gangguan tidur ini memiliki metrik kesehatan yang sangat mirip (kemungkinan besar pada aspek kualitas dan durasi tidur), sehingga fungsi pemisah linear (decision boundary) mengalami sedikit kesulitan untuk menarik garis tegas di antara keduanya.
Cell ini bertujuan untuk memvisualisasikan seberapa efektif
fungsi diskriminan dalam memisahkan ketiga kelompok gangguan tidur.
Dengan menggunakan ggplot2, kita akan membuat scatter
plot di mana sumbu X adalah LD1 (dimensi kardiovaskular/usia) dan
sumbu Y adalah LD2 (dimensi kualitas tidur). Penambahan
stat_ellipse akan membantu kita melihat area persebaran atau
“wilayah kekuasaan” dari masing-masing kelompok secara probabilitas.
# Mengaktifkan pustaka ggplot2 untuk visualisasi data
library(ggplot2)
# Menggabungkan skor LD1 dan LD2 dengan label aktual ke dalam satu dataframe
df_plot <- data.frame(
Sleep.Disorder = df_lda$Sleep.Disorder,
LD1 = prediksi_lda$x[, 1],
LD2 = prediksi_lda$x[, 2]
)
# Membuat visualisasi Scatter Plot Ruang Diskriminan
ggplot(df_plot, aes(x = LD1, y = LD2, color = Sleep.Disorder, fill = Sleep.Disorder)) +
# Menambahkan titik data
geom_point(alpha = 0.7, size = 2) +
# Menambahkan elips kepercayaan (95%) untuk menunjukkan klaster kelompok
stat_ellipse(geom = "polygon", alpha = 0.1, level = 0.95) +
# Mengatur tema dan estetika plot
theme_minimal() +
labs(
title = "Visualisasi Ruang Diskriminan Multivariat (LDA)",
subtitle = "Pemisahan Kelompok Gangguan Tidur berdasarkan LD1 dan LD2",
x = "Linear Discriminant 1 (Kardiovaskular & Usia)",
y = "Linear Discriminant 2 (Kualitas Tidur)",
color = "Gangguan Tidur",
fill = "Gangguan Tidur"
) +
theme(legend.position = "bottom") +
# Menambahkan garis bantu di titik 0,0
geom_vline(xintercept = 0, linetype = "dashed", alpha = 0.5) +
geom_hline(yintercept = 0, linetype = "dashed", alpha = 0.5)
Visualisasi scatter plot pada ruang diskriminan merupakan representasi grafis akhir yang mengonfirmasi efektivitas fungsi linier dalam memisahkan ketiga kelompok gangguan tidur. Dengan mereduksi 9 variabel prediktor menjadi 2 dimensi utama (LD1 dan LD2), pola persebaran data dapat dianalisis sebagai berikut:
1. Pemisahan Klaster dan Dominasi Sumbu
Sumbu LD1 (Horizontal): Berfungsi sebagai pemisah utama yang sangat kontras antara kelompok None dan Sleep Apnea. Sejalan dengan nilai koefisien fungsi diskriminan sebelumnya, sumbu ini merepresentasikan dimensi kardiovaskular dan usia. Kelompok Sleep Apnea (hijau) terkonsentrasi di area LD1 positif, menunjukkan profil tekanan darah tinggi dan usia yang lebih tua dibandingkan kelompok lainnya.
Sumbu LD2 (Vertical): Berperan dalam memberikan pemisahan tambahan, khususnya untuk kelompok Insomnia (merah). Sumbu ini merepresentasikan dimensi kualitas istirahat. Kelompok Insomnia terlihat memiliki sebaran yang lebih lebar pada sumbu vertikal ini, yang menunjukkan variabilitas kualitas tidur yang unik dibandingkan kelompok sehat.
2. Analisis Elips Kepercayaan (Confidence Ellipses)
Elips pada plot menunjukkan area cakupan 95% untuk masing-masing kelompok. Terlihat bahwa elips untuk kelompok None (biru) berada di posisi sentral dan memiliki luas area yang paling stabil, mengindikasikan karakteristik metrik kesehatan yang paling konsisten.
Elips Sleep Apnea dan Insomnia menunjukkan jarak antar pusat massa (centroids) yang cukup berjauhan, yang membuktikan bahwa kedua gangguan tidur ini memiliki manifestasi klinis yang berbeda secara signifikan dalam data multivariat (satu didominasi masalah tekanan darah, satu didominasi masalah kualitas tidur).
3. Visualisasi Zona Tumpang Tindih (Overlap)
Meskipun akurasi model mencapai 89.04%, visualisasi ini memperlihatkan adanya beberapa titik data yang saling tumpang tindih (overlap), terutama di perbatasan antara elips Insomnia dan None.
Titik-titik yang berada di zona persinggungan ini menjelaskan asal muasal kesalahan klasifikasi (APER) sebesar 10.96% yang ditemukan pada tahap sebelumnya. Hal ini menunjukkan bahwa terdapat sebagian individu penderita insomnia yang memiliki profil kesehatan sangat mirip dengan individu sehat, sehingga sulit dipisahkan secara sempurna hanya dengan fungsi linier.
Kesimpulan Visual: Secara keseluruhan, visualisasi ini membuktikan bahwa model LDA berhasil mentransformasi data kesehatan yang kompleks menjadi ruang baru yang sangat diskriminatif. Pemisahan yang jelas antar pusat klaster menunjukkan bahwa kombinasi linear dari metrik seperti tekanan darah, usia, dan kualitas tidur merupakan prediktor yang sangat kuat dalam mengidentifikasi jenis gangguan tidur seseorang.