Regresi Linear
Data dan Pengantar Pemodelan
Data yang digunakan adalah data pelanggan dengan variabel independent, diantaranya: penghasilan, lama bekerja, limit keredit, usia, dan lama bekerja.
download.file("https://drive.google.com/u/0/uc?id=1XWku8Y5-IClmHlhAhL2Fnn9RaHm-aQyr&export=download",
destfile="data latih 4.csv")
DataAll <- read.csv("data latih 4.csv", header=TRUE, sep=",")
head(DataAll)## NAMA EVENT STATUS JK USIA STATUS_NIKAH JML_TANGGUNGAN
## 1 A123145 36 NEW LAKI LAKI 44 MENIKAH 2
## 2 A118717 48 NEW LAKI LAKI 53 MENIKAH 2
## 3 A125680 24 NEW PEREMPUAN 28 MENIKAH 2
## 4 A14798 60 NEW LAKI LAKI 45 MENIKAH 3
## 5 A142852 24 NEW PEREMPUAN 44 MENIKAH 1
## 6 A96802 24 NEW PEREMPUAN 51 MENIKAH 3
## STATUS_TT PENDIDIKAN WILAYAH PEKERJAAN LAMA_BEKERJA PENGHASILAN
## 1 Milik Sendiri SMA Balikpapan Pegawai swasta 14 2829819
## 2 Milik Sendiri SMA Balikpapan Pegawai BUMN 25 23757496
## 3 Milik Sendiri SMA Balikpapan Pegawai swasta 6 2733000
## 4 Milik Sendiri SMA Medan Pegawai swasta 15 3000000
## 5 Milik Orang Tua S1 Jakarta 5 Pegawai swasta 3 4195200
## 6 Milik Sendiri SMA Jakarta 4 PNS 10 8883124
## DBR WAKTU_KREDIT LIMIT_KREDIT STATUS_KREDIT PENDIDIKAN_KODE PENDIDIKAN2
## 1 0.45 36 23000000 LANCAR 3 3. SMA
## 2 0.37 48 300000000 LANCAR 3 3. SMA
## 3 0.45 24 16000000 LANCAR 3 3. SMA
## 4 0.42 60 50000000 LANCAR 3 3. SMA
## 5 0.35 24 28000000 LANCAR 5 5. S1
## 6 0.49 24 90000000 LANCAR 3 3. SMA
summary(DataAll)## NAMA EVENT STATUS JK
## Length:500 Min. : 6.00 Length:500 Length:500
## Class :character 1st Qu.: 24.00 Class :character Class :character
## Mode :character Median : 36.00 Mode :character Mode :character
## Mean : 45.34
## 3rd Qu.: 60.00
## Max. :120.00
## USIA STATUS_NIKAH JML_TANGGUNGAN STATUS_TT
## Min. :22.00 Length:500 Min. :0.000 Length:500
## 1st Qu.:30.00 Class :character 1st Qu.:0.000 Class :character
## Median :34.00 Mode :character Median :1.000 Mode :character
## Mean :36.54 Mean :1.472
## 3rd Qu.:43.00 3rd Qu.:2.000
## Max. :59.00 Max. :5.000
## PENDIDIKAN WILAYAH PEKERJAAN LAMA_BEKERJA
## Length:500 Length:500 Length:500 Min. : 1.000
## Class :character Class :character Class :character 1st Qu.: 3.000
## Mode :character Mode :character Mode :character Median : 6.000
## Mean : 7.892
## 3rd Qu.:11.000
## Max. :29.000
## PENGHASILAN DBR WAKTU_KREDIT LIMIT_KREDIT
## Min. : 2005020 Min. :0.0400 Min. : 12.00 Min. : 5000000
## 1st Qu.: 3437854 1st Qu.:0.2500 1st Qu.: 36.00 1st Qu.: 25000000
## Median : 4594916 Median :0.3400 Median : 48.00 Median : 40000000
## Mean : 6387706 Mean :0.3482 Mean : 55.54 Mean : 74359000
## 3rd Qu.: 7021339 3rd Qu.:0.4400 3rd Qu.: 60.00 3rd Qu.: 95500000
## Max. :65459300 Max. :0.6000 Max. :120.00 Max. :517000000
## STATUS_KREDIT PENDIDIKAN_KODE PENDIDIKAN2
## Length:500 Min. :1.000 Length:500
## Class :character 1st Qu.:3.000 Class :character
## Mode :character Median :3.000 Mode :character
## Mean :3.808
## 3rd Qu.:5.000
## Max. :6.000
Korelasi
Korelasi dapat digunakan untuk melihat hubungan antara 2 peubah apakah memiliki hubungan yang positif atau negatif. Nilai korelasi berkisar -1 sampai dengan 1. Nilai korelasi menuju -1 artinya dua peubah memiliki hubungan negatif, menuju 1 artinya 2 peubah memiliki hubungan positif sedangkan jika nilainya mendekati 0 maka peubah tersebut tidak saling berkorelasi. Nilai -1 atau 1 dapat diartikan 2 peubah memiliki hubungan yang sangat erat.
attach(DataAll)
plot(PENGHASILAN, LAMA_BEKERJA)plot(PENGHASILAN, LIMIT_KREDIT)plot(WAKTU_KREDIT, LIMIT_KREDIT)plot(LIMIT_KREDIT, LIMIT_KREDIT)plot(USIA, LAMA_BEKERJA)cor(PENGHASILAN, LIMIT_KREDIT)## [1] 0.6275672
cor(PENGHASILAN, LAMA_BEKERJA)## [1] 0.1845696
cor(WAKTU_KREDIT, LIMIT_KREDIT)## [1] 0.5926606
cor(PENDIDIKAN_KODE, PENGHASILAN, method ="spearman")## [1] 0.2218479
cor(PENDIDIKAN_KODE, LIMIT_KREDIT, method ="spearman")## [1] 0.1243594
cor(USIA, LAMA_BEKERJA)## [1] 0.6534017
Data yang digunakan
Newvar <- c("PENGHASILAN", "LAMA_BEKERJA", "LIMIT_KREDIT", "USIA")
summary(Newvar)## Length Class Mode
## 4 character character
NewdataSet <- DataAll[Newvar]
summary(NewdataSet)## PENGHASILAN LAMA_BEKERJA LIMIT_KREDIT USIA
## Min. : 2005020 Min. : 1.000 Min. : 5000000 Min. :22.00
## 1st Qu.: 3437854 1st Qu.: 3.000 1st Qu.: 25000000 1st Qu.:30.00
## Median : 4594916 Median : 6.000 Median : 40000000 Median :34.00
## Mean : 6387706 Mean : 7.892 Mean : 74359000 Mean :36.54
## 3rd Qu.: 7021339 3rd Qu.:11.000 3rd Qu.: 95500000 3rd Qu.:43.00
## Max. :65459300 Max. :29.000 Max. :517000000 Max. :59.00
Correlation Matrix
cor(NewdataSet)## PENGHASILAN LAMA_BEKERJA LIMIT_KREDIT USIA
## PENGHASILAN 1.0000000 0.1845696 0.6275672 0.3013116
## LAMA_BEKERJA 0.1845696 1.0000000 0.2429656 0.6534017
## LIMIT_KREDIT 0.6275672 0.2429656 1.0000000 0.1972260
## USIA 0.3013116 0.6534017 0.1972260 1.0000000
library(corrplot) #Untuk melihat nilai korelasi## corrplot 0.92 loaded
M <- cor(NewdataSet)
M## PENGHASILAN LAMA_BEKERJA LIMIT_KREDIT USIA
## PENGHASILAN 1.0000000 0.1845696 0.6275672 0.3013116
## LAMA_BEKERJA 0.1845696 1.0000000 0.2429656 0.6534017
## LIMIT_KREDIT 0.6275672 0.2429656 1.0000000 0.1972260
## USIA 0.3013116 0.6534017 0.1972260 1.0000000
Regresi Linear
Analisis regresi adalah Menganalisis hubungan/pengaruh antara satu atau lebih variabel numerik terhadap sebuah variabel numerik lainnya. Regresi linear sederhana memiliki satu variabel respon [Y] dan satu variabel prediktor [X]. Terdapat 3 asumsi dalam regresi linear sederhana. Diantaranya,
- Nilai mean dari variabel-variabel Y dimodelkan secara akurat oleh fungsi linier dari variabel-variabel X.
- Galat acak (error), diasumsikan menyebar normal dengan nilai tengah nol dan memiliki ragam yang konstan.
- Galat bersifat independen/saling bebas
Model
simple = lm(LIMIT_KREDIT ~ PENGHASILAN,
data = NewdataSet)
summary(simple)##
## Call:
## lm(formula = LIMIT_KREDIT ~ PENGHASILAN, data = NewdataSet)
##
## Residuals:
## Min 1Q Median 3Q Max
## -241548318 -30563160 -19034577 15820323 253846561
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.101e+07 4.059e+06 5.177 3.28e-07 ***
## PENGHASILAN 8.351e+00 4.643e-01 17.988 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 61980000 on 498 degrees of freedom
## Multiple R-squared: 0.3938, Adjusted R-squared: 0.3926
## F-statistic: 323.6 on 1 and 498 DF, p-value: < 2.2e-16
Ukuran kebaikan model dapat dilihat melalui nilai Rsquare. Rsquare memiliki arti ukuran seberapa besar keragaman dari peubah respon (y) dapat dijelaskan oleh model (peubah penjelas (x)). Nilainya antara 0-100%, semakin mendekati 100% maka semakin bagus.
- Contoh: 0.3938. Artinya Penghasilan dapat mempengaruhi Limit kredit sebesar 39% dan 61% lainnya dipengaruhi oleh variabel lain.
Bagaimana cara meningkatkan Rsquare?
- Cek asumsi yang diperlukan dalam regresi
- Menambahkan peubah penjelas (Regresi berganda)
Checking assumptions
Normality Test
library(car)## Warning: package 'car' was built under R version 4.0.5
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.0.3
qqPlot(simple)## [1] 385 476
Pola data menunjukkan tidak menyebar normal karena tidak berada di sekitar garis lurus
Homogenity Test
Pengujian dapat dilakukan salah satunya dengan Non-constant Variance Score.
ncvTest(simple)## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 464.2134, Df = 1, p = < 2.22e-16
spreadLevelPlot(simple)##
## Suggested power transformation: -0.2137031
Karena nilai P-Value < alfa, artinya sisaan (error) tidak homogen. Bagaimana cara mengatasi data yang melanggar asumsi? salah satunya yaitu dengan melakukan transformasi data. Transformasi data dilakukan terhadap data (dalam kasus ini terhadap Y) untuk menangani asumsi yang tidak terpenuhi. Dengan menggunakan spread Level Plot dapat diperoleh nilai lambda yang disarankan untuk transformasi data, pada kasus ini Lambda yang disarankan yaitu sebesar -0.213.
lambda = -0.213
T_Box = (LIMIT_KREDIT ^ lambda - 1)/lambda
simple2 = lm(T_Box ~ NewdataSet$PENGHASILAN)
summary(simple2)##
## Call:
## lm(formula = T_Box ~ NewdataSet$PENGHASILAN)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.058545 -0.011162 -0.000468 0.012864 0.034838
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.574e+00 1.153e-03 3968.31 <2e-16 ***
## NewdataSet$PENGHASILAN 1.621e-09 1.318e-10 12.29 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0176 on 498 degrees of freedom
## Multiple R-squared: 0.2328, Adjusted R-squared: 0.2312
## F-statistic: 151.1 on 1 and 498 DF, p-value: < 2.2e-16
Outlier Detection
outlierTest(simple) #Model dengan data awal tanpa transformasi## rstudent unadjusted p-value Bonferroni p
## 385 4.168962 3.6101e-05 0.018050
## 476 -4.142548 4.0365e-05 0.020182
## 313 4.028016 6.5049e-05 0.032524
## 396 -4.023487 6.6272e-05 0.033136
## 478 -3.978805 7.9575e-05 0.039788
outlierTest(simple2) #Model dengan data Limit Kredit yang sudah ditransformasi## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
## rstudent unadjusted p-value Bonferroni p
## 478 -3.645075 0.00029547 0.14773
Autocorrelation Test
durbinWatsonTest(simple) #Model dengan data awal tanpa transformasi## lag Autocorrelation D-W Statistic p-value
## 1 0.003923792 1.991905 0.948
## Alternative hypothesis: rho != 0
durbinWatsonTest(simple2) #Model dengan data Limit Kredit yang sudah ditransformasi## lag Autocorrelation D-W Statistic p-value
## 1 0.002895351 1.99311 0.918
## Alternative hypothesis: rho != 0
Interpretasi *
Regresi Linear Berganda
summary(DataAll)## NAMA EVENT STATUS JK
## Length:500 Min. : 6.00 Length:500 Length:500
## Class :character 1st Qu.: 24.00 Class :character Class :character
## Mode :character Median : 36.00 Mode :character Mode :character
## Mean : 45.34
## 3rd Qu.: 60.00
## Max. :120.00
## USIA STATUS_NIKAH JML_TANGGUNGAN STATUS_TT
## Min. :22.00 Length:500 Min. :0.000 Length:500
## 1st Qu.:30.00 Class :character 1st Qu.:0.000 Class :character
## Median :34.00 Mode :character Median :1.000 Mode :character
## Mean :36.54 Mean :1.472
## 3rd Qu.:43.00 3rd Qu.:2.000
## Max. :59.00 Max. :5.000
## PENDIDIKAN WILAYAH PEKERJAAN LAMA_BEKERJA
## Length:500 Length:500 Length:500 Min. : 1.000
## Class :character Class :character Class :character 1st Qu.: 3.000
## Mode :character Mode :character Mode :character Median : 6.000
## Mean : 7.892
## 3rd Qu.:11.000
## Max. :29.000
## PENGHASILAN DBR WAKTU_KREDIT LIMIT_KREDIT
## Min. : 2005020 Min. :0.0400 Min. : 12.00 Min. : 5000000
## 1st Qu.: 3437854 1st Qu.:0.2500 1st Qu.: 36.00 1st Qu.: 25000000
## Median : 4594916 Median :0.3400 Median : 48.00 Median : 40000000
## Mean : 6387706 Mean :0.3482 Mean : 55.54 Mean : 74359000
## 3rd Qu.: 7021339 3rd Qu.:0.4400 3rd Qu.: 60.00 3rd Qu.: 95500000
## Max. :65459300 Max. :0.6000 Max. :120.00 Max. :517000000
## STATUS_KREDIT PENDIDIKAN_KODE PENDIDIKAN2
## Length:500 Min. :1.000 Length:500
## Class :character 1st Qu.:3.000 Class :character
## Mode :character Median :3.000 Mode :character
## Mean :3.808
## 3rd Qu.:5.000
## Max. :6.000
Data asli
multiple = lm(LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT + PEKERJAAN + factor(PENDIDIKAN_KODE), data = DataAll)
summary(multiple)##
## Call:
## lm(formula = LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT +
## PEKERJAAN + factor(PENDIDIKAN_KODE), data = DataAll)
##
## Residuals:
## Min 1Q Median 3Q Max
## -227514165 -28549178 -12967322 15559943 255173180
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.316e+07 7.469e+07 0.176 0.860204
## PENGHASILAN 8.050e+00 5.064e-01 15.896 < 2e-16 ***
## LAMA_BEKERJA 1.325e+06 4.508e+05 2.938 0.003456 **
## STATUS_TTMilik Orang Tua 1.261e+07 4.264e+07 0.296 0.767654
## STATUS_TTMilik Sendiri 1.841e+07 4.255e+07 0.433 0.665481
## STATUS_TTRumah Dinas 1.212e+07 4.329e+07 0.280 0.779541
## STATUS_TTSewa 1.504e+07 4.303e+07 0.350 0.726765
## PEKERJAANPegawai swasta -3.840e+07 1.000e+07 -3.838 0.000140 ***
## PEKERJAANPNS -4.415e+07 1.266e+07 -3.489 0.000529 ***
## factor(PENDIDIKAN_KODE)2 -3.792e+06 6.722e+07 -0.056 0.955029
## factor(PENDIDIKAN_KODE)3 1.668e+07 6.052e+07 0.276 0.782943
## factor(PENDIDIKAN_KODE)4 2.766e+07 6.069e+07 0.456 0.648716
## factor(PENDIDIKAN_KODE)5 2.348e+07 6.067e+07 0.387 0.698936
## factor(PENDIDIKAN_KODE)6 -5.268e+07 6.411e+07 -0.822 0.411643
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 59740000 on 486 degrees of freedom
## Multiple R-squared: 0.4505, Adjusted R-squared: 0.4358
## F-statistic: 30.65 on 13 and 486 DF, p-value: < 2.2e-16
Regresi linear untuk data Transformasi
multiple2 = lm(T_Box ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT + PEKERJAAN + factor(PENDIDIKAN_KODE), data = DataAll)
summary(multiple2)##
## Call:
## lm(formula = T_Box ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT +
## PEKERJAAN + factor(PENDIDIKAN_KODE), data = DataAll)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.057166 -0.010950 0.000416 0.010682 0.037204
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.577e+00 2.127e-02 215.157 < 2e-16 ***
## PENGHASILAN 1.415e-09 1.442e-10 9.808 < 2e-16 ***
## LAMA_BEKERJA 2.353e-04 1.284e-04 1.832 0.0675 .
## STATUS_TTMilik Orang Tua -6.629e-03 1.214e-02 -0.546 0.5854
## STATUS_TTMilik Sendiri -3.061e-03 1.212e-02 -0.253 0.8007
## STATUS_TTRumah Dinas -5.378e-03 1.233e-02 -0.436 0.6629
## STATUS_TTSewa -4.760e-03 1.225e-02 -0.388 0.6979
## PEKERJAANPegawai swasta -1.339e-02 2.849e-03 -4.699 3.42e-06 ***
## PEKERJAANPNS -9.235e-03 3.604e-03 -2.562 0.0107 *
## factor(PENDIDIKAN_KODE)2 1.209e-03 1.914e-02 0.063 0.9497
## factor(PENDIDIKAN_KODE)3 1.345e-02 1.724e-02 0.780 0.4356
## factor(PENDIDIKAN_KODE)4 1.528e-02 1.728e-02 0.884 0.3770
## factor(PENDIDIKAN_KODE)5 1.268e-02 1.728e-02 0.734 0.4632
## factor(PENDIDIKAN_KODE)6 3.139e-03 1.826e-02 0.172 0.8636
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01701 on 486 degrees of freedom
## Multiple R-squared: 0.3004, Adjusted R-squared: 0.2817
## F-statistic: 16.06 on 13 and 486 DF, p-value: < 2.2e-16
Multicollinearity Test
akibat jika terjadi multikolinearitas pada adat yaitu: * Variabel X yang dianggap penting kemungkinan akan tidak signifikan
- Pendugaan dari koefisien regresi menjadi tidak benar, misalnya koefisien memiliki tanda negatif padahal dalam hubungan x dan y sebenarnya adalah positif
Cara mengetahui apakah terdapat multicolinearitas adalah: * Hitunglah nilai Variance Inflation Factor (VIF) dimana VIF = (1-Rj2)-1. Rj2 adalah R-kuadrat dari regresi dimana Xj merupakan variabel respon dan variabel X lainnya menjadi predictor.
- Jika VIF lebih besar dari 10 biasanya ada masalah multikolinieritas.
vif(multiple) #Model dengan data awal tanpa transformasi## GVIF Df GVIF^(1/(2*Df))
## PENGHASILAN 1.280909 1 1.131773
## LAMA_BEKERJA 1.266033 1 1.125181
## STATUS_TT 1.297374 4 1.033078
## PEKERJAAN 1.253212 2 1.058050
## factor(PENDIDIKAN_KODE) 1.238390 5 1.021611
vif(multiple2) #Model dengan dengan data limit yang sudah ditransformasi## GVIF Df GVIF^(1/(2*Df))
## PENGHASILAN 1.280909 1 1.131773
## LAMA_BEKERJA 1.266033 1 1.125181
## STATUS_TT 1.297374 4 1.033078
## PEKERJAAN 1.253212 2 1.058050
## factor(PENDIDIKAN_KODE) 1.238390 5 1.021611
Stepwise regression of original data
Jika kita ingin memilih variabel X dimana hanya X yang signifikan akan memasuki model maka gunakan prosedur penyeleksian variabel, seperti:
Forward yaitu menyeleksi variabel dengan memasukannya satu per satu, tanpa satu variabel X pun pada permulaan. Setiap variabel yang masuk dalam model tidak akan dikeluarkan
Backward yaitu menyeleksi variabel dengan mengeluarkannya satu per satu dimana semua variabel X ada di dalam model pada permulaan. Setiap X yang dikeluarkan dari model tidak akan dimasukkan kembali.
Stepwise yaitu Metoda seleksi yang menggabungkan antara metoda forward dan backward. Dimulai tanpa variiabel X dalam model. Kemudian bekerja dengan menyeleksi variabel seperti pada metoda forward tetapi variabel yang telah masuk dalam model dapat dikeluarkan dari model seperti pada backward. Proses akan berhenti jika tidak ada lagi variabel X yang tidak signifikan diantara varibel X yang tersisa dalam model dan tidak ada lagi variabel X yang signifikan diantara variabel X yang tidak masuk dalam model
library(MASS)
step <- stepAIC(multiple, direction="both")## Start: AIC=17919.29
## LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT + PEKERJAAN +
## factor(PENDIDIKAN_KODE)
##
## Df Sum of Sq RSS AIC
## - STATUS_TT 4 3.7264e+15 1.7381e+18 17912
## <none> 1.7344e+18 17919
## - factor(PENDIDIKAN_KODE) 5 5.7498e+16 1.7919e+18 17926
## - LAMA_BEKERJA 1 3.0813e+16 1.7652e+18 17926
## - PEKERJAAN 2 5.9275e+16 1.7937e+18 17932
## - PENGHASILAN 1 9.0171e+17 2.6361e+18 18127
##
## Step: AIC=17912.36
## LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN + factor(PENDIDIKAN_KODE)
##
## Df Sum of Sq RSS AIC
## <none> 1.7381e+18 17912
## - factor(PENDIDIKAN_KODE) 5 5.7678e+16 1.7958e+18 17919
## + STATUS_TT 4 3.7264e+15 1.7344e+18 17919
## - LAMA_BEKERJA 1 4.3285e+16 1.7814e+18 17923
## - PEKERJAAN 2 5.9646e+16 1.7978e+18 17925
## - PENGHASILAN 1 9.4578e+17 2.6839e+18 18128
Final Model
step$anova## Stepwise Model Path
## Analysis of Deviance Table
##
## Initial Model:
## LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT + PEKERJAAN +
## factor(PENDIDIKAN_KODE)
##
## Final Model:
## LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN + factor(PENDIDIKAN_KODE)
##
##
## Step Df Deviance Resid. Df Resid. Dev AIC
## 1 486 1.734391e+18 17919.29
## 2 - STATUS_TT 4 3.726448e+15 490 1.738118e+18 17912.36
multiple4 <- lm(LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN + factor(PENDIDIKAN_KODE), data=DataAll)
summary(multiple4)##
## Call:
## lm(formula = LIMIT_KREDIT ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN +
## factor(PENDIDIKAN_KODE), data = DataAll)
##
## Residuals:
## Min 1Q Median 3Q Max
## -225827937 -28749743 -12594253 15105869 258102321
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.480e+07 6.050e+07 0.410 0.682113
## PENGHASILAN 8.086e+00 4.952e-01 16.329 < 2e-16 ***
## LAMA_BEKERJA 1.471e+06 4.212e+05 3.493 0.000520 ***
## PEKERJAANPegawai swasta -3.848e+07 9.940e+06 -3.871 0.000123 ***
## PEKERJAANPNS -4.411e+07 1.261e+07 -3.497 0.000513 ***
## factor(PENDIDIKAN_KODE)2 -2.234e+06 6.664e+07 -0.034 0.973275
## factor(PENDIDIKAN_KODE)3 1.931e+07 5.972e+07 0.323 0.746542
## factor(PENDIDIKAN_KODE)4 3.018e+07 5.991e+07 0.504 0.614693
## factor(PENDIDIKAN_KODE)5 2.622e+07 5.983e+07 0.438 0.661407
## factor(PENDIDIKAN_KODE)6 -4.971e+07 6.323e+07 -0.786 0.432157
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 59560000 on 490 degrees of freedom
## Multiple R-squared: 0.4493, Adjusted R-squared: 0.4392
## F-statistic: 44.43 on 9 and 490 DF, p-value: < 2.2e-16
Stepwise regression of transformasion data
step2 <- stepAIC(multiple2, direction="both")## Start: AIC=-4059.94
## T_Box ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT + PEKERJAAN +
## factor(PENDIDIKAN_KODE)
##
## Df Sum of Sq RSS AIC
## - STATUS_TT 4 0.0010527 0.14173 -4064.2
## - factor(PENDIDIKAN_KODE) 5 0.0020334 0.14271 -4062.8
## <none> 0.14068 -4059.9
## - LAMA_BEKERJA 1 0.0009720 0.14165 -4058.5
## - PEKERJAAN 2 0.0064713 0.14715 -4041.5
## - PENGHASILAN 1 0.0278460 0.16853 -3971.6
##
## Step: AIC=-4064.21
## T_Box ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN + factor(PENDIDIKAN_KODE)
##
## Df Sum of Sq RSS AIC
## - factor(PENDIDIKAN_KODE) 5 0.0020448 0.14378 -4067.0
## <none> 0.14173 -4064.2
## + STATUS_TT 4 0.0010527 0.14068 -4059.9
## - LAMA_BEKERJA 1 0.0020132 0.14375 -4059.2
## - PEKERJAAN 2 0.0066215 0.14835 -4045.4
## - PENGHASILAN 1 0.0303743 0.17211 -3969.1
##
## Step: AIC=-4067.05
## T_Box ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN
##
## Df Sum of Sq RSS AIC
## <none> 0.14378 -4067.0
## + factor(PENDIDIKAN_KODE) 5 0.0020448 0.14173 -4064.2
## + STATUS_TT 4 0.0010641 0.14271 -4062.8
## - LAMA_BEKERJA 1 0.0019532 0.14573 -4062.3
## - PEKERJAAN 2 0.0067275 0.15050 -4048.2
## - PENGHASILAN 1 0.0302694 0.17405 -3973.5
Final model of transformation data
step2$anova## Stepwise Model Path
## Analysis of Deviance Table
##
## Initial Model:
## T_Box ~ PENGHASILAN + LAMA_BEKERJA + STATUS_TT + PEKERJAAN +
## factor(PENDIDIKAN_KODE)
##
## Final Model:
## T_Box ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN
##
##
## Step Df Deviance Resid. Df Resid. Dev AIC
## 1 486 0.1406801 -4059.937
## 2 - STATUS_TT 4 0.001052667 490 0.1417328 -4064.210
## 3 - factor(PENDIDIKAN_KODE) 5 0.002044839 495 0.1437776 -4067.048
multiple3 <- lm(T_Box ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN, data=DataAll)
summary(multiple3)##
## Call:
## lm(formula = T_Box ~ PENGHASILAN + LAMA_BEKERJA + PEKERJAAN,
## data = DataAll)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.055876 -0.012101 0.000434 0.011246 0.037484
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.585e+00 3.163e-03 1449.673 < 2e-16 ***
## PENGHASILAN 1.388e-09 1.360e-10 10.208 < 2e-16 ***
## LAMA_BEKERJA 3.097e-04 1.194e-04 2.593 0.00979 **
## PEKERJAANPegawai swasta -1.345e-02 2.815e-03 -4.776 2.36e-06 ***
## PEKERJAANPNS -9.419e-03 3.597e-03 -2.619 0.00910 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01704 on 495 degrees of freedom
## Multiple R-squared: 0.285, Adjusted R-squared: 0.2793
## F-statistic: 49.34 on 4 and 495 DF, p-value: < 2.2e-16