Email:
RPubs: https://rpubs.com/Theodora


1 Regresi Linear Berganda

Dalam proyek ini saya memberikan anda dataset insurance.csv, informasi lanjut mengenai data ini dapat anda baca di Kaggle.

Tugas kalian adalah sebagai berikut:

  1. Meringkas informasi penting yang terkandung data isurance.csv tersebut.
  2. Memahami faktor-faktor apa yang mempengaruhi premi asuransi konsumen.
  3. Menemukan model terbaik yang dapat memprediksi premi asuransi konsumen.

2 Packages

Dari dataset insurance diatas kita dapat melihat bahwa data tersebut memiliki beberapa variabel:

  • Age: usia penerima manfaat utama.

  • Sex: jenis kelamin kontraktor asuransi, perempuan, laki-laki.

  • BMI: Indeks massa tubuh, memberikan pemahaman tentang tubuh, bobot yang relatif tinggi atau rendah relatif terhadap tinggi badan, indeks objektif berat badan \((kg/m^2)\) menggunakan rasio tinggi terhadap berat, idealnya 18,5 menjadi 24.9.

  • Children: Jumlah anak yang dilindungi oleh asuransi kesehatan / Jumlah tanggungan.

  • Smoker: Apakah orang tersebut perokok atau bukan.

  • Region: daerah tempat tinggal penerima di AS, timur laut, tenggara, barat daya, barat laut.

  • Cost: Biaya medis individu ditagih oleh asuransi kesehatan.

## [1] "age"      "sex"      "bmi"      "children" "smoker"   "region"   "charges"

2.1 Periksa Data Hilang

Dalam setiap proses pengolahan data, sering kita melakuan keslaahan pemeriksaan data yang hilang (missing values) sebelum melakukan proses analisa. Secara sederhana dapat dilakukan pemeriksaan data NA dengan R, sebagai berikut:

##      age      sex      bmi children   smoker   region  charges 
##        0        0        0        0        0        0        0

Ternyata dari hasil pemeriksaan diatas sangat memuaskan karena tidak ada data yang hilang (missing value) pada dataset tersebut.

2.2 Data Duplikat

Untuk mengecek agar tidak adanya data yang sama maka kita lakukan perintah ini

##   row_of_data row_of_unique.data
## 1        1338               1337

Dikarenakan ada data yang sama, maka langkah selanjutnya adalah menghapus atau menghilangkan data yang sama dengan cara

Setelah itu kita cek kembali apakah datanya masih ada yang sama.

##   row_of_data row_of_unique.data
## 1        1337               1337

Nah, karena sudah tidak ada lagi data yang bermasalah, selanjutnya data yang sudah dibersihkan disimpan untuk proses berikutnya.

Jika ingin melihat ringkasan dari dataset ini, maka kita lakukan.

##       age            sex                 bmi           children    
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000  
##  1st Qu.:27.00   Class :character   1st Qu.:26.29   1st Qu.:0.000  
##  Median :39.00   Mode  :character   Median :30.40   Median :1.000  
##  Mean   :39.22                      Mean   :30.66   Mean   :1.096  
##  3rd Qu.:51.00                      3rd Qu.:34.70   3rd Qu.:2.000  
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000  
##     smoker             region             charges     
##  Length:1337        Length:1337        Min.   : 1122  
##  Class :character   Class :character   1st Qu.: 4746  
##  Mode  :character   Mode  :character   Median : 9386  
##                                        Mean   :13279  
##                                        3rd Qu.:16658  
##                                        Max.   :63770

3 Pembersihan Data

3.1 Periksa Struktur Data

Kemudian kita harus melihat struktur dari dataset kita, apakah strukturnya sudah benar atau belum. Berikut ini adalah struktur dari dataset:

dikarenakan struktur data yang saya miliki masih berantakan, maka kita harus merapikannya sesuai dnegan identiats setiap variabel, apakah data tersebut numeric atau character. Sehingga data bisa diolah dengan baik.

## 'data.frame':    1337 obs. of  7 variables:
##  $ age     : int  19 18 28 33 32 31 46 37 37 60 ...
##  $ sex     : chr  "female" "male" "male" "male" ...
##  $ bmi     : num  27.9 33.8 33 22.7 28.9 ...
##  $ children: int  0 1 3 0 0 0 1 3 2 0 ...
##  $ smoker  : Factor w/ 2 levels "no","yes": 2 1 1 1 1 1 1 1 1 1 ...
##  $ region  : Factor w/ 4 levels "northeast","northwest",..: 4 3 3 2 2 3 3 2 1 2 ...
##  $ charges : num  16885 1726 4449 21984 3867 ...

3.2 Periksa Data Hilang

Dalam setiap proses pengolahan data, sering kita melakuan keslaahan pemeriksaan data yang hilang (missing values) sebelum melakukan proses analisa. Secara sederhana dapat dilakukan pemeriksaan data NA dengan R, sebagai berikut:

##      age      sex      bmi children   smoker   region  charges 
##        0        0        0        0        0        0        0

Ternyata dari hasil pemeriksaan diatas sangat memuaskan karena tidak ada data yang hilang (missing value) pada dataset tersebut.

3.3 Data Duplikat

Untuk mengecek agar tidak adanya data yang sama maka kita lakukan perintah ini

##   row_of_data row_of_unique.data
## 1        1337               1337

Dikarenakan ada data yang sama, maka langkah selanjutnya adalah menghapus atau menghilangkan data yang sama dengan cara

Setelah itu kita cek kembali apakah datanya masih ada yang sama.

##   row_of_data row_of_unique.data
## 1        1337               1337

Nah, karena sudah tidak ada lagi data yang bermasalah, selanjutnya data yang sudah dibersihkan disimpan untuk proses berikutnya.

Jika ingin melihat ringkasan dari dataset ini, maka kita lakukan.

##       age            sex                 bmi           children     smoker    
##  Min.   :18.00   Length:1337        Min.   :15.96   Min.   :0.000   no :1063  
##  1st Qu.:27.00   Class :character   1st Qu.:26.29   1st Qu.:0.000   yes: 274  
##  Median :39.00   Mode  :character   Median :30.40   Median :1.000             
##  Mean   :39.22                      Mean   :30.66   Mean   :1.096             
##  3rd Qu.:51.00                      3rd Qu.:34.70   3rd Qu.:2.000             
##  Max.   :64.00                      Max.   :53.13   Max.   :5.000             
##        region       charges     
##  northeast:324   Min.   : 1122  
##  northwest:324   1st Qu.: 4746  
##  southeast:364   Median : 9386  
##  southwest:325   Mean   :13279  
##                  3rd Qu.:16658  
##                  Max.   :63770

4 Perilaku Anggota Asuransi

Tujuan bab ini adalah untuk mengetahui perilaku anggota asuransi seperti: umur, jenis kelamin, wilayah, perokok.

4.1 Usia anggota asuransi

Distribusi usia anggota asuransi relatif sama, kecuali 18 dan 19 tahun anggota yang memiliki populasi lebih tinggi (di atas yang usia 60 tahun). Saya juga membuat kelompok usia anggota pada tabel di bawah ini.

##     Agecut total
## 1  [15,20]   165
## 2  (20,25]   140
## 3  (25,30]   138
## 4  (30,35]   130
## 5  (35,40]   127
## 6  (40,45]   137
## 7  (45,50]   144
## 8  (50,55]   140
## 9  (55,60]   125
## 10 (60,65]    91

Nah dari hasil diatas juga melihatkan bahwa yang berusia diantara 15-20 totalnya 166 dan lebih banyak daripada yang berusia 60 tahun yang totalnya 91.

4.2 Berdasarkan Jenis Kelamin Anggota Asuransi

## Warning: The titlefont attribute is deprecated. Use title = list(font = ...)
## instead.

Jenis kelamin peserta asuransi hampir sama (laki-laki = 675 orang & perempuan = 662 orang).

4.3 Wilayah Asuransi

## Warning: The titlefont attribute is deprecated. Use title = list(font = ...)
## instead.

Wilayah tempat tinggal anggota asuransi tersebar merata.

4.4 Anggota Asuransi yang Merokok

Banyak anggotanya bukan perokok (79,5% atau 1063 orang) dan sisanya sebanyak 274 orang adalah perokok.

4.5 Jumlah Tanggungan

## Warning: The titlefont attribute is deprecated. Use title = list(font = ...)
## instead.

5 Variabel yang Mempengaruhi Biaya Pengobatan

Saya membuat analisis kepadatan ini untuk menemukan variabel-variabel yang mempengaruhi biaya medis. Dari analisis ini (Anda perlu melihat grafik kepadatan), saya mendapatkan beberapa wawasan:

  1. Jenis kelamin tidak berdampak pada asuransi biaya pengobatan karena laki-laki dan perempuan memiliki distribusi / kepadatan yang sama terhadap pungutan (lihat Bagan 5.1).

  2. Daerah tidak terlalu berpengaruh terhadap asuransi biaya kesehatan karena 4 daerah hampir memiliki distribusi / kepadatan yang sama terhadap retribusi (lihat Grafik 5.2).

  3. Perokok dan bukan perokok mempengaruhi asuransi biaya pengobatan karena distribusi / kepadatannya sangat berbeda (lihat Grafik 5.3).

  4. Jumlah anak / tanggungan memiliki kepadatan yang sama terhadap pungutan, kecuali jumlah anak nol. Jadi, jika Anda tidak memiliki anak maka akan berdampak pada asuransi biaya kesehatan (lihat Bagan 5.4).

Berdasarkan wawasan tersebut, saya dapat menyimpulkan bahwa Asap, total tanggungan, umur, dan BMI merupakan variabel yang digunakan untuk memprediksi asuransi biaya pengobatan.

6 Membuat grafik Persamaan

Karena perokok, tanggungan total, dan IMT berpengaruh terhadap asuransi biaya kesehatan, saya mengelompokkan faktor-faktor tersebut ke dalam 8 kategori yang ditunjukkan pada sub-bab di bawah ini. Akhirnya, saya hanya memiliki usia atau dan BMI sebagai variabel input untuk persamaan prediksi saya. Persamaannya akan ditampilkan di sub-bab, jadi Anda perlu memeriksanya.

G1 : Smoker, have no dependent, BMI under 30.

G2 : Smoker, have no dependent, BMI over 30.

G3 : Smoker, have dependents, BMI under 30.

G4 : Smoker, have dependents, BMI over 30.

G5 : Non-smoker, have no dependent, BMI under 30.

G6 : Non-smoker, have no dependent, BMI over 30.

G7 : Non-smoker, have dependents, BMI under 30.

G8 : Non-smoker, have dependents, BMI over 30.

6.1 Grafik 1

Perkokok, tidak memilik tanggunagn, BMI dibawah 30

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_smoker_nochild_under30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5740.7 -2372.9  -776.5   612.0 17119.6 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 11970.56    1454.78   8.228 5.55e-11 ***
## age           252.39      36.25   6.962 5.70e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4276 on 52 degrees of freedom
## Multiple R-squared:  0.4824, Adjusted R-squared:  0.4725 
## F-statistic: 48.46 on 1 and 52 DF,  p-value: 5.696e-09
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_smoker_nochild_under30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2539.3 -1754.2 -1059.9  -203.1 15678.0 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -956.74    5104.29  -0.187   0.8521    
## age           251.20      34.35   7.312 1.75e-09 ***
## bmi           505.18     192.06   2.630   0.0112 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4051 on 51 degrees of freedom
## Multiple R-squared:  0.5442, Adjusted R-squared:  0.5264 
## F-statistic: 30.45 on 2 and 51 DF,  p-value: 1.985e-09

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 2 variabel (umur dan BMI) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

-956.74 + (251.20 * AGE) + (505.18 * BMI)

6.2 Grafik 2

Perokok, tidak memiliki tanggungan, BMI di atas 30.

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_smoker_nochild_over30)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -19722  -2239  -1235    786  19807 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 28983.17    1737.81  16.678  < 2e-16 ***
## age           306.74      43.38   7.071 2.05e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5361 on 59 degrees of freedom
## Multiple R-squared:  0.4587, Adjusted R-squared:  0.4495 
## F-statistic:    50 on 1 and 59 DF,  p-value: 2.05e-09
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_smoker_nochild_over30)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -16667.0  -1505.1   -737.2     47.9  22684.4 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8120.10    5338.78   1.521 0.133702    
## age           292.16      38.73   7.544 3.57e-10 ***
## bmi           614.01     150.40   4.082 0.000138 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4766 on 58 degrees of freedom
## Multiple R-squared:  0.5795, Adjusted R-squared:  0.565 
## F-statistic: 39.97 on 2 and 58 DF,  p-value: 1.225e-11

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 2 variabel (umur dan BMI) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

8120.10 + (292.16 * AGE) + (614.01 * BMI)

6.3 Grafik 3

Perokok, Memiliki tanggungan, BMI dibawah 30.

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_smoker_child_under30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4651.4 -1487.2  -352.5   637.6 15865.3 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 10842.61    1332.43   8.137 7.77e-12 ***
## age           274.71      33.18   8.280 4.19e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3199 on 73 degrees of freedom
## Multiple R-squared:  0.4843, Adjusted R-squared:  0.4772 
## F-statistic: 68.56 on 1 and 73 DF,  p-value: 4.194e-12
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_smoker_child_under30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2741.8 -1070.1  -608.8    -5.2 15619.8 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2428.48    2769.81   0.877   0.3835    
## age           259.48      31.33   8.282 4.56e-12 ***
## bmi           359.27     105.64   3.401   0.0011 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2989 on 72 degrees of freedom
## Multiple R-squared:  0.5557, Adjusted R-squared:  0.5433 
## F-statistic: 45.02 on 2 and 72 DF,  p-value: 2.075e-13

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 2 variabel (umur dan BMI) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

2428.48 + (259.48 * AGE) + (359.27 * BMI)

6.4 Grafik 4

Perokok, Memiliki tanggungan, BMI diatas 30.

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_smoker_child_over30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4354.3 -2271.4  -859.3  1174.1 18445.4 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 32648.20    1361.98  23.971  < 2e-16 ***
## age           241.21      31.86   7.572 4.89e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3723 on 82 degrees of freedom
## Multiple R-squared:  0.4115, Adjusted R-squared:  0.4043 
## F-statistic: 57.34 on 1 and 82 DF,  p-value: 4.889e-11
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_smoker_child_over30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2212.2 -1334.7  -653.6    40.7 17621.6 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 16021.03    3341.64   4.794 7.30e-06 ***
## age           253.72      27.69   9.162 3.81e-14 ***
## bmi           447.91      84.22   5.318 9.08e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3225 on 81 degrees of freedom
## Multiple R-squared:  0.5638, Adjusted R-squared:  0.553 
## F-statistic: 52.35 on 2 and 81 DF,  p-value: 2.553e-15

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 2 variabel (umur dan BMI) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

16021.03 + (253.72 * AGE) + (447.91 * BMI)

6.5 Grafik 5

Bukan Perokok, tidak memiliki tanggunan, BMI dibawah 30.

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_nonsmoker_nochild_under30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2428.1 -1440.0  -886.5  -391.6 21672.8 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -3239.15     687.81  -4.709 4.43e-06 ***
## age           277.00      16.79  16.495  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3950 on 217 degrees of freedom
## Multiple R-squared:  0.5563, Adjusted R-squared:  0.5543 
## F-statistic: 272.1 on 1 and 217 DF,  p-value: < 2.2e-16
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_nonsmoker_nochild_under30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2457.4 -1453.0  -852.6  -391.1 21715.4 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -3791.02    2191.60  -1.730   0.0851 .  
## age           276.56      16.91  16.354   <2e-16 ***
## bmi            22.40      84.44   0.265   0.7911    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3958 on 216 degrees of freedom
## Multiple R-squared:  0.5565, Adjusted R-squared:  0.5524 
## F-statistic: 135.5 on 2 and 216 DF,  p-value: < 2.2e-16

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 1 variabel (umur) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

-3239.15 + (277.00 * AGE)

6.6 Grafik 6

Bukan Perokok, tidak memilik tanggungan, BMI diatas 30.

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_nonsmoker_nochild_over30)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
##  -2601  -1680  -1101   -365  20402 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2138.96     639.67  -3.344  0.00096 ***
## age           253.69      14.73  17.219  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3868 on 237 degrees of freedom
## Multiple R-squared:  0.5558, Adjusted R-squared:  0.5539 
## F-statistic: 296.5 on 1 and 237 DF,  p-value: < 2.2e-16
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_nonsmoker_nochild_over30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2825.0 -1641.6 -1087.4  -382.4 20308.3 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -392.10    2335.28  -0.168    0.867    
## age           254.50      14.78  17.217   <2e-16 ***
## bmi           -50.42      64.82  -0.778    0.437    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3872 on 236 degrees of freedom
## Multiple R-squared:  0.5569, Adjusted R-squared:  0.5532 
## F-statistic: 148.3 on 2 and 236 DF,  p-value: < 2.2e-16

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 1 variabel (umur) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

-2155.79 + (254.01 * AGE)

6.7 Grafik 7

Bukan perokok, Memiliki tanggungan, BMI dibawah 30.

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_nonsmoker_child_under30)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
##  -3050  -2080  -1578   -808  22413 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -884.08    1029.59  -0.859    0.391    
## age           247.85      25.87   9.581   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4975 on 281 degrees of freedom
## Multiple R-squared:  0.2462, Adjusted R-squared:  0.2436 
## F-statistic:  91.8 on 1 and 281 DF,  p-value: < 2.2e-16
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_nonsmoker_child_under30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3255.8 -2178.9 -1528.4  -664.9 22367.6 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2835.49    2564.04  -1.106    0.270    
## age           245.27      26.07   9.408   <2e-16 ***
## bmi            79.79      96.01   0.831    0.407    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4978 on 280 degrees of freedom
## Multiple R-squared:  0.2481, Adjusted R-squared:  0.2427 
## F-statistic: 46.19 on 2 and 280 DF,  p-value: < 2.2e-16

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 1 variabel (umur) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

-884.08 + (247.85 * AGE)

6.8 Grafik 8

Bukan Perokok, Memilik tanggungan, BMI diatas 30.

Tampilan grafik Age vs Charges dapat didekati dengan menggunakan regresi linier.

BMI vs Charges terlihat memiliki korelasi yang tidak teratur.

## 
## Call:
## lm(formula = charges ~ age, data = ins_nonsmoker_child_over30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3138.6 -2283.0 -1647.7  -746.8 24235.0 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2161.36    1041.35  -2.076   0.0387 *  
## age           282.54      24.23  11.660   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5250 on 320 degrees of freedom
## Multiple R-squared:  0.2982, Adjusted R-squared:  0.296 
## F-statistic:   136 on 1 and 320 DF,  p-value: < 2.2e-16
## 
## Call:
## lm(formula = charges ~ age + bmi, data = ins_nonsmoker_child_over30)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3320.7 -2278.4 -1636.0  -711.3 24252.0 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -923.87    2648.40  -0.349    0.727    
## age           283.07      24.28  11.658   <2e-16 ***
## bmi           -35.83      70.50  -0.508    0.612    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5256 on 319 degrees of freedom
## Multiple R-squared:  0.2988, Adjusted R-squared:  0.2944 
## F-statistic: 67.95 on 2 and 319 DF,  p-value: < 2.2e-16

Dari kedua ringkasan tersebut, saya memutuskan untuk menggunakan regresi linier dengan 1 variabel (umur) karena memiliki nilai R-Squared yang lebih baik.

Jadi persamaannya akan seperti ini:

-2161.36 + (282.54 * AGE)

7 Prediksi Biaya

Dari pengelompokan persamaan, saya membuat fungsi untuk memprediksi muatan. Fungsinya terlihat seperti:

Dan hasil prediksi saya terlihat pada tabel di bawah ini

Root Mean Square Error yang saya prediksikan

## [1] 4439.137

Nilai kesalahan rata-rata dari prediksi saya adalah plus minus 4437.56

Kesalahan Persen Absolut Rata-rata yang diprediksi

## [1] 0.2669668

Rata-rata persentase kesalahan prediksi adalah 26.7%