Nama : Wilbert Arifin NRP : 5006201028 Tugas : Business Intelligence - R Markdown


Pada artikel kali ini, kita akan membahas penerapan Analisis Regresi Linear dalam membantu menyelesaikan permasalahan yang ada dalam bisnis. Sebagai contoh, kita akan menggunakan data survey pelanggan yang dihimpun seorang pedagang Nasi Pecel Madiun.

Untuk mendapat data preferensi pembeli, sang pedagang melakukan survey kepada para pelanggannya dengan meminta penilaian 0 - 100 untuk aspek yang berkaitan dengan pembelian pecel: Sayur (jumlah), Bumbu (rasa), Pedas (tingkat kepedasan), dan Bungkus (tingkat estetika). Setiap harinya, data penilaian pelanggan dihimpun dan dirata-rata untuk kemudian digabung dengan data penjualan per hari itu.

Dengan data tersebut, sang pedagang ingin mengetahui aspek-aspek apa yang berkontribusi signifikan terhadap Penjualan dan dapat ditingkatkan untuk meningkatkan penjualannya.

Untuk menjawab permasalahan tersebut, kita dapat melakukan Analisis Regresi Linear.

Statistika Deskriptif & Visualisasi

Pertama-tama, ada baiknya kita mengenal terlebih dahulu karakteristik dari data yang akan kita gunakan.

summary(data)
##    Penjualan         Sayur           Bumbu           Pedas      
##  Min.   :117.0   Min.   :11.00   Min.   : 9.00   Min.   :13.00  
##  1st Qu.:256.0   1st Qu.:24.75   1st Qu.:27.00   1st Qu.:42.50  
##  Median :505.0   Median :49.00   Median :47.00   Median :51.00  
##  Mean   :492.5   Mean   :49.60   Mean   :47.90   Mean   :53.17  
##  3rd Qu.:726.2   3rd Qu.:71.50   3rd Qu.:69.25   3rd Qu.:68.00  
##  Max.   :886.0   Max.   :88.00   Max.   :91.00   Max.   :96.00  
##     Bungkus     
##  Min.   :35.00  
##  1st Qu.:54.00  
##  Median :64.00  
##  Mean   :66.00  
##  3rd Qu.:78.25  
##  Max.   :97.00

Terlihat bahwa median Penjualan pecel setiap harinya adalah 505 dengan median penilaian untuk variabel Sayur, Bumbu, Pedas, dan Bungkus secara berurutan adalah 49, 47, 51, dan 64. Sehingga variabel dengan median nilai tertinggi adalah Bungkus dan median nilai terendah adalah Bumbu.

ggplot(data=data)+geom_point(mapping=aes(x=Sayur,y=Penjualan))
ggplot(data=data)+geom_point(mapping=aes(x=Bumbu,y=Penjualan))
ggplot(data=data)+geom_point(mapping=aes(x=Pedas,y=Penjualan))
ggplot(data=data)+geom_point(mapping=aes(x=Bungkus,y=Penjualan))
[Scatter Plot Data Penjualan vs. Aspek Penjualan][Scatter Plot Data Penjualan vs. Aspek Penjualan][Scatter Plot Data Penjualan vs. Aspek Penjualan][Scatter Plot Data Penjualan vs. Aspek Penjualan]

[Scatter Plot Data Penjualan vs. Aspek Penjualan]

Kemudian dengan bantuan scatter plot, terlihat bahwa terdapat pola hubungan linear yang cukup kuat pada variabel Sayur dan Penjualan. Sementara itu data menyebar pada variabel lainnya sehingga perlu dilakukan uji korelasi.

Analisis Korelasi

chart.Correlation(data[, 1:5])
[Correlation Plot Data Penjualan & Aspek Penjualan]

[Correlation Plot Data Penjualan & Aspek Penjualan]

Dengan p-value = 0,05 “*“, maka dapat disimpulkan bahwa variabel Penjualan dan variabel Sayur memiliki korelasi yang sangat signifikan. Hal ini sesuai dengan analisis yang telah dilakukan sebelumnya melalui scatter plot. Korelasi pearson bernilai 0.99, artinya terdapat hubungan positif yang sangat kuat antara variabel Penjualan dan variabel Sayur.

Dengan p-value = 0,05 “*“, maka dapat disimpulkan bahwa variabel Penjualan dan variabel Bumbu tidak memiliki korelasi yang signifikan. Sehingga, tidak terdapat hubungan antara variabel Penjualan dan variabel Bumbu.

Dengan p-value = 0,05 “*“, maka dapat disimpulkan bahwa variabel Penjualan dan variabel Pedas memiliki korelasi yang sangat signifikan. Korelasi pearson bernilai 0.62, artinya terdapat hubungan positif yang moderat antara variabel Penjualan dan variabel Pedas.

Dengan p-value = 0,05 “*“, maka dapat disimpulkan bahwa variabel Penjualan dan variabel Bungkus memiliki korelasi yang sangat signifikan. Korelasi pearson bernilai 0.44, artinya terdapat hubungan positif yang lemah antara variabel Penjualan dan variabel Bungkus.

Karena mayoritas aspek memiliki korelasi dengan penjualan (kecuali Bumbu), maka dapat dilakukan Analisis Regresi Linear.

Analisis Regresi Linear Sederhana

Sebelum melakukan analisis regresi linear secara agregat (berganda), ada baiknya untuk melakukan analisis regresi linear sederhana terlebih dahulu.

Analisis Regresi Linear Sederhana - Penjualan & Sayur

Regresi_Sayur <- lm(Penjualan ~ Sayur, data=data)
plot(Penjualan ~ Sayur, data=data)
abline(Regresi_Sayur)

## 
##  Shapiro-Wilk normality test
## 
## data:  Regresi_Sayur$residuals
## W = 0.95181, p-value = 0.04723
## 
##  Durbin-Watson test
## 
## data:  Regresi_Sayur
## DW = 1.9748, p-value = 0.9356
## alternative hypothesis: true autocorrelation is not 0
## 
##  studentized Breusch-Pagan test
## 
## data:  Regresi_Sayur
## BP = 2.6571, df = 1, p-value = 0.1031
## 
## Call:
## lm(formula = Penjualan ~ Sayur, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -43.615 -24.460  -6.205  22.311  60.089 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -9.3784     9.4064  -0.997    0.324    
## Sayur        10.1172     0.1709  59.198   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 28.24 on 46 degrees of freedom
## Multiple R-squared:  0.987,  Adjusted R-squared:  0.9868 
## F-statistic:  3504 on 1 and 46 DF,  p-value: < 2.2e-16

Berdasarkan hasil analisis regresi, didapatkan bahwa variabel Sayur signifikan sehingga variabel dapat digunakan untuk model regresi linear.

Model regresi linear yang terbentuk adalah Penjualan = - 9,3784 + 10,1172xSayur, artinya setiap peningkatan 1 satuan pada variabel Sayur, maka terjadi peningkatan 10,1172 satuan pada Penjualan.

Nilai R-squared model adalah 98,7% sehingga hanya 1,3% data yang tidak terwakili model. Meskipun demikian, regresi hanya memenuhi asumsi independensi dan non-heteroskedastisitas sementara regresi tidak memenuhi asumsi normalitas.

Analisis Regresi Linear Sederhana - Penjualan & Bumbu

Regresi_Bumbu <- lm(Penjualan ~ Bumbu, data=data)
plot(Penjualan ~ Bumbu, data=data)
abline(Regresi_Bumbu)

## 
##  Shapiro-Wilk normality test
## 
## data:  Regresi_Bumbu$residuals
## W = 0.937, p-value = 0.01247
## 
##  Durbin-Watson test
## 
## data:  Regresi_Bumbu
## DW = 2.1811, p-value = 0.5338
## alternative hypothesis: true autocorrelation is not 0
## 
##  studentized Breusch-Pagan test
## 
## data:  Regresi_Bumbu
## BP = 0.86407, df = 1, p-value = 0.3526
## 
## Call:
## lm(formula = Penjualan ~ Bumbu, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -408.85 -211.21    7.04  221.68  414.86 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  388.507     79.384   4.894 1.25e-05 ***
## Bumbu          2.171      1.488   1.459    0.151    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 242.5 on 46 degrees of freedom
## Multiple R-squared:  0.04424,    Adjusted R-squared:  0.02347 
## F-statistic: 2.129 on 1 and 46 DF,  p-value: 0.1513

Berdasarkan hasil analisis regresi, didapatkan bahwa variabel Bumbu tidak signifikan sehingga variabel tidak dapat digunakan untuk model regresi linear.

Nilai R-squared model yang dihasilkan juga hanya sebesar 4,42% sehingga sebanyak 95,58% data tidak terwakili model.

Analisis Regresi Linear Sederhana - Penjualan & Pedas

Regresi_Pedas <- lm(Penjualan ~ Pedas, data=data)
plot(Penjualan ~ Pedas, data=data)
abline(Regresi_Pedas)

## 
##  Shapiro-Wilk normality test
## 
## data:  Regresi_Pedas$residuals
## W = 0.97308, p-value = 0.3322
## 
##  Durbin-Watson test
## 
## data:  Regresi_Pedas
## DW = 1.8527, p-value = 0.6188
## alternative hypothesis: true autocorrelation is not 0
## 
##  studentized Breusch-Pagan test
## 
## data:  Regresi_Pedas
## BP = 0.21067, df = 1, p-value = 0.6462
## 
## Call:
## lm(formula = Penjualan ~ Pedas, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -357.75 -121.56   30.63   93.04  427.29 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  106.484     77.347   1.377    0.175    
## Pedas          7.260      1.355   5.356 2.63e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 194.7 on 46 degrees of freedom
## Multiple R-squared:  0.3841, Adjusted R-squared:  0.3707 
## F-statistic: 28.69 on 1 and 46 DF,  p-value: 2.635e-06

Berdasarkan hasil analisis regresi, didapatkan bahwa variabel Pedas signifikan sehingga variabel dapat digunakan untuk model regresi linear.

Model regresi linear yang terbentuk adalah Penjualan = 106,484 + 7,260xPedas, artinya setiap peningkatan 1 satuan pada variabel Pedas, maka terjadi peningkatan 7,260 satuan pada Penjualan.

Meskipun demikian, nilai R-squared model hanya sebesar 38,41% sehingga sebanyak 61,59% data tidak terwakili model. Regresi memenuhi asumsi normalitas, independensi, dan non-heteroskedastisitas.

Analisis Regresi Linear Sederhana - Penjualan & Bungkus

Regresi_Bungkus <- lm(Penjualan ~ Bungkus, data=data)
plot(Penjualan ~ Bungkus, data=data)
abline(Regresi_Bungkus)

## 
##  Shapiro-Wilk normality test
## 
## data:  Regresi_Bungkus$residuals
## W = 0.96649, p-value = 0.1842
## 
##  Durbin-Watson test
## 
## data:  Regresi_Bungkus
## DW = 1.9954, p-value = 0.9822
## alternative hypothesis: true autocorrelation is not 0
## 
##  studentized Breusch-Pagan test
## 
## data:  Regresi_Bungkus
## BP = 0.18002, df = 1, p-value = 0.6714
## 
## Call:
## lm(formula = Penjualan ~ Bungkus, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -443.78 -172.89   14.97  185.15  359.18 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)   41.722    140.325   0.297  0.76756   
## Bungkus        6.830      2.069   3.300  0.00187 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 223.1 on 46 degrees of freedom
## Multiple R-squared:  0.1914, Adjusted R-squared:  0.1739 
## F-statistic: 10.89 on 1 and 46 DF,  p-value: 0.001871

Berdasarkan hasil analisis regresi, didapatkan bahwa variabel Bungkus signifikan sehingga variabel dapat digunakan untuk model regresi linear.

Model regresi linear yang terbentuk adalah Penjualan = 41,722 + 6,830xBungkus, artinya setiap peningkatan 1 satuan pada variabel Bungkus, maka terjadi peningkatan 6,830 satuan pada Penjualan.

Meskipun demikian, nilai R-squared model hanya sebesar 19,14% sehingga sebanyak 80,86% data tidak terwakili model. Regresi memenuhi asumsi normalitas, independensi, dan non-heteroskedastisitas.

Analisis Regresi Linear Berganda

Setelah melakukan analisis regresi linear secara sederhana, maka dapat dilakukan analisis regresi linear secara agregat (berganda).

Regresi_Berganda <- lm(Penjualan ~ Sayur + Bumbu + Pedas + Bungkus, data=data)
plot(Regresi_Berganda)

## 
##  Shapiro-Wilk normality test
## 
## data:  Regresi_Berganda$residuals
## W = 0.97694, p-value = 0.4583
##    Sayur    Bumbu    Pedas  Bungkus 
## 1.794289 1.061385 1.630958 1.261752
## 
##  Durbin-Watson test
## 
## data:  Regresi_Berganda
## DW = 2.0291, p-value = 0.9341
## alternative hypothesis: true autocorrelation is not 0
## 
##  studentized Breusch-Pagan test
## 
## data:  Regresi_Berganda
## BP = 14.031, df = 4, p-value = 0.007197
## 
## Call:
## lm(formula = Penjualan ~ Sayur + Bumbu + Pedas + Bungkus, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -54.851 -15.034  -4.029  20.742  43.779 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -45.2816    17.4586  -2.594  0.01293 *  
## Sayur         9.9092     0.2079  47.655  < 2e-16 ***
## Bumbu         0.5238     0.1621   3.232  0.00236 ** 
## Pedas         0.1191     0.2280   0.522  0.60412    
## Bungkus       0.2243     0.2673   0.839  0.40592    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 25.65 on 43 degrees of freedom
## Multiple R-squared:   0.99,  Adjusted R-squared:  0.9891 
## F-statistic:  1065 on 4 and 43 DF,  p-value: < 2.2e-16

Berdasarkan hasil analisis regresi, didapatkan bahwa secara simultan model signifikan dengan p-value < 2.2e-16. Sedangkan secara parsial hanya variabel sayur dan bumbu yang signifikan sementara variabel pedas dan bungkus tidak signifikan.

Nilai adjusted R-squared model adalah 98,91% sehingga hanya 1,09% data yang tidak terwakili model. Regresi memenuhi asumsi normalitas, multikolinearitas, dan independensi sementara regresi tidak memenuhi asumsi non-heteroskedastisitas.

Analisis Regresi Linear Berganda - Penjualan, Sayur, & Bumbu

Karena terdapat dua variabel yang tidak signifikan secara parsial, maka variabel pedas dan bungkus akan dihapus.

Regresi_Berganda_2 <- lm(Penjualan ~ Sayur + Bumbu, data=data)
plot(Regresi_Berganda_2)

## 
##  Shapiro-Wilk normality test
## 
## data:  Regresi_Berganda_2$residuals
## W = 0.97258, p-value = 0.3183
##    Sayur    Bumbu 
## 1.026243 1.026243
## 
##  Durbin-Watson test
## 
## data:  Regresi_Berganda_2
## DW = 1.9903, p-value = 0.975
## alternative hypothesis: true autocorrelation is not 0
## 
##  studentized Breusch-Pagan test
## 
## data:  Regresi_Berganda_2
## BP = 11.302, df = 2, p-value = 0.003515
## 
## Call:
## lm(formula = Penjualan ~ Sayur + Bumbu, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -53.267 -17.235  -4.353  20.231  51.816 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -31.2211    10.5542  -2.958  0.00492 ** 
## Sayur        10.0312     0.1556  64.467  < 2e-16 ***
## Bumbu         0.5451     0.1577   3.457  0.00120 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 25.38 on 45 degrees of freedom
## Multiple R-squared:  0.9898, Adjusted R-squared:  0.9893 
## F-statistic:  2175 on 2 and 45 DF,  p-value: < 2.2e-16

Berdasarkan hasil analisis regresi, didapatkan bahwa secara simultan model signifikan dengan p-value < 2.2e-16. Secara parsial semua variabel signifikan dengan tingkat signifikansi 5%.

Model regresi linear yang terbentuk adalah Penjualan = -31,2211 + 10,0312xSayur + 0,5451xBumbu, artinya setiap peningkatan 1 satuan pada variabel Sayur, maka terjadi peningkatan 10,0312 satuan pada Penjualan dan setiap peningkatan 1 satuan pada variabel Bumbu, maka terjadi peningkatan 0,5451 satuan pada Penjualan.

Nilai adjusted R-squared model adalah 98,93% sehingga hanya 1,07% data yang tidak terwakili model. Regresi memenuhi asumsi normalitas, multikolinearitas, dan independensi sementara regresi tidak memenuhi asumsi non-heteroskedastisitas.

Kesimpulan

Berdasarkan hasil Analisis Regresi Linear yang telah dilakukan, maka dianjurkan kepada sang pedagang untuk meningkatkan jumlah Sayur dan rasa Bumbu pada pecel yang dijual. Kedua variabel tersebut bekorelasi signifikan dan dapat meningkatkan Penjualan pecel.