www.jagostat.com

www.jagostat.com

Website Belajar Matematika & Statistika

Website Belajar Matematika & Statistika

Tutorial R   »   Analisis Regresi   ›  Regresi Linear Berganda dalam Pemrograman R
Multiple Regression

Regresi Linear Berganda dalam Pemrograman R

Model regresi yang banyak digunakan adalah regresi linear berganda (multiple regression), di mana terdapat satu variabel tak bebas dan beberapa variabel bebas.


Flag Counter

Model regresi biasanya mencakup lebih dari satu variabel bebas. Model regresi yang digunakan untuk memodelkan hubungan antara satu variabel tak bebas dengan beberapa variabel bebas disebut model regresi berganda (multiple regression).

Pada artikel ini kita akan membahas analisis regresi berganda dalam pemrograman R. Sebagai contoh, kita akan gunakan dataset marketing yang terdapat dalam package datarium. Data ini berisi jumlah uang yang dikeluarkan untuk iklan pada tiga media pengiklan (youtube, facebook, dan surat kabar) serta penjualan.

Pertama, kita install package datarium terlebih dahulu menggunakan sintaks berikut.

                
                    ## instal package datarium
                    install.packages("datarium")
                    library(datarium)
                
              

Setelah terinstal kita akan coba menampilkan 6 pengamatan pertama pada dataset marketing yang terdapat dalam package datarium. Perhatikan sintaks berikut.

                
                    ## menampilkan 6 pengamatan pertama
                    data("marketing", package = "datarium")
                    head(marketing)
                    
                    Output:
                      youtube facebook newspaper sales
                    1  276.12    45.36     83.04 26.52
                    2   53.40    47.16     54.12 12.48
                    3   20.64    55.08     83.16 11.16
                    4  181.80    49.56     70.20 22.20
                    5  216.96    12.96     70.08 15.48
                    6   10.44    58.68     90.00  8.64
                
              

Selanjutnya, kita akan mencari model yang dapat menjelaskan bagaimana jumlah uang yang dikeluarkan untuk iklan pada tiga media pengiklan berpengaruh terhadap penjualan (sales). Kita gunakan sintaks R berikut ini.

                
                    ## model regresi berganda ##
                    model <- lm(sales ~ youtube + facebook + newspaper, data = marketing)
                    model
                    
                    Output:
                    Call:
                    lm(formula = sales ~ youtube + facebook + newspaper, data = marketing)
                    
                    Coefficients:
                    (Intercept)      youtube     facebook    newspaper  
                       3.526667     0.045765     0.188530    -0.001037  
                
              

Untuk menampilkan output yang lebih rinci, kita dapat gunakan sintaks summary(model).

                
                    ## model regresi berganda ##
                    summary(model)
                    
                    Output:
                    Call:
                    lm(formula = sales ~ youtube + facebook + newspaper, data = marketing)
                    
                    Residuals:
                         Min       1Q   Median       3Q      Max 
                    -10.5932  -1.0690   0.2902   1.4272   3.3951 
                    
                    Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
                    (Intercept)  3.526667   0.374290   9.422   <2e-16 ***
                    youtube      0.045765   0.001395  32.809   <2e-16 ***
                    facebook     0.188530   0.008611  21.893   <2e-16 ***
                    newspaper   -0.001037   0.005871  -0.177     0.86    
                    ---
                    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
                    
                    Residual standard error: 2.023 on 196 degrees of freedom
                    Multiple R-squared:  0.8972,	Adjusted R-squared:  0.8956 
                    F-statistic: 570.3 on 3 and 196 DF,  p-value: < 2.2e-16
                
              
Interpretasi

Langkah pertama dalam interpretasi analisis regresi berganda yaitu melihat Statistik-F dan nilai p-value nya. Dari output di atas, diperoleh nilai F-statistic = 570.3 dengan p-value < 2.2e-16, yang mana sangat signifikan. Ini artinya, setidaknya terdapat satu variabel bebas yang signifikan memengaruhi variabel tak bebas (sales). Selain itu, juga diperoleh nilai R square yang cukup tinggi yang menandakan model yang diperoleh cukup baik.

Selanjutnya, untuk melihat variabel tak bebas mana yang signifikan, kita bisa mengkaji dari tabel coefficients, yang menunjukkan estimasi koefisien regresi berganda, statistik-t dan nilai p-value nya. Dari output tersebut, terlihat bahwa iklan pada youtube dan facebook secara signifikan memengaruhi penjualan. Ini tergambarkan melalui nilai p-value yang sangat kecil atau kurang dari tingkat signifikansi yang digunakan (misalkan, tingkat signifikan yang digunakan adalah 5%).

Sementara itu, iklan pada surat kabar (newspaper) tampak tidak signifikan memengaruhi penjualan. Ini terlihat dari nilai p-value yang lebih besar dari tingkat signifikan 5%. Karena iklan pada surat kabar tidak signifikan memengaruhi penjualan, kita akan mengeluarkan variabel ini dalam model. Sekarang kita peroleh berikut.

                
                    ## model regresi berganda ##
                    model <- lm(sales ~ youtube + facebook, data = marketing)
                    summary(model)
                    
                    Output:
                    Call:
                    lm(formula = sales ~ youtube + facebook, data = marketing)
                    
                    Residuals:
                         Min       1Q   Median       3Q      Max 
                    -10.5572  -1.0502   0.2906   1.4049   3.3994 
                    
                    Coefficients:
                                Estimate Std. Error t value Pr(>|t|)    
                    (Intercept)  3.50532    0.35339   9.919   <2e-16 ***
                    youtube      0.04575    0.00139  32.909   <2e-16 ***
                    facebook     0.18799    0.00804  23.382   <2e-16 ***
                    ---
                    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
                    
                    Residual standard error: 2.018 on 197 degrees of freedom
                    Multiple R-squared:  0.8972,	Adjusted R-squared:  0.8962 
                    F-statistic: 859.6 on 2 and 197 DF,  p-value: < 2.2e-16
                
              

Dengan demikian, model regresi berganda yang diperoleh dapat dituliskan sebagai berikut:

\[ \text{Sales} = 3.5053 + 0.0457 \ \text{youtube} + 0.1879 \ \text{facebook} \]

Adapun selang kepercayaan (confidence interval) untuk koefisien regresi dapat diperoleh dengan sintaks berikut:

                
                    ## Selang kepercayaan ##
                    confint(model)
                    
                    Output:
                                     2.5 %     97.5 %
                    (Intercept) 2.80841159 4.20222820
                    youtube     0.04301292 0.04849671
                    facebook    0.17213877 0.20384969
                
              
Pengecekan Asumsi

Kita telah berhasil membangun model regresi berganda menggunakan pemrograman R seperti dijelaskan di atas, tetapi tugas kita belum selesai. Untuk dapat menggunakan model tersebut, kita perlu memastikan bahwa model itu telah memenuhi semua asumsi yang mendasarinya. Dengan kata lain, kita perlu mengecek beberapa asumsi dalam regresi linear berganda, yakni: asumsi normalitas, homoskedastis, heteroskedastis dan autokorelasi.

Kita akan jelaskan ini dalam kesempatan berikutnya.

Artikel Terkait

Anda hidup hanya sekali, tetapi jika Anda melakukannya dengan benar, sekali itu cukup.