Tugas Kelompok Analisis Regresi Berganda 2

Anggota Kelompok 2

Hariyol G1401221009
Ghonniyu Hiban Saputra G1401221012
Rakesha Putra Antique G1401221056

Rangkuman 4.1 dan 4.2

Setelah mempelajari mengenai model regresi linier sederhana dan berganda didalam dab 2 dan 3. Dalam pembentukan model regresi dengan kumpulan data tertentu, terbukti bahwa pembentukan model tidak terlalu hanya ditentukan oleh satu atau beberapa pengamatan. Teori distribusi, interval kepercayaan, dan pengujian hipotesis yang dijelaskan dalam bab 2 dan 3 adalah valid dan memiliki arti hanya jika asumsi standar regresi terpenuhi.

Bila asumsi-asumsi tersebut dilanggar, hasil standar yang dikutip sebelumnya tidak berlaku dan penerapan asumsi tersebut dapat menyebabkan kesalahan fatal.

Pada Bab ini menyajikan metode untuk memeriksa asumsi-asumsi tersebut. Diutamakan pada metode grafis dibandingkan menerapkan aturan numerik untuk memeriksa pelanggaran model yang lebih lanjut.

Asumsi Standar pada Regresi

1. Asumsi bentuk model Model yang menghubungkan antara peubah \(Y\) dengan \(X1,X2,X3,...Xn\) ,diasumsikan linear pada \(\beta_1,\beta_2,\beta_3 ,...,\beta_n\), yaitu \(Y= \beta_0+ \beta_1X_1+ \beta_2X_2+....+ \beta_nX_n+\epsilon\). Dengan pengamatan ke-i dapat ditulis sebagai berikut:

\(Y= \beta_0+ \beta_1X_{i1}+ \beta_2X_{i2}+....+ \beta_nX_{in}+\epsilon_i\quad i=1,2,3,...n\).

Hal itu disebut dengan asumsi linearitas. Asumsi linearitas dalam model regresi linear sederhana dapat ditentukan berdasarkan scatter plot antara X dan Y. Jika asumsi linearitas tidak terpenuhi maka transformasi data dapat dilakukan

2. Asumsi tentang error/kesalahan Kesalahan \(\epsilon_i=1,2,...,n\) harus berdistribusi normal. Hal ini yang disebut dengan asumsi normalitas. Validasi asumsi normalitas dapat dinilai dengan menguji grafik residu yang sesuai. Selain itu kesalahan \(\epsilon_1,\epsilon_2,...\epsilon_n\) mempunyai rata-rata nol dengan varians yang sama. Ini sering disebut dengan asumsi homogenitas atau homoskedasitas. Terakhir , kesalahan \(\epsilon_1,\epsilon_2,...\epsilon_n\) tidak bergantung satu sama lain, yang berkaitan dengan autokorelasi.

3. Asumsi tentang penduga a. Dalam model regresi, variabel prediktor diasumsikan tetap atau dipilih sebelumnya, tetapi asumsi ini tidak terpenuhi dalam situasi non-eksperimental atau observasional. Hasil teoritis masih berlaku, namun interpretasinya perlu dimodifikasi. Ketika prediktor bersifat acak, semua inferensi bersyarat pada data yang diamati, sesuai dengan pendekatan analisis data yang bertujuan untuk mengekstrak sebanyak mungkin informasi dari data yang tersedia. b. Asumsi bahwa nilai-nilai \(X_1j, X_2j, ..., X_nj\quad j = 1, 2, ..., p\), diukur tanpa error/kesalahan jarang terpenuhi. kesalahan/error pengukuran berdampak pada varians residual, koefisien korelasi ganda, dan estimasi individu koefisien regresi. Efeknya bergantung pada faktor-faktor seperti deviasi standar kesalahan pengukuran dan struktur korelasi di antara kesalahan/error. Kesalahan pengukuran meningkatkan varians residual dan mengurangi magnitudo koefisien korelasi ganda yang diamati. Dampak kesalahan/error pengukuran pada koefisien regresi individu sulit diukur, dengan estimasi dipengaruhi oleh kesalahan pengukuran sendiri dan kesalahan/error pengukuran variabel lain dalam persamaan. Koreksi untuk kesalahan pengukuran pada koefisien regresi memerlukan pengetahuan tentang rasio varians kesalahan/error pengukuran dan kesalahan/error acak, yang jarang diketahui, terutama dalam ilmu sosial. Meskipun tidak mungkin sepenuhnya menghilangkan efek kesalahan/error pengukuran dari estimasi koefisien regresi, jika kesalahan/error pengukuran relatif kecil dibandingkan dengan kesalahan/error acak, dampaknya menjadi minim. Meskipun terdapat beberapa masalah dalam estimasi koefisien regresi ketika variabel bermasalah, persamaan regresi masih dapat digunakan untuk penduga. Namun, keberadaan kesalahan/error dalam prediktor mengurangi akurasi penduga. c. Dalam analisis regresi, kita mengasumsikan bahwa variabel prediktor X₁, X₂, dan X₃ tidak memiliki hubungan linear satu sama lain. Asumsi ini penting untuk memastikan solusi kuadrat terkecil yang unik. Jika asumsi ini tidak terpenuhi, kita menghadapi masalah kolinearitas

4. Asumsi tentang pengamatan Dalam analisis regresi, diasumsikan bahwa setiap pengamatan memiliki keandalan dan pengaruh yang sekitar sama terhadap hasil dan kesimpulan.

Soal 4.12 - 4.14

4.12

Pembentukan model

data <- read.csv("C:/Users/Ghonniyu/Downloads/Data Anreg Berganda 2.csv", header = TRUE)
y<-data$Y
x1<-data$X1
x2<-data$X2
x3<-data$X3
x4<-data$X4
x5<-data$X5
x6<-data$X6
data<-data.frame(cbind(y,x1,x2,x3,x4,x5,x6))
head(data)
##     y  x1 x2  x3 x4 x5  x6
## 1 443  49 79  76  8 15 205
## 2 290  27 70  31  6  6 129
## 3 676 115 92 130  0  9 339
## 4 536  92 62  92  5  8 247
## 5 481  67 42  94 16  3 202
## 6 296  31 54  34 14 11 119
reg <- lm(y~x1+x2+x3+x4+x5+x6, data= data)
summary(reg)
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -54.267 -15.427   2.524  13.633  71.438 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  35.1772    22.0755   1.593  0.12058   
## x1            2.8547     5.3372   0.535  0.59632   
## x2            3.2753     5.3330   0.614  0.54332   
## x3            3.1863     5.2887   0.602  0.55098   
## x4            3.1878     0.9918   3.214  0.00292 **
## x5           -0.6677     0.8934  -0.747  0.46014   
## x6           -1.1658     5.3217  -0.219  0.82794   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 28.5 on 33 degrees of freedom
## Multiple R-squared:  0.9559, Adjusted R-squared:  0.9479 
## F-statistic: 119.3 on 6 and 33 DF,  p-value: < 2.2e-16

Eksplorasi data

Grafik tiap peubah

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
library(GGally) 
## Warning: package 'GGally' was built under R version 4.3.2
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
library(plotly) 
## Warning: package 'plotly' was built under R version 4.3.2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(crosstalk)
## Warning: package 'crosstalk' was built under R version 4.3.2
library(ggridges)
## Warning: package 'ggridges' was built under R version 4.3.2
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks plotly::filter(), stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
y.bar <- mean(y)
interactive.plot <- ggplot(data) +
  geom_point(aes(x = x1,y = y),color="darkblue",shape=8, size=1) +
  geom_smooth(aes(x = x1, y = y), method = "lm", se = FALSE, color = "red") +
  ggtitle("y vs x1") +
  ylab("y") +
  xlab("x1") + 
  theme_classic() +
  theme(plot.title = element_text(hjust = 0.5))
ggplotly(interactive.plot)
## `geom_smooth()` using formula = 'y ~ x'
y.bar <- mean(y)
interactive.plot <- ggplot(data) +
  geom_point(aes(x = x2,y = y),color="blue",shape=8, size=1) +
  geom_smooth(aes(x = x2, y = y), method = "lm", se = FALSE, color = "red") +
  ggtitle("y vs x2") +
  ylab("y") +
  xlab("x2") + 
  theme_classic() +
  theme(plot.title = element_text(hjust = 0.5))
ggplotly(interactive.plot)
## `geom_smooth()` using formula = 'y ~ x'
y.bar <- mean(y)
interactive.plot <- ggplot(data) +
  geom_point(aes(x = x3,y = y),color="blue",shape=8, size=1) +
  geom_smooth(aes(x = x3, y = y), method = "lm", se = FALSE, color = "red") +
  ggtitle("y vs x3") +
  ylab("y") +
  xlab("x3") + 
  theme_classic() +
  theme(plot.title = element_text(hjust = 0.5))
ggplotly(interactive.plot)
## `geom_smooth()` using formula = 'y ~ x'
y.bar <- mean(y)
interactive.plot <- ggplot(data) +
  geom_point(aes(x = x4,y = y),color="purple",shape=8, size=1) +
  geom_smooth(aes(x = x4, y = y), method = "lm", se = FALSE, color = "red") +
  ggtitle("y vs x4") +
  ylab("y") +
  xlab("x4") + 
  theme_classic() +
  theme(plot.title = element_text(hjust = 0.5))
ggplotly(interactive.plot)
## `geom_smooth()` using formula = 'y ~ x'
y.bar <- mean(y)
interactive.plot <- ggplot(data) +
  geom_point(aes(x = x5,y = y),color="blueviolet",shape=8, size=1) +
  geom_smooth(aes(x = x5, y = y), method = "lm", se = FALSE, color = "red") +
  ggtitle("y vs x5") +
  ylab("y") +
  xlab("x5") + 
  theme_classic() +
  theme(plot.title = element_text(hjust = 0.5))
ggplotly(interactive.plot)
## `geom_smooth()` using formula = 'y ~ x'
y.bar <- mean(y)
interactive.plot <- ggplot(data) +
  geom_point(aes(x = x6,y = y),color="deepskyblue4",shape=8, size=1) +
  geom_smooth(aes(x = x6, y = y), method = "lm", se = FALSE, color = "red") +
  ggtitle("y vs x6") +
  ylab("y") +
  xlab("x6") + 
  theme_classic() +
  theme(plot.title = element_text(hjust = 0.5))
ggplotly(interactive.plot)
## `geom_smooth()` using formula = 'y ~ x'

Dari keenam plot yang ada, dapat disimpulkan setiap parameter memiliki hubungan linear dengan peubah respon Y. Kondisi yang membedakan adalah keterikatan atau korelasi suatu parameter dengan peubah respon

Uji galat normal

plot(reg,2)

Dari qq plot diatas dapat disimpulkan data menyebar normal dengan ujung-ujung menipis.

Uji asumsi galat homogen

\[ H_0 : \text{Galat bersifat homogen}\\ H_1 : \text{Galat tidak bersifat homogen} \]

plot(reg,1)

Galat tersebut cenderung memiliki simpangan dari 0 yang sama, tetapi ada beberapa galat yang memiliki simpangan lebih jauh dari yang lain. Dugaan pertama adalah nilai galat tidak homogen. Sebagai pembuktian akan dilakukan uji bptest:

library(lmtest)
## Warning: package 'lmtest' was built under R version 4.3.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.2
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
homogen <- bptest(reg)
homogen
## 
##  studentized Breusch-Pagan test
## 
## data:  reg
## BP = 4.4813, df = 6, p-value = 0.6118

Nilai p-value > 0.05 sehingga tak tolak \(H_0\). Galat dari model bersifat homogen

Uji multikolinearitas

library(car)
## Warning: package 'car' was built under R version 4.3.3
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
## The following object is masked from 'package:purrr':
## 
##     some
vif(reg)
##          x1          x2          x3          x4          x5          x6 
## 1062.167136 1103.595644  764.394462    1.036287    1.023312 5310.504807

Berdasarkan hasil diatas, pada X1, X2, X3, dan X6 memiliki nilai VIF>10 sehingga dapat diartikan memiliki hubungan multikolinearitas. Asumsi antar variabel tidak saling bebas tidak terpenuhi.

Penentuan nilai ri,Ci, Dfits, dan Hi

Menghitung ri

library(MASS)
## Warning: package 'MASS' was built under R version 4.3.3
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
## The following object is masked from 'package:plotly':
## 
##     select
ri <- studres(reg)
ri
##           1           2           3           4           5           6 
## -0.34657730 -0.58360673 -0.07674642  0.70707544  0.15941220 -0.43282848 
##           7           8           9          10          11          12 
##  0.39265034  0.07495885 -0.74538767 -1.00179343  0.48188102  0.89893230 
##          13          14          15          16          17          18 
## -1.10702511 -0.35828197  0.53577562 -0.64466082  1.95516644  0.07682477 
##          19          20          21          22          23          24 
##  0.66396300  1.42291758  0.43272252  0.16102459 -0.46163962 -1.97505543 
##          25          26          27          28          29          30 
##  1.26142974  0.30428712 -1.03382240  0.46045956  0.11346806 -0.22617343 
##          31          32          33          34          35          36 
##  0.66649345  0.27960323  1.25715862 -2.31525950  0.57924044 -0.87895505 
##          37          38          39          40 
## -0.46769666  3.11952496 -1.29804417 -1.75026401

Menghitung Ci

ci <- cooks.distance(reg)
ci
##            1            2            3            4            5            6 
## 0.0021423132 0.0124256541 0.0004744901 0.0073966729 0.0012798353 0.0053752442 
##            7            8            9           10           11           12 
## 0.0082838730 0.0004277140 0.0136865641 0.0545949061 0.0049839161 0.0437099317 
##           13           14           15           16           17           18 
## 0.0344324867 0.0057639955 0.0259474755 0.0147613086 0.0897910089 0.0001423804 
##           19           20           21           22           23           24 
## 0.0087059351 0.0264029898 0.0038515912 0.0008321183 0.0057956667 0.0821860718 
##           25           26           27           28           29           30 
## 0.0279799124 0.0034466629 0.0056995398 0.0105317033 0.0003970040 0.0007442923 
##           31           32           33           34           35           36 
## 0.0089960124 0.0011126334 0.0689205737 0.2072157606 0.0070426632 0.0168280034 
##           37           38           39           40 
## 0.0054539030 0.2475472468 0.0255334560 0.0403274572

Menghitung Dfits

dfits <- dffits(reg)
dfits
##           1           2           3           4           5           6 
## -0.12081534 -0.29196157 -0.05675715  0.22581440  0.09324305 -0.19157273 
##           7           8           9          10          11          12 
##  0.23769905  0.05388674 -0.30743417 -0.61822805  0.18459607  0.55153429 
##          13          14          15          16          17          18 
## -0.49262000 -0.19819751  0.42155459 -0.31858948  0.82601415  0.03109082 
##          19          20          21          22          23          24 
##  0.24476305  0.43653163  0.16216386  0.07518573 -0.19900321 -0.79112205 
##          25          26          27          28          29          30 
##  0.44650674  0.15317710 -0.19994985  0.26825656  0.05192205 -0.07113538 
##          31          32          33          34          35          36 
##  0.24882024  0.08701076  0.70066389 -1.28147269  0.21978621 -0.34202948 
##          37          38          39          40 
## -0.19306344  1.48031031 -0.42713445 -0.54767086

Menghitung Hi

hi <-hatvalues(reg)
hi
##          1          2          3          4          5          6          7 
## 0.10835210 0.20017351 0.35355474 0.09255349 0.25491510 0.16381009 0.26818942 
##          8          9         10         11         12         13         14 
## 0.34071497 0.14538236 0.27580244 0.12796705 0.27348598 0.16528942 0.23431356 
##         15         16         17         18         19         20         21 
## 0.38236257 0.19629055 0.15145464 0.14073138 0.11963705 0.08602167 0.12314504 
##         22         23         24         25         26         27         28 
## 0.17899209 0.15670825 0.13826222 0.11134326 0.20217527 0.03605797 0.25339961 
##         29         30         31         32         33         34         35 
## 0.17313702 0.09001641 0.12232454 0.08829124 0.23700646 0.23450897 0.12585402 
##         36         37         38         39         40 
## 0.13150995 0.14559180 0.18379298 0.09770135 0.08917948

Jawaban 4.12

4.12 a) Asumsi metode kuadrat terkecil apa saja yang dapat tidak dipenuhi?

Jawaban : Asumsi metode kuadrat terkecil mencakup persamaan akan berbentuk linear atau tidak, galat menyebar normal. galat menyebar normal, galat homogen, nilai harapan dari galat sama dengan 0, nilai pendugaan tidak memiliki galat dan pengecekan ada atau tidaknya multikolinearitas.

4.12 b) Tentukan nilai ri, ci, dfits, dan Hi pada data

Jawaban :

tabel_measureofinfluence <- data.frame(data, ri, ci, dfits, hi )
tabel_measureofinfluence <- round(tabel_measureofinfluence, 5)
tabel_measureofinfluence
##      y  x1  x2  x3 x4 x5  x6       ri      ci    dfits      hi
## 1  443  49  79  76  8 15 205 -0.34658 0.00214 -0.12082 0.10835
## 2  290  27  70  31  6  6 129 -0.58361 0.01243 -0.29196 0.20017
## 3  676 115  92 130  0  9 339 -0.07675 0.00047 -0.05676 0.35355
## 4  536  92  62  92  5  8 247  0.70708 0.00740  0.22581 0.09255
## 5  481  67  42  94 16  3 202  0.15941 0.00128  0.09324 0.25492
## 6  296  31  54  34 14 11 119 -0.43283 0.00538 -0.19157 0.16381
## 7  453 105  60  47  5 10 212  0.39265 0.00828  0.23770 0.26819
## 8  617 114  85  84 17 20 285  0.07496 0.00043  0.05389 0.34071
## 9  514  98  72  71 12 -1 242 -0.74539 0.01369 -0.30743 0.14538
## 10 400  15  59  99 15 11 174 -1.00179 0.05459 -0.61823 0.27580
## 11 473  62  62  81  9  1 207  0.48188 0.00498  0.18460 0.12797
## 12 157  25  11   7  9  9  45  0.89893 0.04371  0.55153 0.27349
## 13 440  45  65  84 19 13 195 -1.10703 0.03443 -0.49262 0.16529
## 14 480  92  75  63  9 20 232 -0.35828 0.00576 -0.19820 0.23431
## 15 316  27  26  82  4 17 134  0.53578 0.02595  0.42155 0.38236
## 16 530 111  52  93 11 13 256 -0.64466 0.01476 -0.31859 0.19629
## 17 610  78 102  84  5  7 266  1.95517 0.08979  0.82601 0.15145
## 18 617 106  87  82 18  7 276  0.07682 0.00014  0.03109 0.14073
## 19 600  97  98  71 12  8 266  0.66396 0.00871  0.24476 0.11964
## 20 480  67  65  62 13 12 196  1.42292 0.02640  0.43653 0.08602
## 21 279  38  26  44 10  8 110  0.43272 0.00385  0.16216 0.12315
## 22 446  56  32  99 16  8 188  0.16102 0.00083  0.07519 0.17899
## 23 450  54 100  50 11 15 205 -0.46164 0.00580 -0.19900 0.15671
## 24 335  53  55  60  8  0 170 -1.97506 0.08219 -0.79112 0.13826
## 25 459  61  53  79  6  5 193  1.26143 0.02798  0.44651 0.11134
## 26 630  60 108 104 17  8 273  0.30429 0.00345  0.15318 0.20218
## 27 483  83  78  71 11  8 233 -1.03382 0.00570 -0.19995 0.03606
## 28 617  74 125  66 16  4 265  0.46046 0.01053  0.26826 0.25340
## 29 605  89 121  71  8  8 283  0.11347 0.00040  0.05192 0.17314
## 30 388  64  30  81 10 10 176 -0.22617 0.00074 -0.07114 0.09002
## 31 351  34  44  65  7  9 143  0.66649 0.00900  0.24882 0.12232
## 32 366  71  34  56  8  9 162  0.27960 0.00111  0.08701 0.08829
## 33 493  88  30  87 13  0 207  1.25716 0.06892  0.70066 0.23701
## 34 648 112 105 123  5 12 340 -2.31526 0.20722 -1.28147 0.23451
## 35 449  57  69  72  5  4 200  0.57924 0.00704  0.21979 0.12585
## 36 340  61  35  55 13  0 152 -0.87896 0.01683 -0.34203 0.13151
## 37 292  29  45  47 13 13 123 -0.46770 0.00545 -0.19306 0.14559
## 38 688  82 105  81 20  9 268  3.11952 0.24755  1.48031 0.18379
## 39 408  80  55  61 11  1 197 -1.29804 0.02553 -0.42713 0.09770
## 40 461  82  88  54 14  7 225 -1.75026 0.04033 -0.54767 0.08918

4.12 c) Buatkan plot indeks dari nilai ri, ci, dfits, dan Hi pada data

Jawaban :

Plot ri

plot( x = 1:dim(data)[1],
      y = ri)

Plot ci

plot( x = 1:dim(data)[1],
      y =ci)

Plot dfits

plot( x = 1:dim(data)[1],
      y = dfits)

Plot Hi

plot( x = 1:dim(data)[1],
      y = hi)

Residual Potensial Plot

library(olsrr)
## Warning: package 'olsrr' was built under R version 4.3.2
## 
## Attaching package: 'olsrr'
## The following object is masked from 'package:MASS':
## 
##     cement
## The following object is masked from 'package:datasets':
## 
##     rivers
ols_plot_resid_pot(reg, print_plot = TRUE)

Melalui potential residual plot, diketahui ada nilai yang bersifat leverage (kiri atas) dan ada data yang bersifat outlier (kanan bawah)

4.12 d.) Menentukan titik pencilan dan leverage

p <- length(reg$coefficients)
n <- dim(data)[1]
dua_hbar <- 2*p/n
dua_hbar
## [1] 0.35
for (i in 1:dim(tabel_measureofinfluence)[1]){
  cutoff <- dua_hbar
  titik_leverage <- which(hi > cutoff)
}
titik_leverage
##  3 15 
##  3 15

Suatu data akan menjadi leverage apabila nilai hi lebih besar dari hbar, dengan syarat 2hbar itu tidak lebih dari 1. Berdasarkan hasil perhitungan diatas diketahui nilai 2hbar adalah 0.35 (syarat terpenuhi). Jadi data ke 3 dan data ke 15 merupakan data leverage

for (i in 1:dim(tabel_measureofinfluence)[1]){
  absri <- abs(ri)
  pencilan <- which(absri > 2)
}
pencilan
## 34 38 
## 34 38

Nilai akan menjadi pencilan jika nilai mutlak ri lebih besar dari dua. Berdasarkan perhitungan di atas diketahui data ke 34 dan 38 merupakan pencilan.

4.13

Model Regresi dengan tiga peubah penjelas(x1,x2,x3)

model1 <- lm(y~x1+x2+x3, data=data)
summary(model1)
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -73.919 -15.681  -4.493  22.570  99.903 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  61.9253    18.1589   3.410  0.00162 ** 
## x1            1.6365     0.2208   7.413 9.50e-09 ***
## x2            2.1769     0.2028  10.734 9.05e-13 ***
## x3            2.0173     0.2398   8.411 5.10e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 31.63 on 36 degrees of freedom
## Multiple R-squared:  0.9408, Adjusted R-squared:  0.9359 
## F-statistic: 190.7 on 3 and 36 DF,  p-value: < 2.2e-16
anova(model1)
## Analysis of Variance Table
## 
## Response: y
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## x1         1 360912  360912 360.710 < 2.2e-16 ***
## x2         1 140602  140602 140.523 5.476e-14 ***
## x3         1  70785   70785  70.746 5.100e-10 ***
## Residuals 36  36020    1001                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pada model regresi diatas dengan menggunakan 3 peubah penjelasan, menghasilkan nilai R-square (Koefisien Determinasi) 0.9408. Hal ini menandakan bahwa model dengan 3 peubah penjelas ini sudah cukup baik, karena nilai dari koefisien determinasinya mendekati satu.

Seleksi Peubah metode Forward

Seleksi Variabel Metode Forward adalah salah satu teknik dalam analisis regresi yang digunakan untuk memilih variabel-variabel yang paling berpengaruh atau signifikan dalam memprediksi variabel dependen. Dalam metode ini, variabel independen secara bertahap dimasukkan ke dalam model regresi berdasarkan kriteria tertentu, seperti signifikansi statistiknya.Prosedur seleksi peubah dengan metode forward berdasarkan soal adalah sebagai berikut,

  1. Langkah dimulai dengan melakukan pemodelan hanya terhadap tiga variabel pertama (X1, X2, X3)

  2. Selanjutnya, satu per satu peubah penjelas akan dimasukkan kedalam model. Jika nilai AIC lebih kecil, maka dengan penambahan peubah penjelas tersebut model semakin baik. Sehingga peubah penjelas tersebut perlu kita masukan kedalam model untuk mendapatkan model terbaik.

  3. Lakukan hingga selesai

1.Penambahan Variabel X4

step(model1,direction="forward",
 scope=~x1+x2+x3+x4)
## Start:  AIC=280.12
## y ~ x1 + x2 + x3
## 
##        Df Sum of Sq   RSS    AIC
## + x4    1      8727 27293 271.02
## <none>              36020 280.12
## 
## Step:  AIC=271.02
## y ~ x1 + x2 + x3 + x4
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3 + x4, data = data)
## 
## Coefficients:
## (Intercept)           x1           x2           x3           x4  
##      28.347        1.701        2.091        2.021        3.230

Berdasarkan prosedur seleksi variabel menggunakan metode forward pertama, model menjadi lebih baik dengan penambahan variabel penjelas X4. Hal ini didukung oleh nilai AIC yang lebih rendah, yaitu 271,02 dibandingkan dengan nilai sebelumnya tanpa penambahan X4 sebesar 280,12. Sehingga kita perlu memasukan X4 kedalam model

Memasukan Peubah X4 ke dalam Model

model1 <- lm(y~x1+x2+x3+x4, data=data)
summary(model1)
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3 + x4, data = data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -55.05 -17.03   2.83  17.08  72.40 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  28.3469    18.9141   1.499  0.14291    
## x1            1.7006     0.1958   8.684 2.97e-10 ***
## x2            2.0907     0.1809  11.558 1.68e-13 ***
## x3            2.0209     0.2117   9.544 2.83e-11 ***
## x4            3.2295     0.9654   3.345  0.00197 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 27.92 on 35 degrees of freedom
## Multiple R-squared:  0.9551, Adjusted R-squared:   0.95 
## F-statistic: 186.3 on 4 and 35 DF,  p-value: < 2.2e-16
anova(model1)
## Analysis of Variance Table
## 
## Response: y
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## x1         1 360912  360912 462.823 < 2.2e-16 ***
## x2         1 140602  140602 180.303 2.269e-15 ***
## x3         1  70785   70785  90.773 2.962e-11 ***
## x4         1   8727    8727  11.191  0.001971 ** 
## Residuals 35  27293     780                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

2.Penambahan Variabel X5 kedalam model1

step(model1,direction="forward",
 scope=~x1+x2+x3+x4+x5)
## Start:  AIC=271.02
## y ~ x1 + x2 + x3 + x4
## 
##        Df Sum of Sq   RSS    AIC
## <none>              27293 271.02
## + x5    1    441.25 26852 272.37
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3 + x4, data = data)
## 
## Coefficients:
## (Intercept)           x1           x2           x3           x4  
##      28.347        1.701        2.091        2.021        3.230

Berdasarkan nilai AIC yang diberikan, penambahan variabel penjelas X5 ke dalam model justru menghasilkan nilai AIC yang lebih besar, yaitu 272,37 dibandingkan model sebelumnya sebesar 271,02. Oleh karena itu, model lebih baik tanpa penambahan variabel penjelas X5. Sehingga, variabel X5 tidak dimasukkan ke dalam l

3.Penambahan Variabel X6 kedalam model1

step(model1,direction="forward",
 scope=~x1+x2+x3+x4+x6)
## Start:  AIC=271.02
## y ~ x1 + x2 + x3 + x4
## 
##        Df Sum of Sq   RSS    AIC
## <none>              27293 271.02
## + x6    1    26.418 27267 272.98
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3 + x4, data = data)
## 
## Coefficients:
## (Intercept)           x1           x2           x3           x4  
##      28.347        1.701        2.091        2.021        3.230

Berdasarkan nilai AIC yang diberikan, penambahan variabel penjelas X6 ke dalam model justru menghasilkan nilai AIC yang lebih besar, yaitu 272,98 dibandingkan model sebelumnya sebesar 271,02. Oleh karena itu, model lebih baik tanpa penambahan variabel penjelas X6. Sehingga, variabel X6 tidak dimasukkan ke dalam model

Jawaban 4.13

Model terbaik yang dapat digunakan untuk menjelaskan variabel Y adalah model yang melibatkan penambahan variabel penjelas X4. Hal ini didukung oleh penurunan nilai AIC yang signifikan setelah penambahan X4 ke dalam model, menunjukkan peningkatan dalam kecocokan model. Dengan demikian, penambahan X4 memberikan kontribusi yang signifikan dalam meningkatkan pemahaman dan deskripsi atas variabel Y dalam konteks model regresi yang dibangun

4.14

(model <- lm(y ~ x1+x2+x3, data=data))
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3, data = data)
## 
## Coefficients:
## (Intercept)           x1           x2           x3  
##      61.925        1.637        2.177        2.017
(modelYX1 <- lm(y~x1,data=data))
## 
## Call:
## lm(formula = y ~ x1, data = data)
## 
## Coefficients:
## (Intercept)           x1  
##     227.552        3.451

\[Ŷ=227.552+3.451X1\]

(u <- resid(modelYX1))
##           1           2           3           4           5           6 
##   46.327313  -30.740910   51.531982   -9.084796   22.201314  -38.546687 
##           7           8           9          10          11          12 
## -136.953574   -4.016573  -51.793463  120.676423   31.458536 -156.838021 
##          13          14          15          16          17          18 
##   57.133091  -65.084796   -4.740910  -80.662240  113.235425   23.594982 
##          19          20          21          22          23          24 
##   37.657982   21.201314  -79.706798   25.167202   36.070091  -75.478464 
##          25          26          27          28          29          30 
##   20.909980  195.361425  -31.021797  134.041203   70.269537  -60.444353 
##          31          32          33          34          35          36 
##    6.098979 -106.604464  -38.279019   33.886315   24.715758  -98.090020 
##          37          38          39          40 
##  -35.643799  177.429648  -95.667464  -49.570352
(sigma <- sd(u))
## [1] 79.64778
(modelX3X1 <- lm(x3~x1, data=data))
## 
## Call:
## lm(formula = x3 ~ x1, data = data)
## 
## Coefficients:
## (Intercept)           x1  
##     45.6864       0.3873

\[ \hat X3 =45.6864 + 0.3873X1 \]

(v <- resid(modelX3X1))
##          1          2          3          4          5          6          7 
##  11.334449 -25.144292  39.770674  10.679263  22.362511 -23.693612 -39.356026 
##          8          9         10         11         12         13         14 
##  -5.841996 -12.644717  47.503667  11.299160 -48.369633  20.883769 -18.320737 
##         15         16         17         18         19         20         21 
##  25.855708   4.319994   8.101881  -4.743356 -12.257387  -9.637489 -16.404922 
##         22         23         24         25         26         27         28 
##  31.623140 -16.602200  -6.214870   9.686490  35.073820  -6.834768  -8.348799 
##         29         30         31         32         33         34         35 
##  -9.158748  10.524500   6.144398 -17.186809   7.228582  33.932664   4.235810 
##         36         37         38         39         40 
## -14.313510  -9.918952   3.552562 -15.672778 -23.447438
(sum <- sum(v))
## [1] 4.440892e-15
(beta <- sum(u*v)/sum(v^2))
## [1] 2.332771
sigma <- sd(data$x3)
(standard_error_beta <- sigma / sqrt(sum(v^2)))
## [1] 0.1795568

Jawaban 4.14

Setelah perhitungan didapatkan hasil untuk \(\hat \beta_3\) dan \(\hat \sigma _\hat\beta\) adalah

\[\hat \beta _3 = 2.332771\] \[\hat \sigma _ \hat \beta = 0.1795568\]