Tahap A: Pra-Pemrosesan Data (Data Preprocessing

Memuat Pustaka dan Dataset

# 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.

Penanganan Target dan Pemisahan Fitur Tekanan Darah

# 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.

Seleksi Fitur Numerik dan Standarisasi Data

# 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.

Tahap B: Pengujian Asumsi Analisis Diskriminan.

Uji Normalitas Multivariat

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:

  1. 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.

  2. 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).

  3. 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.

Uji Kesamaan Matriks Kovarians (Homoskedastisitas)

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.

Uji Multikolinieritas

# 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.

  1. 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.

  2. 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 C: Pembentukan Matriks dan Fungsi Diskriminan

Kalkulasi Vektor Rata-rata (Centroids)

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:

  1. 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).

  2. 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.

  3. 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.

Pembentukan Model LDA dan Probabilitas Prior

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.

Ekstraksi Koefisien Diskriminan dan Proporsi Varians (Trace)

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.

Tahap E: Penetapan Aturan Keputusan (Prediksi)

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.

  1. 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”.

  2. 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.

  3. 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.

Tahap F: Evaluasi Kesalahan (Confusion Matrix & APER)

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.

  1. 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.

  2. 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.

  3. 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.

Tahap G: Visualisasi Ruang Diskriminan Multivariat

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

2. Analisis Elips Kepercayaan (Confidence Ellipses)

3. Visualisasi Zona Tumpang Tindih (Overlap)

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.