1 Regresi Linear

Regresi linear adalah metode statistik untuk memodelkan hubungan antara satu variabel independen (X) dengan satu variabel dependen (Y ). Tujuan: 1. Menjelaskan hubungan antara variabel. 2. Memprediksi nilai Y berdasarkan X.

Dengan rumus:  Y =β0+β1X+ε

Nah pada kali ini kita akan membuat regresi linear sederhana dan dan berganda di aplikasi R Studio dan melakukan uji asumsi pada masing-masing persamaan regresi nya temen-temen. Untuk data yang digunakan yaitu data bawaan dari aplikasi R yaitu mtcars, isinya adalah data tentang mobil (cars), dengan 32 observasi (baris) untuk 32 jenis mobil, dan 11 variabel (kolom) tentang spesifikasi mobil. Tetapi kami akan menggunakan kolom “mpg” sebagai variabel dependen dan “hp” dan “wt” sebagai variabel independen untuk regresi sederhana saya menggunakan variabel “mpg” dan “hp” saja baru untuk regresi linear berganda saya menggunakan ketiga variabel tersebut.

 # Load data
 data(mtcars)
 mtcars
##                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
## Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
## Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
## Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
## Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
## Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
## Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
## Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
## Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
## Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
## Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
## Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
## Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
## Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
## Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
## Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
## Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
## Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
## AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
## Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
## Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
## Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
## Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
## Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
## Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
## Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
## Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
## Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2

1.1 Analisis Korelasi

Sebelum melakukan analisis regresi, sangat disarankan untuk mengetahui terlebih dahulu nilai korelasi antar variabel. Hal ini penting karena korelasi memberikan gambaran awal mengenai ada atau tidaknya hubungan linear antara dua variabel, serta arah hubungan tersebut. Jika nilai korelasi mendekati nol, maka hubungan linear hampir tidak ada sehingga penggunaan regresi linear mungkin kurang tepat. Sebaliknya, jika korelasi bernilai cukup kuat, baik positif maupun negatif, maka regresi linear bisa digunakan untuk memodelkan hubungan tersebut. Untuk melakukan analisis korelasi kita bisa menggunakan syntax :

Untuk korelasi mpg dan hp: cat(“korelasi mpg dan hp:”, cor(mtcars\(mpg, mtcars\)hp)) Untuk korelasi mpg dan wt: cat(“korelasi mpg dan wt:”, cor(mtcars\(mpg, mtcars\)wt))

Sehingga outputnya:

cat("Korelasi mpg dan hp:", cor(mtcars$mpg, mtcars$hp), "\n\n")
## Korelasi mpg dan hp: -0.7761684
cat("Korelasi mpg dan wt:", cor(mtcars$mpg, mtcars$wt))
## Korelasi mpg dan wt: -0.8676594

1.1.1 Interpretasi

  1. Korelasi mpg dengan hp Hasil output korelasi antara variabel mpg dan hp menunjukkan nilai sebesar -0,776. Nilai ini memiliki tanda negatif yang berarti hubungan keduanya bersifat berlawanan arah, yaitu ketika horsepower meningkat maka efisiensi bahan bakar cenderung menurun. Besarnya nilai korelasi yang mendekati -1 juga mengindikasikan bahwa hubungan tersebut cukup kuat, meskipun tidak sempurna. Dengan demikian, dapat disimpulkan bahwa mobil dengan tenaga mesin yang lebih besar cenderung lebih boros dalam penggunaan bahan bakar dibandingkan mobil dengan tenaga mesin yang lebih kecil.
  2. Korelasi mpg dengan wt Hasil korelasi antara variabel mpg dan wt adalah -0,868. Nilai korelasi yang negatif menunjukkan adanya hubungan berlawanan arah, artinya semakin berat mobil, maka konsumsi bahan bakarnya semakin boros atau efisiensinya semakin rendah. Besarnya nilai korelasi yang mendekati -1 menandakan bahwa hubungan antara kedua variabel ini sangat kuat. Dengan demikian, dapat disimpulkan bahwa berat mobil memiliki pengaruh yang kuat terhadap efisiensi bahan bakar, di mana mobil yang lebih berat cenderung membutuhkan lebih banyak bahan bakar dibandingkan mobil yang lebih ringan.

2 Analisis Regresi Linear

Karena kita sudah mengetahui variabel yang digunakan memiliki korelasi yang kuat maka kita bisa lanjut ke tahap analisis regresinya.

2.1 Membuat Model Regresi Linear Sederhana (mpg~hp)

Untuk membuat model regresi nya kita perlu menggunakan perintah lm () untuk membuat linear model nya (regresi linear), dan summary() untuk menampilkan ringkasan lengkap dari objek modelnya. Syntaxnya yaitu: model1 <- lm(mpg ~ hp, data = mtcars) summary(model1)

model1 <- lm(mpg ~ hp, data = mtcars)
summary(model1)
## 
## Call:
## lm(formula = mpg ~ hp, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7121 -2.1122 -0.8854  1.5819  8.2360 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 30.09886    1.63392  18.421  < 2e-16 ***
## hp          -0.06823    0.01012  -6.742 1.79e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.863 on 30 degrees of freedom
## Multiple R-squared:  0.6024, Adjusted R-squared:  0.5892 
## F-statistic: 45.46 on 1 and 30 DF,  p-value: 1.788e-07

Nah dari output nya kita bisa menentukan model regresinya dari bagian “estimate” nya teman-teman, jadi model nya yaitu :

mpg = 30.09 − 0.068hp

Artinya, pada model regresi linear sederhana (mpg ~ hp), horsepower (hp) berpengaruh negatif terhadap efisiensi bahan bakar (mpg). Setiap penambahan 1 unit hp akan menurunkan rata-rata mpg sebesar 0.068. Nilai R2 sebesar 0.60 menunjukkan bahwa sekitar 60 variasi mpg dapat dijelaskan hanya oleh hp. Dengan demikian, masih ada faktor lain yang belum dimasukkan dalam model yang memengaruhi konsumsi bahan bakar.

2.2 Membuat Model Regresi Linear Berganda (mpg~hp+wt)

Sama seperti pada regresi sederhana yang membedakannya terdapat pada penambahan tanda “+” untuk menambahkan variabel yang lain sehingga syntax nya yaitu:

model2 <- lm(mpg ~ hp + wt, data = mtcars) summary(model2)

 model2 <- lm(mpg ~ hp + wt, data = mtcars)
 summary(model2)
## 
## Call:
## lm(formula = mpg ~ hp + wt, data = mtcars)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.941 -1.600 -0.182  1.050  5.854 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 37.22727    1.59879  23.285  < 2e-16 ***
## hp          -0.03177    0.00903  -3.519  0.00145 ** 
## wt          -3.87783    0.63273  -6.129 1.12e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.593 on 29 degrees of freedom
## Multiple R-squared:  0.8268, Adjusted R-squared:  0.8148 
## F-statistic: 69.21 on 2 and 29 DF,  p-value: 9.109e-12

Jadi model regresi gandanya yaitu:

mpg = 37.22 − 0.031 hp − 3.87 wt

Ketika ditambahkan variabel berat mobil (model regresi berganda: mpg ~ hp + wt), model mengalami peningkatan yang cukup besar. Nilai R2 naik menjadi 0.83, yang berarti 83 variasi mpg kini dapat dijelaskan oleh kombinasi hp dan wt. Selain itu, standard error residual turun dari 3.86 menjadi 2.59, menandakan prediksi model lebih tepat.

Dalam model berganda ini, baik hp maupun wt sama-sama signifikan memengaruhi mpg. Namun, koefisien hp mengecil (dari −0.068 menjadi −0.032). Hal ini menunjukkan bahwa sebagian pengaruh hp terhadap mpg sebelumnya “tercampur” dengan efek berat mobil. Setelah mengontrol wt, pengaruh murni hp terhadap mpg lebih kecil. Sementara itu, wt memberikan dampak yang cukup besar: setiap kenaikan 1 ton berat mobil menurunkan mpg sekitar 3.88.

Secara keseluruhan, penambahan variabel wt terbukti memperbaiki model, meningkatkan kemampuan prediksi, dan memberikan pemahaman yang lebih akurat mengenai faktor-faktor yang memengaruhi efisiensi bahan bakar mobil.

3 Uji Asumsi

Uji asumsi adalah serangkaian pemeriksaan yang dilakukan sebelum atau sesudah membangun model statistik (misalnya regresi) untuk memastikan bahwa data yang kita gunakan memenuhi syarat tertentu agar hasil analisis valid, tidak bias, dan dapat dipercaya. Jika asumsi dilanggar, hasil regresi bisa menyesatkan: koefisien bisa bias, uji signifikansi tidak valid, atau prediksi jadi lemah.

3.1 Uji Normalitas Error

Uji normalitas adalah uji statistik yang digunakan untuk mengetahui apakah suatu data berdistribusi normal atau tidak. Distribusi normal sangat penting karena banyak metode analisis statistik (seperti uji-t, ANOVA, regresi linear klasik) mensyaratkan bahwa data residual atau sampel mengikuti distribusi normal. Hipotesis uji nya yaitu:

  • H₀: Data berasal dari populasi yang berdistribusi normal.
  • H₁: Data tidak berasal dari populasi yang berdistribusi normal.

3.1.1 Uji Normalitas Error Regresi Sederhana

Uji normalitas error adalah uji statistik yang digunakan untuk mengecek apakah residual (selisih antara nilai aktual dengan nilai prediksi model regresi) mengikuti distribusi normal. Syntax nya menggunakan fungsi residuals() untuk mengambil nilai residual dari model regresi, dan shapiro.test(…) untuk menjalankan uji normalitas Shapiro-Wilk pada data residual.

Syntaxnya yaitu: resid1 <- residuals(model1) shapiro.test(resid1)

# ambil residual
resid1 <- residuals(model1)

# uji normalitas Shapiro-Wilk
shapiro.test(resid1)
## 
##  Shapiro-Wilk normality test
## 
## data:  resid1
## W = 0.92337, p-value = 0.02568

Berdasarkan hasil uji normalitas Shapiro-Wilk terhadap residual diperoleh nilai statistik W sebesar 0,92337 dengan p-value sebesar 0,02568. Karena p-value lebih kecil dari taraf signifikansi 0,05, maka hipotesis nol yang menyatakan bahwa residual berdistribusi normal ditolak. Dengan demikian, dapat disimpulkan bahwa residual dari model regresi tidak mengikuti distribusi normal, sehingga asumsi normalitas error pada model ini tidak terpenuhi dan hal ini perlu diperhatikan dalam interpretasi hasil analisis regresi.

Visualisasinya:

# plot Q-Q
qqnorm(resid1)
qqline(resid1, col = "blue")

Berdasarkan Q-Q Plot, titik-titik residual sebagian besar mengikuti garis diagonal di bagian tengah, namun pada ekor bawah dan ekor atas terlihat menyimpang cukup jauh dari garis (data berdistribusi menceng ke kanan). Hal ini menunjukkan bahwa distribusi residual tidak sepenuhnya mengikuti distribusi normal, terutama pada bagian ekstrem data yang cenderung memiliki ekor lebih berat. Dengan demikian, asumsi normalitas residual pada model regresi ini tidak sepenuhnya terpenuhi, sama seperti pada hasil uji normalitas errornya.

3.1.2 Uji Normalitas Error Regresi Ganda

Syntaxnya sama seperti regresi sederhana yaitu: resid2 <- residuals(model2) shapiro.test(resid2)

resid2 <- residuals(model2)
shapiro.test(resid2)
## 
##  Shapiro-Wilk normality test
## 
## data:  resid2
## W = 0.92792, p-value = 0.03427

Berdasarkan hasil uji normalitas Shapiro-Wilk diperoleh nilai statistik W sebesar 0,92792 dengan p-value sebesar 0,03427. Karena nilai p-value lebih kecil dari taraf signifikansi 0,05, maka hipotesis nol yang menyatakan bahwa residual berdistribusi normal ditolak. Dengan demikian, dapat disimpulkan bahwa residual dari model regresi ganda tidak berdistribusi normal.

Visualisasinya:

qqnorm(resid2)
qqline(resid2, col = "blue")

Berdasarkan Q-Q Plot residual pada model regresi ganda, terlihat bahwa titik-titik residual sebagian besar mengikuti garis diagonal pada bagian tengah, yang mengindikasikan kesesuaian dengan distribusi normal di area pusat data. Namun, pada bagian ekor bawah dan terutama ekor atas, titik-titik terlihat menyimpang cukup jauh dari garis diagonal, pola ini menandakan bahwa distribusi residual cenderung right-skewed (positif skew). Hal ini menunjukkan bahwa residual tidak sepenuhnya berdistribusi normal karena terdapat deviasi pada nilai ekstrem (outlier atau heavy tails). Dengan demikian, asumsi normalitas error pada regresi ganda ini tidak sepenuhnya terpenuhi.

3.2 Uji Linearitas

Uji linearitas adalah uji untuk mengetahui apakah hubungan antara variabel bebas (X) dan variabel terikat (Y) dalam suatu model regresi berbentuk garis lurus (linear) atau tidak. Hipotesis uji nya: H₀: Model regresi bersifat linear.

H₁: Model regresi tidak linear.

3.2.1 Uji Linearitas Regresi Sederhana

Sebelum melakukan uji linearitasnya kita harus instal package “lmtest” agar bisa menggunakan fungsi “resettest()”untuk uji linearitasnya.

Syntaxnya: library(lmtest) resettest(model1)

library(lmtest)
## Warning: package 'lmtest' was built under R version 4.4.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
resettest(model1)
## 
##  RESET test
## 
## data:  model1
## RESET = 9.2467, df1 = 2, df2 = 28, p-value = 0.0008255

Berdasarkan hasil uji linearitas dengan Ramsey RESET Test diperoleh nilai statistik RESET sebesar 9,2467 dengan p-value sebesar 0,0008255. Karena nilai p-value lebih kecil dari taraf signifikansi 0,05,dengan demikian dapat disimpulkan bahwa model regresi yang dibangun tidak sepenuhnya linear, sehingga ada indikasi hubungan non-linear antara variabel independen dan dependen. Maka H0 ditolak.

3.2.2 Uji Linearitas Regresi Ganda

Syntax untuk uji linearitas regresi ganda nya yaitu: resettest(model2)

resettest(model2)
## 
##  RESET test
## 
## data:  model2
## RESET = 7.2384, df1 = 2, df2 = 27, p-value = 0.003041

Hasil uji linearitas dengan Ramsey RESET test pada model2 menunjukkan nilai statistik RESET = 7.2384 dengan p-value = 0.003041 yang lebih kecil dari taraf signifikansi 0,05. Hal ini mengindikasikan bahwa H₀ ditolak, sehingga dapat disimpulkan bahwa model regresi tidak sepenuhnya linear. Dengan demikian, hubungan antara variabel independen dan dependen dalam model2 cenderung bersifat non-linear atau masih ada variabel penting yang belum dimasukkan ke dalam model.

3.3 Uji Homoskedastisitas

Uji homoskedastisitas adalah pengujian dalam analisis regresi yang bertujuan untuk mengetahui apakah varians dari residual (error) bersifat konstan pada semua nilai variabel independen. Jika varians residual sama (konstan), maka disebut homoskedastisitas, sedangkan jika varians residual berbeda-beda atau menyebar tidak merata, maka disebut heteroskedastisitas. Hipotesis Ujinya:

H₀: residual bersifat homoskedastis (varian konstan).

H₁: residual heteroskedastis (varian tidak konstan).

3.3.1 Uji Homoskedastisitas Regresi Sederhana

Untuk melakukan uji Homoskedastisitas kita perlu menginstal package “lmtest”terlebih dahulu untuk menggunakan fungsi bptest (Breucsh-Pagan test). Syntaxnya yaitu: library(lmtest) bptest(model1)

library(lmtest)
# Model sederhana
bptest(model1)
## 
##  studentized Breusch-Pagan test
## 
## data:  model1
## BP = 0.049298, df = 1, p-value = 0.8243

Berdasarkan hasil uji homoskedastisitas dengan Breusch-Pagan Test, diperoleh nilai statistik uji BP = 0.049298 dengan p-value = 0.8243. Karena p-value jauh lebih besar daripada taraf signifikansi umum (α = 0.05), maka gagal menolak H₀ yang menyatakan bahwa varians residual bersifat konstan pada seluruh nilai variabel independen, sehingga tidak terdapat indikasi masalah heteroskedastisitas dalam model regresi sederhana ini.

3.3.2 Uji Homoskedastisitas Regresi Ganda

Cara masih sama dengan regresi sederhana jadi syntaxnya yaitu: bptest(model2)

bptest(model2)
## 
##  studentized Breusch-Pagan test
## 
## data:  model2
## BP = 0.88072, df = 2, p-value = 0.6438

Berdasarkan hasil Breusch-Pagan Test pada model regresi ganda, diperoleh nilai statistik uji BP = 0.88072 dengan p-value = 0.6438. Karena p-value lebih besar daripada taraf signifikansi 0.05, maka gagal menolak H₀ yang menyatakan bahwa varians residual adalah konstan. Artinya, model regresi ganda ini memenuhi asumsi homoskedastisitas, sehingga tidak terdapat indikasi masalah heteroskedastisitas.

3.4 Uji Multikolinearitas

Uji multikolinearitas adalah pengujian dalam regresi ganda yang bertujuan untuk mengetahui apakah terdapat hubungan (korelasi) yang sangat tinggi antar-variabel independen (bebas). Hipotesis Uji: H₀: Tidak terdapat multikolinearitas dalam model regresi (korelasi antar-variabel independen rendah, VIF < 10). H₁: Terdapat multikolinearitas dalam model regresi (korelasi antar-variabel independen tinggi, VIF ≥ 10).

Sebelum melakukan uji multikolinearitas kita harus menginstal package “car” agar kita bisa menggunakan library “car”(Companion to Applied Regression) nya dilanjutkan dengan menggunakan fungsi vif() untuk mengukur Variance Inflation Factor (uji multikolinearitas).

Syntax yang digunakan yaitu: library(car) # Hitung VIF vif(model2)

library(car)
## Warning: package 'car' was built under R version 4.4.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.4.3
vif(model2)
##       hp       wt 
## 1.766625 1.766625

Berdasarkan hasil perhitungan Variance Inflation Factor (VIF), diperoleh nilai VIF untuk variabel hp sebesar 1.77 dan untuk variabel wt juga sebesar 1.77. Nilai ini jauh di bawah ambang batas umum (10), bahkan masih rendah jika dibandingkan dengan batas konservatif (5). Hal ini menunjukkan bahwa tidak terdapat masalah multikolinearitas dalam model regresi ganda (gagal menolak H0), artinya variabel independen hp dan wt tidak memiliki korelasi tinggi satu sama lain dan masing-masing dapat memberikan informasi yang unik dalam menjelaskan variabel dependen.

4 Kesimpulan

4.1 Regresi Linear Sederhana

Pada model regresi sederhana, hasil uji normalitas menunjukkan bahwa residual tidak sepenuhnya berdistribusi normal.Uji linearitas menggunakan Ramsey RESET test menghasilkan 0.0008255 < 0,05, yang berarti terdapat indikasi hubungan non-linear. Namun, uji homoskedastisitas dengan Breusch-Pagan test menghasilkan 0.8243 > 0,05 sehingga varians residual dapat dianggap konstan (tidak terdapat heteroskedastisitas). Karena hanya ada satu variabel independen, maka uji multikolinearitas tidak dilakukan. Secara keseluruhan, model regresi sederhana ini memenuhi asumsi homoskedastisitas, namun asumsi normalitas residual dan linearitas.

4.2 Regresi Linear Berganda

Pada model regresi ganda, uji normalitas dengan Shapiro-Wilk dan Q-Q Plot menunjukkan bahwa residual tidak sepenuhnya normal. Uji linearitas menggunakan Ramsey RESET test menghasilkan 0.003041 < 0,05, yang berarti terdapat indikasi hubungan non-linear. Sementara itu, uji homoskedastisitas dengan Breusch-Pagan test menunjukkan 0.6438 > 0,05, sehingga asumsi varians residual konstan terpenuhi. Uji multikolinearitas juga kedua variabel memperlihatkan nilai VIF sekitar 1,77 (< 10), yang berarti tidak ada masalah multikolinearitas. Dengan demikian, model regresi ganda ini memenuhi asumsi homoskedastisitas dan bebas dari multikolinearitas, namun terdapat pelanggaran pada asumsi normalitas dan linearitas.

4.3 Kesimpulan Umum

Secara umum, hasil pengujian asumsi klasik pada regresi sederhana maupun ganda menunjukkan bahwa kedua model sama-sama memenuhi asumsi homoskedastisitas dan pada regresi ganda juga bebas dari multikolinearitas. Namun demikian, baik pada regresi sederhana maupun ganda, terdapat indikasi pelanggaran pada asumsi normalitas residual, dan linearitas. Dengan kata lain, model regresi sudah cukup baik dari sisi kestabilan varians dan independensi variabel bebas, tetapi kurang ideal dalam hal distribusi residual dan bentuk hubungan yang seharusnya linear. Upaya yang dapat dilakukan untuk memenuhi uji normalitas yaitu dengan melakukan transformasi data pada variabel dependen, misalnya logaritma, akar kuadrat, atau Box-Cox. Sedangkan untuk memenuhi uji linearitas kita bisa menambahkan polinomial untuk menjelaskan hubungan non linear.