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