Notes Theme: - Kelas A: cayman
- Kelas B: tactile
- Kelas C: architect
- Kelas D: hpstr
Library:
> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")1 PENDAHULUAN
1.1 Latar Belakang
Penggunaan statistika sangat diperlukan dalam penelitian di semua bidang ilmu apapun yang menggunakan perhitungan-perhitungan. Hasil sebuah penelitian dipengaruhi oleh penggunaan satatistika dalam mengolah data penelitian. dalam statistika terdapat metode metode analisis yaitu analisis regresi. tujuan dari analisis data adalah untuk memodelkan hubungan variabel dan model tersebut digunakan untuk memprediksi nilai variabel dependen berdasarkan nilai variabel independen. analisis regresi merupakan sebuah metode statistika yang berguna untuk memahami hubungan antara satu variabel dependen (variabel respon) dan satu atau lebih variabel independen (variabel prediktor).
2 TINJAUAN PUSTAKA
2.1 Analisis Regresi
Analisis regresi adalah metode analisis yang digunakan untuk membuat suatu persamaan untuk memprediksi nilai variabel terikat dan variabel bebas dalam persamaan tersebut.Persamaan regresi linear dapat diekspresikan dalam persamaan berikut:
Y = β0+β1x1+β2x+…+βnxn
Y = variable tak bebas (nilai variabel yang akan diprediksi)
a = konstanta b1,b2,…, bn = nilai koefisien regresi X1,X2,… X = variable bebas
2.2 Asumsi-Asumsi Dalam Analisis Regresi
terdapat beberapa uji asumsi yang digunakan analisi regresi yaitu : 1. Asumsi Normalitas 2. asumsi linearitas 3. asumsi homoskedastisitas 4. asumsi autokorelasi
3 SOURCE CODE
3.1 Library
> # install.packages(readxl)
> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")
> # install.packages(tseries)
> # install.packages(lmtest)3.2 Data
> #Bangkitkan X dan Y
> library(readxl)
> data <- read_excel("C:/Users/LENOVO/Downloads/data mini projek.xlsx")
> View(data)
> X <- data$X
> X
[1] 32 36 31 38 29 35 33 30 32 36 31 31 36 37 38 30 30 30 33 32 43 35 36 32 32
[26] 34 32 34 35 37
> Y <- data$Y
> Y
[1] 34 38 34 40 30 40 40 34 35 39 33 32 42 40 42 32 34 36 37 36 37 36 40 33 34
[26] 36 37 38 42 41
>
> #Bentuk Dataframe dari X dan Y
> df <- data.frame(X, Y)
> df
X Y
1 32 34
2 36 38
3 31 34
4 38 40
5 29 30
6 35 40
7 33 40
8 30 34
9 32 35
10 36 39
11 31 33
12 31 32
13 36 42
14 37 40
15 38 42
16 30 32
17 30 34
18 30 36
19 33 37
20 32 36
21 43 37
22 35 36
23 36 40
24 32 33
25 32 34
26 34 36
27 32 37
28 34 38
29 35 42
30 37 41
> n <- dim(df)[1]
> n
[1] 30
> k <- dim(df)[2]
> k
[1] 2
> mX <- matrix(c(rep(1,n),X),nrow=n)
> mX
[,1] [,2]
[1,] 1 32
[2,] 1 36
[3,] 1 31
[4,] 1 38
[5,] 1 29
[6,] 1 35
[7,] 1 33
[8,] 1 30
[9,] 1 32
[10,] 1 36
[11,] 1 31
[12,] 1 31
[13,] 1 36
[14,] 1 37
[15,] 1 38
[16,] 1 30
[17,] 1 30
[18,] 1 30
[19,] 1 33
[20,] 1 32
[21,] 1 43
[22,] 1 35
[23,] 1 36
[24,] 1 32
[25,] 1 32
[26,] 1 34
[27,] 1 32
[28,] 1 34
[29,] 1 35
[30,] 1 373.3 melakukan analisis regresi
> #Analisis pendahuluan untuk mengetahui hubungan X dan Y
> scatter.smooth(x = df$X, y = df$Y,
+ main="Hubungan Variabel X dan Y",
+ xlab = "X", ylab = "Y")> cor(x = X, y = Y, method = "pearson")
[1] 0.723878
> cor(x = X, y = Y, method = "kendall")
[1] 0.6741876
> cor(x = X, y = Y, method = "spearman")
[1] 0.8285942
>
> #Analisis Regresi Manual
> ybar <- rep(mean(Y),n)
> ybar
[1] 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333
[9] 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333
[17] 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333
[25] 36.73333 36.73333 36.73333 36.73333 36.73333 36.73333
> XY <- X*Y
> XY
[1] 1088 1368 1054 1520 870 1400 1320 1020 1120 1404 1023 992 1512 1480 1596
[16] 960 1020 1080 1221 1152 1591 1260 1440 1056 1088 1224 1184 1292 1470 1517
> X2 <- X^2
> X2
[1] 1024 1296 961 1444 841 1225 1089 900 1024 1296 961 961 1296 1369 1444
[16] 900 900 900 1089 1024 1849 1225 1296 1024 1024 1156 1024 1156 1225 1369
> Y2 <- Y^2
> Y2
[1] 1156 1444 1156 1600 900 1600 1600 1156 1225 1521 1089 1024 1764 1600 1764
[16] 1024 1156 1296 1369 1296 1369 1296 1600 1089 1156 1296 1369 1444 1764 1681
>
> #penduga koefisien
> b0 <- ((sum(Y)*sum(X2)-sum(X)*sum(XY))/(n*sum(X2)-sum(X)^2))
> b0
[1] 10.91963
> b1 <- (n*sum(XY)-sum(X)*sum(Y))/(n*sum(X2)-sum(X)^2)
> b1
[1] 0.7667436
> Yduga <- b0 + b1*X
> Yduga
[1] 35.45543 38.52240 34.68868 40.05589 33.15520 37.75566 36.22217 33.92194
[9] 35.45543 38.52240 34.68868 34.68868 38.52240 39.28915 40.05589 33.92194
[17] 33.92194 33.92194 36.22217 35.45543 43.88961 37.75566 38.52240 35.45543
[25] 35.45543 36.98891 35.45543 36.98891 37.75566 39.28915
>
> #menghitung analisis ragam
> (JKreg <- sum((Yduga-ybar)^2))
[1] 169.7059
> (JKgalat <- sum((Y-Yduga)^2))
[1] 154.1607
> (JKtotal <- JKreg +JKgalat)
[1] 323.8667
> (JK <- c(JKreg, JKgalat, JKtotal))
[1] 169.7059 154.1607 323.8667
> SK <- c("Regresi", "Galat", "Total")
>
> (dbtot <- n-1)
[1] 29
> (dbreg <- k-1)
[1] 1
> (dbgalat <- dbtot - dbreg)
[1] 28
> db <- c(dbreg, dbgalat, dbtot)
>
> (KTreg <- JKreg/dbreg)
[1] 169.7059
> (KTgalat <- JKgalat/dbgalat)
[1] 5.505741
> (KTtotal <- "-")
[1] "-"
> KT <- c(KTreg, KTgalat,KTtotal)
>
> #uji F
> (Fhit <- c((KTreg/KTgalat), '-', '-'))
[1] "30.8234509235234" "-" "-"
>
> anreg <- data.frame(SK, JK, db, KT, Fhit)
>
> #menghitung p-value
> pf<-pf(KTreg/KTgalat, dbgalat, dbreg, lower.tail=FALSE)
> pf
[1] 0.1416435
>
> #uji T
> var_cov<-KTgalat*solve(t(mX) %*% mX) #mencari ragam peragam
> var_cov
[,1] [,2]
[1,] 21.8017159 -0.6421245
[2,] -0.6421245 0.0190730
>
> sd<-rep(0,k)
> for(i in 1:k){
+ sd[i]<-sqrt(var_cov[i,i])}
> sd
[1] 4.669231 0.138105
>
> t <- c(b0,b1)/sd
> t
[1] 2.338636 5.551887
>
> R2 <- JKtotal/JKreg
> R2
[1] 1.908399
>
> alpha<-0.05
> ttabel<-qt(alpha/2,anreg$db[2], lower.tail=FALSE)
> ttabel
[1] 2.048407
>
> batasbawah_sk<-c(b0,b1)-(ttabel*sd) #menghitung batas bawah selang
> batasbawah_sk
[1] 1.3551449 0.4838483
>
> batasatas_sk<-c(b0,b1)+(ttabel*sd) #menghitung batas atas selang
> batasatas_sk
[1] 20.484116 1.049639
>
> selangkepercayaan<-cbind(batasbawah_sk, batasatas_sk) #membuat selang kepercayaan berdasarkan batas atas dan batas bawah
> selangkepercayaan
batasbawah_sk batasatas_sk
[1,] 1.3551449 20.484116
[2,] 0.4838483 1.049639
>
> #Analisis Regresi
> reg1 <-lm(data = df, Y~X)
> model <- summary(reg1)
> model
Call:
lm(formula = Y ~ X, data = df)
Residuals:
Min 1Q Median 3Q Max
-6.8896 -1.4554 0.0781 1.5278 4.2443
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.9196 4.6692 2.339 0.0267 *
X 0.7667 0.1381 5.552 6.15e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.346 on 28 degrees of freedom
Multiple R-squared: 0.524, Adjusted R-squared: 0.507
F-statistic: 30.82 on 1 and 28 DF, p-value: 6.152e-063.4 Asumsi
> #membentuk matriks
> data <- read_excel("C:/Users/LENOVO/Downloads/data mini projek.xlsx")
> reg1 <- lm(Y~X,data=data)
> summary(reg1)
Call:
lm(formula = Y ~ X, data = data)
Residuals:
Min 1Q Median 3Q Max
-6.8896 -1.4554 0.0781 1.5278 4.2443
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.9196 4.6692 2.339 0.0267 *
X 0.7667 0.1381 5.552 6.15e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.346 on 28 degrees of freedom
Multiple R-squared: 0.524, Adjusted R-squared: 0.507
F-statistic: 30.82 on 1 and 28 DF, p-value: 6.152e-06
>
>
> # ASUMSI NORMALITAS
> library(tseries)
> sisa <- residuals(reg1)
> jarque.bera.test(sisa)
Jarque Bera Test
data: sisa
X-squared = 3.1681, df = 2, p-value = 0.2051
> shapiro.test(sisa)
Shapiro-Wilk normality test
data: sisa
W = 0.9658, p-value = 0.4316
>
> # ASUMSI HOMOSKEDASTISITAS
> library(lmtest)
> bptest(reg1)
studentized Breusch-Pagan test
data: reg1
BP = 6.9747, df = 1, p-value = 0.008267
>
> #ASUMSI NONAUTOKORELASI
> dwtest(reg1)
Durbin-Watson test
data: reg1
DW = 1.7331, p-value = 0.2281
alternative hypothesis: true autocorrelation is greater than 04 HASIL DAN PEMBAHASAN
4.1 Analisis Regresi
4.1.1 hipotesis
Ho : b = 0, Variabel produk tidak berpengaruh signifikan terhadap keputusan konsumen membeli deterjen merek “SUPERCLEAN”.
H1 : b != 0, Variabel produk berpengaruh signifikan terhadap keputusan konsumen membeli deterjen merek “SUPERCLEAN”.
X = produk
Y = keputusan konsumen
4.1.2 analisis Regresi
> #Analisis Regresi
> reg1 <-lm(data = df, Y~X)
> model <- summary(reg1)
> model
Call:
lm(formula = Y ~ X, data = df)
Residuals:
Min 1Q Median 3Q Max
-6.8896 -1.4554 0.0781 1.5278 4.2443
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.9196 4.6692 2.339 0.0267 *
X 0.7667 0.1381 5.552 6.15e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.346 on 28 degrees of freedom
Multiple R-squared: 0.524, Adjusted R-squared: 0.507
F-statistic: 30.82 on 1 and 28 DF, p-value: 6.152e-06Berdasarkan Data yang digunakan, diperoleh model regresi sebagai berikut :
\[ Y = 10.9196 + 0,7667 X \]
dari output diatas didiperoleh nilai R-square = 0.524, Adjusted R-squared: 0.507, F-statistic: 30.82 , p-value: 6.152e-06
4.1.3 Asumsi
- asumsi normalitas
H0: Sampel berasal dari populasi berdistribusi normal
H1: Sampel tidak berasal dari populasi berdistribusi normal Jarque Bera Test \[ X-squared = 3.1681, df = 2, p-value = 0.2051 \] Shapiro-Wilk normality test \[ W = 0.9658, p-value = 0.4316 \]
- Uji Homoskedastisitas
H0: Variansi galat bersifat homoskedastisitas
H1: Variansi galat bersifat heteroskedastisitas studentized Breusch-Pagan test \[ BP = 6.9747, df = 1, p-value = 0.008267 \]
- Uji Nonautokorelasi
H0: Tidak terjadi autokorelasi
H1: Terjadi autokorelasi Durbin-Watson test \[ DW = 1.7331, p-value = 0.2281 \] \[ alternative hypothesis: true autocorrelation is greater than 0 \]
5 KESIMPULAN
Analisis regresi akan memberikan gambaran tentang hubungan antara variabel independen dan dependen, seberapa signifikan variabel independen mempengaruhi variabel dependen, kualitas penjelasan model, dan asumsi-asumsi yang terpenuhi. Analisis regresi dapat dilakukan jika memenuhi asumsi normalitas, asumsi homoskedastisitas, asumsi non autokorelasi. 10.9196 adalah intercept atau nilai Y ketika X = 0. Dalam konteks ini, jika X = 0, maka nilai Y diperkirakan akan sebesar 10.9196. 0.7667 adalah koefisien regresi atau perubahan dalam nilai Y yang terkait dengan perubahan satu unit dalam variabel X. Dalam konteks ini, untuk setiap peningkatan satu unit dalam variabel X, diperkirakan akan ada peningkatan sebesar 0.7667 dalam nilai Y. Nilai R2 yaitu Multiple R-squared = 0,524 = 52,4 %. Artinya kemampuan model untuk menjelaskan masalah sebesar 52,4 %, sedangkan sisanya yaitu 47,6 % dijelaskan oleh faktor-faktor lain atau variabel-variabel lain yang belum di masukan ke dalam model.
6 DAFTAR PUSTAKA
- Sembiring, R.K. (1995). Analisis Regresi. Bandung: Penerbit Bandung.
- E. Walpole, Ronald. (1992). Pengantar Statistika. Jakarta: PT. Gramedia Pustaka Utama.
- http://eprints.undip.ac.id/6440/1/ANALISIS_REGRESI_LINEAR_SEDERHANA.pdf
- https://books.google.co.id/books?hl=id&lr=&id=4_4xEAAAQBAJ&oi=fnd&pg=PR1&dq=analisis+regresi+sederhana&ots=WO45EzR6PO&sig=M7LP_Vmr44fVAku2r-hV2-iPqm4&redir_esc=y#v=onepage&q=analisis%20regresi%20sederhana&f=false