Uploaded by Andreanne Intan Sulistyo Wardhani

Regresi Data Kesehatan: Laporan Proyek GLM

advertisement
PROYEK UAS
EKONOMETRIKA KEUANGAN
MODEL REGRESI HEALTHCARE DATASET
EVAN FELIX CHANGI
VIERRY KOOSWARA
THEODORUS TRISTAN PRAMONO
LAZARUS LIE
PATRICK PURNOMO
6162201018
6162101031
6162001123
6162001205
6162001208
PROGRAM STUDI MATEMATIKA
FAKULTAS TEKNOLOGI INFORMASI DAN SAINS
UNIVERSITAS KATOLIK PARAHYANGAN
2024
ABSTRAK
1
Analisis data layanan kesehatan sangat penting bagi penyedia layanan kesehatan. Salah satu
cara untuk melakukan analisis data layanan kesehatan adalah dengan GLM (Generalized
Linear Model), sebuah metode regresi linear yang mampu mengolah variabel terikat yang
tidak berdistribusi normal. Sifat tersebut sangat diperlukan dalam menganalisis data layanan
kesehatan karena terdapat variabel numerik dan kategorik yang menyebabkan regresi linear
biasa tidak cukup untuk digunakan. Proyek ini akan menganalisis data layanan kesehatan
dengan menggunakan metode GLM dan melakukan pengujian terhadap model GLM yang
dibangun.
2
3
4
5
6
7
8
9
Kata-kata kunci: Data Layanan Kesehatan;Regresi Linear; Hipotesis; Variabel Bebas;
Variabel Numerik; Variabel Kategorik.
10
11
ABSTRACT
1
Data analysis in healthcare services is crucial for healthcare providers. One way to perform
data analysis in healthcare services is through GLM (Generalized Linear Model), a linear
regression method capable of handling dependent variables that are not normally distributed.
This capability is essential in healthcare service data analysis due to the presence of numeric
and categorical variables that make ordinary linear regression inadequate. This project
will analyze healthcare service data using the GLM method and conduct testing on the
constructed GLM model.
2
3
4
5
6
7
8
Keywords: Linear Regresion; Hypothesis; Independent Variable; Numerical Variable;
Categorical Variable.
9
10
DAFTAR ISI
Daftar Isi
iv
Daftar Gambar
v
Daftar Tabel
vi
1 Pendahuluan
1.1 Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Rumusan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Tujuan Penulisan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1
1
2 Metodologi
2.1 Deskripsi Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Generalized Linear Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Gaussian Link function . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 RMSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Likelihood Ratio Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
4
4
5
5
3 Hasil dan Analisis
3.1 Analisis Data Eksplorasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Data Kategorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Data Numerik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Interaksi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Rangkuman Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Model Multinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Model GLM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
7
11
13
13
14
16
4 Kesimpulan Dan Saran
4.1 Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
18
18
Daftar Referensi
19
A Kode Program
20
iv
DAFTAR GAMBAR
3.1 Bar Chart Variabel Gender . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Bar Chart Variabel Blood Type . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Bar Chart Variabel Medical Condition . . . . . . . . . . . . . . . . . . . . . . .
3.4 Bar Chart Variabel Insurance Provider . . . . . . . . . . . . . . . . . . . . . .
3.5 Bar Chart Variabel Admission Type . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Bar Chart Variabel Medication . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Bar Chart Variabel Test Results . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 Histogram Variabel Age . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9 Histogram Variabel Room Number . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Histogram Variabel Billing Amount . . . . . . . . . . . . . . . . . . . . . . . .
3.11 Plot Variabel Admission.Type dan Gender . . . . . . . . . . . . . . . . . . . . .
v
7
8
8
9
9
10
10
11
12
12
13
DAFTAR TABEL
2.1 Variabel dalam basis data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Tabel Model Multinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Tabel Model GLM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
3
14
17
1.1
BAB 1
1
PENDAHULUAN
2
Latar Belakang
3
Di dunia nyata, data kesehatan sering kali berguna untuk memberi analisis yang lebih mendalam
4
dalam bidang kesehatan. Kesehatan adalah salah satu aspek terpenting dalam kehidupan
5
manusia. Dengan perkembangan teknologi dan ketersediaan data yang semakin meningkat,
6
analisis data kesehatan menjadi alat yang sangat berguna untuk memprediksi dan mengelola
7
kondisi kesehatan masyarakat. Prediksi kondisi kesehatan melalui pemodelan data dapat
8
membantu dalam pencegahan penyakit, perencanaan pengobatan, serta pengambilan keputusan
9
yang lebih baik. Pada tugas ini, akan dibahas untuk pemodelan untuk data kesehatan.
10
Data ini memiliki variabel numerik, kategorik, dan karakter. Pada tugas ini akan dimo- 11
delkan dengan variabel numerik dan kategorik dikarenakan variabel karakter tidak relevan. 12
Selanjutnya, untuk variabel output yang akan dipakai ada dua: Billing.Amount dan Test.Result. 13
Billing.Amount merupakan variabel numerik sehingga akan dimodelkan dengan mengunakan 14
Generalized Linear Model (GLM) dan Test.Result merupakan variabel kategorik sehingga akan 15
dimodelkan dengan menggunakan Mulinomial Linear Model.
16
Dalam tugas ini, untuk menentukan model terbaik akan dibandingkan model dengan adanya 17
interaksi antar variabel dengan model tanpa interaksi antar variabel. Kemudian model tersebut 18
diuji dengan menggunakan nilai akurasi dari prediksi nya untuk model Test.Result dan uji 19
RMSE untuk model Billing.Amount.
20
1.2
21
Rumusan Masalah
Rumusan masalah yang akan diterapkan yaitu:
22
1. Bagaimana hasil analisis data eksplorasi dari variabel acak data?
23
2. Apa model terbaik untuk variabel billing amount?
24
3. Apa model terbaik untuk test result?
25
4. Apa model terbaik test result dengan uji rata-rata dan RMSE?
26
1.3
Tujuan Penulisan
27
Tujuan penulisan makalah ini adalah:
28
1
1.3. Tujuan Penulisan
2
1. Menganalisis data eksplorasi dari variabel acak data.
1
2. Mencari model terbaik untuk variabel billing amount.
2
3. Mencari model terbaik untuk test result.
3
4. Mencari model terbaik test result dengan uji rata-rata dan RMSE.
4
2.1
BAB 2
1
METODOLOGI
2
Deskripsi Data
3
Data yang digunakan dalam proyek ini bersumber dari situs Kaggle mengenai pelayanan
4
kesehatan 1 .
Data ini dibangun secara sintetis dan memiliki sifat yang menyerupai data
5
sesungguhnya sehingga dapat digunakan sebagai alat berlatih dalam menganalisis data dalam
6
konteks dunia kesehatan. Alasan digunakan data yang dibangun secara sintetis ini adalah data
7
dunia nyata mengandung informasi pasien yang sensitif sehingga akses data dunia nyata sangat
8
terbatas (hanya dimiliki oleh pelayan kesehatan).
9
Dalam basis data yang digunakan, terdapat variabel-variabel yang dijelaskan di bawah ini: 10
Tabel 2.1: Variabel dalam basis data.
Nama Variabel
Name
Age
Gender
Blood Type
Medical Condition
Date of Admission
Doctor
Hospital
Insurance Provider
Billing Amount
Room Number
Admission Type
Discharge Date
Medication
Test Result
1
Penjelasan
Nama pasien terkait catatan kesehatan.
Umur pasien ketika dirawat(dalam tahun).
Jenis kelamin pasien (pria atau wanita).
Golongan darah pasien (dapat berupa "A+","O-’, dll).
Kondisi medis primer atau hasil diagnosis pasien.
Jenis Data
Karakter
Numerik
Kategorik
Kategorik
Kategorik
tanggal pasien dirawat.
Nama dokter yang menangani pasien.
Fasilitas kesehatan atau rumah sakit tempat pasien dirawat.
Penyedia asuransi kesehatan pasien.
Karakter
Karakter
Karakter
Kategorik
Biaya pelayanan kesehatan pasien.
Nomor ruangan pasien ketika dirawat.
Kondisi pasien ketika dirawat (berupa "Emergency", "Elective", atau "Urgent").
Tanggal pasien diperbolehkan pulang dari fasilitas layanan
kesehatan.
Obat yang diresepkan atau diberikan pada pasien salam masa
perawatan (contohnya: "Aspirin", "Ibuprofen", "Penicillin",
"Paracetamol", and "Lipitor".)
Hasil tes kesehatan ketika baru dirawat (hasil yang mungkin
adalah: "Normal", "Abnormal", or "Inconclusive".)
Numerik
Numerik
Kategorik
Karakter
Kategorik
Kategorik
Data dapat diakses melalui https://www.kaggle.com/datasets/prasad22/healthcare-dataset/data
3
4
2.2. Generalized Linear Model
2.2
Generalized Linear Model
1
Generalized Linear Model (biasa disingkat sebagai GLM) adalah jenis regresi linear yang men-
2
cangkup variabel terikat yang tidak berdistribusi normal dan memodelkan fungsi rata-rata
3
variabel terikatnya [1]. Pemodelan variabel yang berasumsi tidak normal itu penting karena
4
seringkali variabel terikat bersifat diskret sehingga tidak berditribusi normal. Di dalam GLM
5
terdapat tiga komponen yaitu: random component, systematic component, dan link function.
6
Bagian random component dari GLM adalah bagian yang mengidentifikasi variabel terikat
7
dan distribusinya. Bagian ini terdiri atas variabel terikat Y dengan observasi y1 , . . . , yN yang
8
berdistribusi keluarga eksponensial, yaitu distribusi dengan fungsi kepadatan peluang berbentuk:
9
f (yi ; θi ) = a(θi )b(yi ) exp[yi Q(θi )].
(2.1) 10
Distribusi penting yang termasuk pada distribusi keluarga eksponensial adalah distribusi nrmal, 11
Poisson, dan binomial.
12
Bagian systematic component dari GLM adalah bagian yang menjelaskan variabel bebasnya 13
melalui sebuah model linear. Misalkan xij adalah nilai variabel bebas ke j untuk subyek i. 14
Bagian systematic component secara matematis adalah:
ηi = β0 +
N
X
15
βj xij ,
16
j=1
dengan ηi adalah systematic component untuk subyek i dan βj adalah parameter model linear 17
untuk variabel ke j.
18
Bagian link function adalah fungsi yang menghubungkan random component dengan syste- 19
matic component. Untuk bagian random component digunakan ekspetasinya yaitu: E(Yi ) = µi . 20
Kemudian link function menghubungkan random component dengan systematic component 21
dengan:
22
g(µi ) = ηi = β0 +
N
X
(2.2) 23
βj xij ,
j=1
dengan fungsi g(µi ) adalah link function-nya. Pada distribusi keluarga eksponensial, link 24
function adalah fungsi yang mengubah mean menjadi natural parameter, yaitu fungsi Q(θi ) pada 25
persamaan 2.1. Dengan mengambil θi = µi jelas bahwa link function pada GLM adalah Q(θi ). 26
2.2.1
Gaussian Link function
27
Pada proyek ini digunakan GLM dengan link function berjenis Gaussian yaitu GLM dengan Yi 28
berdistribusi normal. Pemilihan distribusi ini dikarenakan data numerik pada basis data bersifat 29
simetrik. Selain itu data yang tidak berdistribusi normal dapat diaproksimasi ke distribusi 30
normal [2].
31
Fungsi kepadatan peluang distribusi normal adalah:
1
32
1
exp − 2 (y − µ)2 ,
f (y; µ) = √
2
2σ
2πσ
33
5
Bab 2. Metodologi
di mana parameter yang diperhatikan adalah µ dan σ 2 dianggap sebagai nuisance parameter [2].
1
Fungsi kepadatan peluang tersebut dapat ditulis ulang sebagai:
2
1
"
#
y2
yµ
µ2
exp − 2 + 2 − 2 .
f (y; µ) = √
2σ
σ
2σ
2πσ 2
3
Dapat diidentifikasi:
4
1
"
#
µ2
a(µ) = − √
exp − 2 ;
2σ
2πσ 2
"
5
#
y2
b(y) = exp − 2 ;
2σ
µ
Q(µ) = 2
σ
6
7
Dengan asumsi σ 2 = 1 didapatkan link function Gaussian adalah
g(µ) = Q(µ) = µ.
2.3
RMSE
8
(2.3)
9
10
Untuk menguji performa model regresi linear yang dibangun, digunakan RMSE (Root Mean 11
Squared Error). RMSE adalah standar deviasi dari residu. Misalkan yi adalah data aktual 12
ke i, yˆi adalah hasil regresi linear ke i, dan k adalah jumlah variabel bebas yang digunakan, 13
didefinisikan RMSE [3]:
14
v
u
u
RMSE = s = t
n
X
1
(yi − yˆi )2 .
n − (k + 1) i=1
(2.4) 15
Penggunaan n − (k + 1) untuk penyebut di persamaan 2.4 karena terdapat ketergantungan 16
pada residu. Ketergantungan ini disebabkan oleh asumsi rata-rata residu yang bernilai nol 17
dan dibutuhkan setidaknya k+2 observasi untuk menilai variasi. Contohnya dibangun sebuah 18
regresi linear dengan satu variabel bebas. Karena dua observasi membangun garis regresi linear, 19
setidaknya dibutuhkan 3 observasi untuk menghitung variasinya. Dengan demikian hanya 20
terdapat n − (k + 1) residu yang nilainya dapat digunakan untuk menghitung variasi dari regresi 21
linear.
2.4
22
Likelihood Ratio Test
23
Likelihood ratio test digunakan Untuk menguji signifikansi beberapa variabel bebas secara 24
bersamaan [3]. Dibangun dua buah model regresi. Model pertama menggunakan semua variabel 25
bebas. Kemudian model kedua membuang variabel bebas yang dirasa tidak signifikan. Dengan 26
demikian hipotesisnya adalah:
• H0 : nilai parameter dari variabel bebas yang dibuang bernilai nol;
27
28
6
2.4. Likelihood Ratio Test
• H1 : setidaknya salah satu parameter dari variabel bebas yang dibuang tidak bernilai nol.
Uji textitlikelihood ratio Test dilakukan dengan:
LRT = 2(L(b) − L(bReduced )),
1
2
(2.5)
3
untuk L(b) adalah log-likelihood dari model dengan semua variabel bebas dan L(bReduced ) adalah
4
log-likelihood dari model dengan variabel bebas yang dikurangi.
5
Hasil LRT memiliki distribusi chi-square dengan derajat kebebasan sebesar r, yaitu banyaknya variabel bebas yang diuji.
6
7
3.1
BAB 3
1
HASIL DAN ANALISIS
2
Analisis Data Eksplorasi
3
Pada bagian ini, analisis data eksplorasi merupakan tahap awal dalam proses menganalisis
4
sebuah data. Tujuan dari analisis ini untuk memahami karakteristik, pola, dan hubungan yang
5
mungkin ada di dalam data sehingga dapat memberikan pemahaman yang lebih baik tentang
6
data yang akan dianalisis sebelum membuat model regresi linear.
7
3.1.1
8
Data Kategorik
Untuk menganalisis data kategorik, bar chart akan digunakan untuk menggambarkan sebaran
9
data kategorik tersebut. Ada 7 variabel kategorik yang akan dianalisis, yaitu gender, Blood.Type, 10
Medical.Condition, Insurance.Provider, Admission.Type, Medication, dan Test.Results.
11
Gender
12
Gambar 3.1: Bar Chart Variabel Gender
Dari gambar 3.1, dapat dilihat terdapat total 55.500 data observasi. Untuk laki-laki berjumlah 13
27.774 dan perempuan berjumlah 27.726. Dengan demikian, observasi tersebut cukup merata 14
7
3.1. Analisis Data Eksplorasi
8
untuk laki-laki dan perempuan.
1
Blood Type
2
Gambar 3.2: Bar Chart Variabel Blood Type
Terdapat delapan blood type atau golongan darah, yaitu A−, A+, B−, B+, AB−, AB+, O−,
3
dan O+. Terlihat bahwa sebaran semua golongan darah hampir merata di sekitar 6.800 observasi.
4
Medical Condition
5
Gambar 3.3: Bar Chart Variabel Medical Condition
Terdapat enam medical condition yang diobservasi, yaitu obesity, cancer, arthritis, diabetes,
6
asthma, dan hypertension. Dari gambar 3.3, semua medical condition hampir merata di sekitar
7
Bab 3. Hasil dan Analisis
9
9.200 observasi.
1
Insurance Provider
2
Gambar 3.4: Bar Chart Variabel Insurance Provider
Ada lima insurance provider yang diobservasi, yaitu UnitedHealthCare, Cigna, Aetna, Medicare,
3
dan Blue Cross. Dari gambar 3.4, semua sebaran hampir merata di sekitar 11.000 observasi.
4
Tetapi, observasi paling sedikit ada di insurance Aetna.
5
Admission Type
6
Gambar 3.5: Bar Chart Variabel Admission Type
3.1. Analisis Data Eksplorasi
10
Terdapat tiga admission type yang diobservasi, yaitu urgent, emergency, dan elective. Semua
1
admission type memiliki sebaran merata di sekitar 18.000 observasi yang dapat dilihat di gambar
2
3.5.
3
Medication
4
Gambar 3.6: Bar Chart Variabel Medication
Ada lima medication yang diobservasi, yaitu aspirin, lipitor, ibuprofen, paracetamol dan penicillin.
5
Dari gambar 3.6, semua medication hampir merata di sekitar 11.000 observasi.
6
Test Results
7
Gambar 3.7: Bar Chart Variabel Test Results
11
Bab 3. Hasil dan Analisis
Ada tiga test results yang diobservasi, yaitu normal, abnormal, dan inconclusive. Dari gambar
1
3.7, semua test results hampir merata di sekitar 18.000 observasi.
2
3.1.2
3
Data Numerik
Untuk menganalisis data numerik, akan digunakan histogram untuk menggambarkan sebaran
4
data numerik tersebut. Ada 3 variabel numerik yang akan dianalisis, yaitu age, Room.Number,
5
dan Billing.Amount.
6
Age
7
Gambar 3.8: Histogram Variabel Age
Histogram pada gambar 3.8 menunjukkan bahwa variabel age berdistribusi normal. Oleh sebab
8
itu, tidak perlu dilakukan transformasi variabel age.
9
3.1. Analisis Data Eksplorasi
12
Room Number
1
Gambar 3.9: Histogram Variabel Room Number
Histogram pada gambar 3.9 menunjukkan bahwa variabel room number tidak berdistribusi
2
normal. Oleh karena itu, variabel room number memungkinkan untuk dilakukan transformasi
3
logaritma.
4
Billing Amount
5
Gambar 3.10: Histogram Variabel Billing Amount
Histogram pada gambar 3.10 menunjukkan bahwa variabel billing amount berdistribusi normal.
6
Oleh sebab itu, tidak perlu dilakukan transformasi variabel billing amount.
7
Bab 3. Hasil dan Analisis
3.2
13
Interaksi
1
Pada bagian interaksi, akan dilihat bagaimana hubungan antara variabel khusus kategorik.
2
Untuk setiap variabel, hanya variabel Admision.Type dan variabel Gender yang tidak memiliki
3
interaksi karena garis dari kedua variabel tidak bersentuhan. Sedangkan variabel-variabel
4
kategorik lain memiliki interaksi dengan variabel lainnya.
5
Gambar 3.11: Plot Variabel Admission.Type dan Gender
Plot pada gambar 3.11 menunjukkan bahwa variabel Adnmission.Type dan variabel Gender
6
tidak memiliki interaksi.
7
3.3
8
Rangkuman Dataset
Berdasarkan subbab 3.1 dan 3.2, variabel bebas yang akan dipakai untuk memodelkan variabel
9
terikat Test.Results dan Billing.Amount yaitu
10
1. Age,
11
2. Gender,
12
3. Blood.T ype,
13
4. M edical.Condition,
14
5. Insurance.P rovider,
15
6. Room.N umber,
16
7. Admission.T ype,
17
8. M edication.
18
Dan variabel bebas kategorik yang memiliki interaksi yaitu:
19
14
3.4. Model Multinomial
1. Blood.T ype ∗ Gender,
1
2. M edical.Condition ∗ Gender,
2
3. M edication ∗ Gender,
3
4. Blood.T ype ∗ M edical.Condition,
4
5. Blood.T ype ∗ Admission.T ype,
5
6. Blood.T ype ∗ M edication,
6
7. M edical.Condition ∗ Admission.T ype,
7
8. M edical.Condition ∗ M edication,
8
9. Gender ∗ Insurance.P rovider,
9
10. Blood.T ype ∗ Insurance.P rovider,
10
11. M edical.Condition ∗ Insurance.P rovider,
11
12. Admission.T ype ∗ Insurance.P rovider,
12
13. M edication ∗ Insurance.P rovider.
13
3.4
Model Multinomial
14
Tabel 3.1: Tabel Model Multinomial
Variabel Utama
Variabel Utama + Interaksi
Train
Test
34,4%
37%
33,29%
32,6%
Dari tabel 3.1, dapat dilihat akurasi model multinomial dibagi menjadi dua. Model pertama 15
adalah model dengan variabel utama saja dan model kedua adalah model dengan variabel utama 16
ditambah interaksi. Di model pertama, data train variabel utama memiliki akurasi sebesar 17
34,4%. Untuk variabel utama ditambah interaksi, akurasinya sedikit lebih baik sebesar 37%. 18
Tetapi, untuk data test yang terjadi adalah sebaliknya. Untuk variabel utama memiliki akurasi 19
yang lebih baik sebesar 33, 29% dibandingkan model variabel utama ditambah interaksi yang 20
sebesar 32, 6%.
21
Pada bagian ini, akan dilihat model multinomial untuk variabel terikat test results dengan 22
variabel-variabel bebas yang sudah ditransformasi, seleksi, dan interaksi. Maka, model dari 23
seluruh variabelnya dengan kode RStudio beserta output sebagai berikut:
24
Bab 3. Hasil dan Analisis
15
(Intercept)
Age GenderMale Blood.TypeA+ Blood.TypeAB- Blood.TypeAB+
0.9481212 1.0001290
1.003681
1.007706
0.9666688
0.9939797
0.9785717 0.9989654
1.030083
1.018340
1.0020257
1.0033431
Blood.TypeB- Blood.TypeB+ Blood.TypeO- Blood.TypeO+ Medical.ConditionAsthma
Inconclusive
0.9670793
0.9978985
0.9637409
0.9631155
1.047719
Normal
1.0049009
1.0254431
0.9867398
1.0219445
1.132506
Medical.ConditionCancer Medical.ConditionDiabetes
Inconclusive
1.032991
1.035105
Normal
1.013029
1.048066
Medical.ConditionHypertension Medical.ConditionObesity
Inconclusive
1.067354
0.9818211
Normal
1.104784
1.0035002
Insurance.ProviderBlue Cross Insurance.ProviderCigna
Inconclusive
1.018276
0.9641757
Normal
1.022186
0.9831262
Insurance.ProviderMedicare Insurance.ProviderUnitedHealthcare Room.Number
Inconclusive
0.9677545
0.9395184
0.9999798
Normal
0.9978120
1.0043453
1.0000020
Admission.TypeEmergency Admission.TypeUrgent MedicationIbuprofen
Inconclusive
0.9990075
0.9937851
1.055225
Normal
0.9762046
0.9890435
1.026947
MedicationLipitor MedicationParacetamol MedicationPenicillin
Inconclusive
1.059685
1.032749
1.058713
Normal
1.002630
1.008498
1.013486
Inconclusive
Normal
1
Ada beberapa hal yang dapat diinterpretasikan dari model ini untuk odds dari observasi
2
masuk ke kelompok Inconclusive per nilai peluang dari observasi masuk ke kelompok Abnormal:
3
1. untuk setiap kenaikan satu unit Age maka nilai odds-nya akan bertambah sebanyak 1.0001,
4
2. untuk setiap kenaikan satu unit GenderMale maka nilai odds-nya akan bertambah sebanyak
5
1.0036 lebih banyak dibandingkan GenderFemale,
3. Untuk setiap kenaikan satu unit Blood.TypeA+, nilai odds-nya akan bertambah sebanyak
1.0077 lebih banyak dibandingkan Blood.TypeA-.
4. Untuk setiap kenaikan satu unit Blood.TypeAB-, nilai odds-nya akan berkurang sebanyak
0.9667 dibandingkan tipe Blood.TypeA-.
6
7
8
9
10
5. Untuk setiap kenaikan satu unit Blood.TypeAB+, nilai odds-nya akan berkurang sebanyak 11
0.9940 dibandingkan tipe Blood.TypeA-.
12
6. Untuk setiap kenaikan satu unit Blood.TypeB-, nilai odds-nya akan berkurang sebanyak 13
0.9671 dibandingkan tipe Blood.TypeA-.
14
7. Untuk setiap kenaikan satu unit Blood.TypeB+, nilai odds-nya akan berkurang sebanyak 15
0.9979 dibandingkan tipe Blood.TypeA-.
16
8. Untuk setiap kenaikan satu unit Blood.TypeO-, nilai odds-nya akan berkurang sebanyak 17
0.9637 dibandingkan tipe Blood.TypeA-.
18
9. Untuk setiap kenaikan satu unit Blood.TypeO+, nilai odds-nya akan berkurang sebanyak 19
0.9631 dibandingkan tipe Blood.TypeA-.
20
10. Untuk setiap kenaikan satu unit Medical.ConditionAsthma, nilai odds-nya akan bertambah 21
sebanyak 1.0477 lebih banyak dibandingkan Medical.ConditionArthritis.
22
11. Untuk setiap kenaikan satu unit Medical.ConditionCancer, nilai odds-nya akan bertambah 23
sebanyak 1.0330 lebih banyak dibandingkan Medical.ConditionArthritis.
24
3.5. Model GLM
16
12. Untuk setiap kenaikan satu unit Medical.ConditionDiabetes, nilai odds-nya akan bertambah
sebanyak 1.0351 lebih banyak dibandingkan Medical.ConditionArthritis.
1
2
13. Untuk setiap kenaikan satu unit Medical.ConditionHypertension, nilai odds-nya akan
3
bertambah sebanyak 1.0674 lebih banyak dibandingkan Medical.ConditionArthritis.
4
14. Untuk setiap kenaikan satu unit Medical.ConditionObesity, nilai odds-nya akan berkurang
5
sebanyak 0.9818 dibandingkan Medical.ConditionArthritis.
15. Untuk setiap kenaikan satu unit Insurance.ProviderBlueCross, nilai odds-nya akan bertambah sebanyak 1.0183 lebih banyak dibandingkan Insurance.ProviderAetna.
16. Untuk setiap kenaikan satu unit Insurance.ProviderCigna, nilai odds-nya akan berkurang
sebanyak 0.9642 dibandingkan Insurance.ProviderAetna.
6
7
8
9
10
17. Untuk setiap kenaikan satu unit Insurance.ProviderMedicare, nilai odds-nya akan berkurang 11
sebanyak 0.9678 dibandingkan Insurance.ProviderAetna.
12
18. Untuk setiap kenaikan satu unit Insurance.ProviderUnitedHealthcare, nilai odds-nya akan 13
berkurang sebanyak 0.9395 dibandingkan Insurance.ProviderAetna.
14
19. Untuk setiap kenaikan satu unit Room.Number, nilai odds-nya akan berkurang sebanyak 15
0.99998, yang hampir tidak berarti perubahan.
16
20. Untuk setiap kenaikan satu unit Admission.TypeEmergency, nilai odds-nya akan berkurang 17
sebanyak 0.9990 dibandingkan Admission.TypeElective.
18
21. Untuk setiap kenaikan satu unit Admission.TypeUrgent, nilai odds-nya akan berkurang 19
sebanyak 0.9938 dibandingkan Admission.TypeElective.
20
22. Untuk setiap kenaikan satu unit MedicationIbuprofen, nilai odds-nya akan bertambah 21
sebanyak 1.0552 lebih banyak dibandingkan MedicationAspirin.
22
23. Untuk setiap kenaikan satu unit MedicationLipitor, nilai odds-nya akan bertambah sebanyak 23
1.0597 lebih banyak dibandingkan MedicationAspirin.
24
24. Untuk setiap kenaikan satu unit MedicationParacetamol, nilai odds-nya akan bertambah 25
sebanyak 1.0327 lebih banyak dibandingkan MedicationAspirin.
26
25. Untuk setiap kenaikan satu unit MedicationPenicillin, nilai odds-nya akan bertambah 27
sebanyak 1.0587 lebih banyak dibandingkan MedicationAspirin.
28
Untuk interpretasi odds dari peluang observasi masuk ke kelompok Normal per nilai peluang 29
observasi masuk ke kelompok Abnormal memiliki interpretasi yang serupa dengan di atas.
30
3.5
31
Model GLM
Dari tabel 3.2, akurasi model GLM dibagi menjadi tiga model dimulai dari model kedua. Model 32
kedua adalah model dengan variabel dengan interaksi, model tiga adalah model dengan variabel 33
17
Bab 3. Hasil dan Analisis
Tabel 3.2: Tabel Model GLM
Variabel Utama
Variabel Utama + Interaksi
Hanya β0
AIC
RMSE
853498
853298
853272
14230.11
14204.05
14202.34
utama saja tambah interaksi, dan model ketiga adalah model yang hanya menggunakan β0 saja .
1
Pada tabel dapat terlihat AIC dan RMSE paling kecil ditunjukkan oleh model keempat yaitu
2
model yang hanya menggunakan β0 saja.
3
lrtest
4
Selanjutnya akan dilakukann LR test pada model dua, model tiga, dan model empat. Secara
5
singkat, LR test atau likelihood ratio test adalah metode statistik yang digunakan untuk
6
membandingkan dua model statistik, yaitu model yang lebih sederhana (nested model) dengan
7
model yang lebih kompleks.
8
1
2
3
#Df
2
27
226
Loglik
-426634
-426622
-426523
Df
Chisq Pr($<$Chisq)
25
199
24.415
197.975
0.4955
0.5072
9
Dapat dilihat bahwa peluang chisquare diatas 0,05, maka variabel secara bersamaan tidak 10
dibutuhkan. Sehingga model empat adalah model yang paling baik.
11
interpretasi model
12
Call:
glm(formula = Billing.Amount ~ 1, family = "gaussian")
Deviance Residuals:
Min
1Q
Median
3Q
Max
-27214.8 -12313.6
-16.7
12263.8
27209.5
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 25554.80
72.12
354.3
<2e-16 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for gaussian family taken to be 202076769)
Null deviance: 7.8509e+12
Residual deviance: 7.8509e+12
AIC: 853272
on 38851
on 38851
degrees of freedom
degrees of freedom
Number of Fisher Scoring iterations: 2
13
Dengan menggunakan summary dari model 4, dapat dilihat bahwa nilai parameter β0 adalah 14
25554,8. Sehingga interpretasinya adalah setiap orang memiliki perkiraan Billing Ammount 15
25554,8.
16
4.1
BAB 4
1
KESIMPULAN DAN SARAN
2
Kesimpulan
3
Berdasarkan hasil analisis yang dilakukan pada bab 3 diperoleh kesimpulan-kesimpulan berikut:
4
1. Hasil model dengan variabel terikat Test.Result dengan menggunakan varibel acak Age,
5
Gender, Blood.Type, Medical.Conition, Insurance.Provider, Room.Number, Admission.Type,
6
dan Medication memberikan keakuratan prediksi sebesar 34,4% untuk data train dan
7
33,29% untuk data test.
8
2. Hasil model dengan variabel terikat Billing.Amount dengan menggunakan β0 saja mem-
9
berikan RMSE sebesar 14202,34 yang berarti rata-rata dari error tiap observasi sebesar 10
14202,34 dengan besar Billing.Amount untuk tiap observasi adalah 25554,8
4.2
Saran
11
12
Saran untuk pengembangan skripsi ini yang dapat dilakukan adalah
13
1. menggunakan model-model lain seperti SVM, Random Forest, Neural Network.
14
2. menggunakan transformasi pada variabel-variabel terikatnya.
15
18
DAFTAR REFERENSI
[1] Agresti, A. (2012) Categorical data analysis. John Wiley & Sons.
[2] Dobson, A. dan Barnett, A. (2018) An Introduction to Generalized Linear Models Chapman
& Hall/CRC Texts in Statistical Science. CRC Press.
[3] Frees, E. (2009) Regression Modeling with Actuarial and Financial Applications International
Series on Actuarial Science. Cambridge University Press.
19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
LAMPIRAN A
1
KODE PROGRAM
2
Kode A.1: Kode Program R Untuk Dataset Asuransi Kesehatan Amerika Serikat
#import data
setwd("D:\\Users\\lazarus\\Downloads")
library(car)
library(lmtest)
library(MASS)
library(AICcmodavg)
library(mosaicData)
insurance <- read.csv("insurance.csv")
insurance$region <- as.factor(insurance$region)
insurance$smoker <- as.factor(insurance$smoker)
insurance$sex <- as.factor(insurance$sex)
insurance$children <- as.factor(insurance$children)
str(insurance)
#corelasi dan signifikan
attach(insurance)
pairs(insurance)
cor(age,charges)
cor(bmi,charges)
par(mfrow=c(1,1))
scatterplot(age,charges)
scatterplot(bmi,charges)
#2-sample t-test
boxplot(charges~sex)
boxplot(charges~smoker)
t.test(charges~sex, var.equal=T)
t.test(charges~smoker, var.equal=T)
#anova
boxplot(charges~children)
anova1 <- aov(charges~children)
summary(anova1)
TukeyHSD(anova1)
boxplot(charges~region)
anova2 <- aov(charges~region)
summary(anova2)
TukeyHSD(anova2)
#Analis data eksplorasi
#kategorik
par(mar = c(5, 5, 5, 5))
lbls <- paste(names(sex_plot), "\n", sex_plot)
pie(sex_plot, labels = lbls, col = c("pink", "blue"), main = "Pie Chart dari Gender")
children_plot <- table(children)
lbls <- names(children_plot)
pct <- round (children_plot/sum(children_plot) * 100)
lbls <- paste(lbls,pct)
lbls <- paste(lbls,"%")
pie(children_plot,labels = lbls,col = rainbow(length(lbls)) ,main = "Pie Chart dari Children")
smoker_plot <- table(smoker)
lbls <- paste(names(smoker_plot),"\n",smoker_plot)
pie(smoker_plot,labels = lbls,col = c("red","green"),main = "Pie Chart dari Smoker")
region_plot <- table(region)
20
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Lampiran A. Kode Program
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
lbls <- names(region_plot)
pct <- round (region_plot/sum(region_plot) * 100)
lbls <- paste(lbls,pct)
lbls <- paste(lbls,"%")
pie(region_plot,labels = lbls,col = rainbow(length(lbls)) ,main = "Pie Chart dari Region")
#numerik
hist(age,breaks=10, freq=F, col="lightblue")
lines(density(age), col="red")
hist(bmi, breaks = 10 , freq = F, col="lightblue")
lines(density(bmi), col="red")
dev.off()
#linear model 2 dengan interaksi dan pengurangan variabel children dan sex
model2 <- lm(charges ~ log(age) + children + region +smoker*sex, data = insurance)
summary(model2)
par(mfrow=c(2,2))
plot(model2)
#transformasi boxcox
par(mfrow=c(1,1))
box2 <- boxcox(model2)
(lambda <- box2$x[which.max(box2$y)])
boxmodel2<- lm(charges^0.1010101 ~ log(age)+ children + region +smoker*sex, data=insurance)
summary(boxmodel2)
par(mfrow=c(2,2))
plot(boxmodel2)
boxresid2 <- boxmodel2$residuals
shapiro.test(boxresid2)
bptest(boxmodel2)
vif(boxmodel2)
#Outlier
par(mfrow=c(1,1))
bon <- rstudent(boxmodel2)
boxplot(boxresid2)
boxplot.stats(boxresid2)$out
outlierTest(boxmodel2)
insurance[c(517,431,103,1040,527,220,1020,1028),]
insurance1 <- insurance[-c(517,431,103,1040,527,220,1020,1028),]
#model baru dengan pengurangan dan interaksi
model4 <- lm(charges ~ log(age)+ children + region +smoker*sex, data = insurance1)
summary(model4)
par(mfrow=c(2,2))
plot(model4)
#transformasi boxcox
par(mfrow=c(1,1))
box4 <- boxcox(model4)
(lambda <- box4$x[which.max(box4$y)])
boxmodel4<- lm(charges^0.06060606 ~
summary(boxmodel4)
par(mfrow=c(2,2))
plot(boxmodel4)
boxresid4 <- boxmodel4$residuals
shapiro.test(boxresid4)
bptest(boxmodel4)
vif(boxmodel4)
log(age) + region + children + smoker*sex, data=insurance1)
#interaction plot
par(mfrow=c(1,1))
interaction.plot(smoker, sex, charges, main="Interaction Plot of
insurance by sex*smoker", xlab = "smoker", ylab = "charges",
col=c("red","blue"),lty=c(1,2,3),pch=3,legend = F)
legend("topleft",inset = .1, c("Female","Male"
),col=c("red","blue"), lty=c(1,2,3), pch=3,
title="Sex")
detach(insurance)
21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Download