Email : garryjuliusperman@gmail.com
rpubs :
https://rpubs.com/Garr
Jurusan : Statistika
Bisnis
Address : ARA Center, Matana University Tower
Jl. CBD Barat Kav, RT.1, Curug Sangereng,
Kelapa Dua, Tangerang, Banten 15810.
Regresi Linear Sederhana merupakan suatu analisis regresi dimana melibatkan 2 variabel yaitu 1 variabel dependen (y) dan 1 variabel independen (x). Variabel Dependen merupakan variabel yang dipengaruhi sedangkan variabel independent adalah variabel yang mempengaruhi. Analisis Regresi Sederhana bertujuan dalam mengetahui pengaruh dari suatu variabel terhadap variabel lainnya.
Rumus Regresi Linear Sederhana :
\[\begin{align} Y &= a+bX\\ \\ Dimana :\\ Y &= Variabel\space Dependen (Variabel \space Terikat)\\ X &= Variabel \space Independen (Variabel \space Bebas)\\ a &= Konstanta (nilai \space dari \space y \space apabila \space x \space bernilai \space 0)\\ b &= Koefisien \space Regresi \\ \end{align}\]
seorang pengiklan ingin mengiklankan produknya dan ingin mengetahui pengaruh pengeluaran untuk iklan dengan hasil penjualan perbulannya, maka didapat 2 variabel dimana variabel x(pengeluaran iklan) merupakan variabel bebas, dan variabel y(penjualan/bulan) merupakan variabel yang terikat
Regresi Linear Berganda merupakan suatu analisis yang melibatkan 2 atau lebih variabel independen dengan 1 variabel dependen. Dimana analisis ini bertujuan dalam mengetahui arah hubungan antara variabel - variabel independen dengan variabel dependen, apakah masing-masing variabel independen berhubungan positif atau negatif dan untuk memprediksi nilai dari variabel dependen apabila nilai variabel independen mengalami kenaikan atau penurunan.
Rumus Regresi Linear Berganda :
\[\begin{align} Y &=α+β_1X_1+β_2X_2+...+β_nX_n+e\\ \\ Dimana :\\ Y &= Variabel\space Dependen\\ X &= Variabel \space Independen\\ α &= Konstanta \\ β &= Koefisien \space Regresi \\ e &= residual \end{align}\]
seorang pengajar ingin mengetahui prestasi para murid. lalu didapat 2 variabel yang mempengaruhi prestasi dari siswa. yaitu, X1(minat belajar) dan X2(motivasi belajar) dimana kedua itu merupakan variabel bebas atau variabel dependen, sedangkan Y(prestasi belajar) merupakan variabel independennya.
Seorang Mahasiswa ingin melakukan analisis regresi terhadap data hasil penelitiannya yang berjudul Hubungan antara mood belajar (x) dan hasil belajar (y) di SMA.
pacman::p_load(readxl, writexl)
data <- read_excel("dt.xlsx")
library(DT)## Warning: package 'DT' was built under R version 4.1.3
datatable(data)x = data$x
y = data$y
plot(x, y,
ylim=c(0, max(y)),
xlim=c(0, max(x)),
xlab="x",
ylab="y",
type = "p")Untuk menganalisa suatu program linear, ada beberapa asumsi yang harus dipenuhi, yaitu :
pada data ini tidak terdapat hubungan diantara variabel karena hanya memiliki satu variable independen
normalitas digunakan untuk memeriksa apakah variabel dependen atau variabel independen mengikuti distribusi normal
rt <- mean(data$y)
std <- sd(data$y)
hist(data$y, xlab = "y", main="histogram hasil belajar", freq = FALSE)
curve(dnorm(x, rt, std), add = TRUE, col=2)library("gridExtra")## Warning: package 'gridExtra' was built under R version 4.1.3
library("ggplot2")## Warning: package 'ggplot2' was built under R version 4.1.3
linplot <- ggplot(data)+
geom_point(aes(x = x,
y = y),
shape = 1)+
geom_smooth(aes(x = x,
y = y),
method = "lm",
formula = "y ~ x",
color = "red")
linplotHipotesis dan tingkat signifikansinya adalah:
\[\begin{align} H_0 : a &= b\\ H_1 : a &≠ b\\ α&=0.05\\ \end{align}\]
Untuk melihat summatry dari model linier regresi sederhana kita dapat menggunakan lm() dan summary()
lmdata <- lm(y~x, data=data)
sumdata <- summary(lmdata)
sumdata##
## Call:
## lm(formula = y ~ x, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -35.711 -15.625 -2.425 17.785 45.917
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 65.9930 10.9011 6.054 1.58e-06 ***
## x -0.3467 0.3489 -0.994 0.329
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20.74 on 28 degrees of freedom
## Multiple R-squared: 0.03408, Adjusted R-squared: -0.0004211
## F-statistic: 0.9878 on 1 and 28 DF, p-value: 0.3288
maka dapat dilihat dari summary a = 65.9930, b =-0.3467
\[\begin{align} y=β_1+β_2X\\ y = 65,9930 + -0,3467X\\ \end{align}\]
mencari p value
sumdata$r.squared## [1] 0.03407618
maka diketahui nilai koefisiensi determinasi sebesar 0,03407618 atau 3,4% variansi yang ditentukan oleh mood belajar, sedangkan 96,6% hasil belajar ditentukan oleh faktor lain
Dalam suatu penelitian yang dilakukan terhadap 30 rumah tangga yang diilih secara acak, diperoleh data pengeluaran untuk pembelian barang-barang tahan lama per minggu (Y), pendapatan per minggu (X1), dan jumlah anggota rumah tangga (X2) sebagai berikut:
y(ratusan rupiah)
x1(ribuan rupiah)
x2(orang)
bar <- read_excel("dy.xlsx")
library(DT)
datatable(bar)Untuk menganalisa suatu program linear, ada beberapa asumsi yang harus dipenuhi, yaitu :
pada data ini dikarenakan data independen lebih dari satu, maka kita harus memeriksa korelasi antar variabel. jika korelasi mendekati 1 maka terdapat hubungan positif, jika 0 maka tidak ada korelasi, dan jika mnedekati -1 maka terdapat hubungan negatif
x1 = bar$x1
x2 = bar$x2
y1 = bar$y
cor(x1,x2)## [1] -0.1782155
dari data diatas, hampir tidak ada korelasi, sehingga ketika nilai x mengalami peningkatan, nilai y tidak menurun atau meningkat
normalitas digunakan untuk memeriksa apakah variabel dependen atau variabel independen mengikuti distribusi normal
rt2 <- mean(y1)
stdev <- sd(y1)
hist(y1, xlab = "pengeluaran untuk pembelian barang", main="histogram", freq = FALSE)
curve(dnorm(x, rt2, stdev), add = TRUE, col=2)x1plot <- ggplot(bar)+
geom_point(aes(x = x1,
y = y1),
shape = 1)+
geom_smooth(aes(x = x1,
y = y1),
method = "lm",
formula = "y ~ x",
color = "red")
x2plot <- ggplot(bar)+
geom_point(aes(x = x2,
y = y1),
shape = 1)+
geom_smooth(aes(x = x2,
y = y1),
method = "lm",
formula = "y ~ x",
color = "red")
grid.arrange(x1plot, x2plot, nrow = 1, ncol =2)Hipotesis dan tingkat signifikansinya adalah:
\[\begin{align} H_0:β.x_1 &=β.x_2=0\\ H_1:β.x_1 &≠β.x_2≠0\\ α &=0.05\\ \end{align}\]
Untuk melihat summatry dari model linier regresi sederhana kita dapat menggunakan lm() dan summary()
lmbar <- lm(y1 ~ x1 + x2, data=bar)
sumbar <- summary(lmbar)
sumbar##
## Call:
## lm(formula = y1 ~ x1 + x2, data = bar)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.5696 -5.2431 0.2167 6.8279 9.5737
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.4080 4.4126 5.531 7.33e-06 ***
## x1 -0.5717 0.4244 -1.347 0.189
## x2 -0.2042 0.6885 -0.297 0.769
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.785 on 27 degrees of freedom
## Multiple R-squared: 0.06308, Adjusted R-squared: -0.006321
## F-statistic: 0.9089 on 2 and 27 DF, p-value: 0.4149
maka dapat dilihat dari summary α = 24.4080, β1 = -0,5717 β2 = -0,2042
\[\begin{align} Y &=α+β_1X_1+β_2X_2\\ &=24.4080+ -0,5717X_1+ -0,2042X_2\\ \\ \end{align}\]
mencari p value
sumbar$r.squared## [1] 0.06308018
barlinear <- summary(lmbar)
barlinear##
## Call:
## lm(formula = y1 ~ x1 + x2, data = bar)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.5696 -5.2431 0.2167 6.8279 9.5737
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.4080 4.4126 5.531 7.33e-06 ***
## x1 -0.5717 0.4244 -1.347 0.189
## x2 -0.2042 0.6885 -0.297 0.769
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.785 on 27 degrees of freedom
## Multiple R-squared: 0.06308, Adjusted R-squared: -0.006321
## F-statistic: 0.9089 on 2 and 27 DF, p-value: 0.4149
sumbar$r.squared## [1] 0.06308018
lmkuadratik <- lm(y1 ~ (x1 + x2)^2, data=bar)
barkuadratik <- summary(lmkuadratik)
barkuadratik##
## Call:
## lm(formula = y1 ~ (x1 + x2)^2, data = bar)
##
## Residuals:
## Min 1Q Median 3Q Max
## -12.6328 -3.7075 0.0186 5.1215 9.3133
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.2459 8.1921 1.129 0.2694
## x1 1.7743 1.1637 1.525 0.1394
## x2 2.9927 1.6242 1.843 0.0768 .
## x1:x2 -0.5098 0.2376 -2.146 0.0414 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.373 on 26 degrees of freedom
## Multiple R-squared: 0.204, Adjusted R-squared: 0.1122
## F-statistic: 2.221 on 3 and 26 DF, p-value: 0.1095
barkuadratik$r.squared## [1] 0.2040281
lmpolinomial <- lm(y1~poly(x1,3)+x2, data=bar)
barpolinomial <- summary(lmpolinomial)
barpolinomial##
## Call:
## lm(formula = y1 ~ poly(x1, 3) + x2, data = bar)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.3821 -4.9505 0.7463 6.0815 11.0774
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 21.7938 3.4048 6.401 1.06e-06 ***
## poly(x1, 3)1 -9.6272 7.0620 -1.363 0.185
## poly(x1, 3)2 2.4183 6.9944 0.346 0.732
## poly(x1, 3)3 -6.0732 7.1894 -0.845 0.406
## x2 -0.3939 0.7350 -0.536 0.597
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.939 on 25 degrees of freedom
## Multiple R-squared: 0.09265, Adjusted R-squared: -0.05252
## F-statistic: 0.6382 on 4 and 25 DF, p-value: 0.6401
barpolinomial$r.squared## [1] 0.09265416
lmloglinear <- lm(log(y1)~x1,3+x2, data=bar)
barloglinear <- summary(lmloglinear)
barloglinear##
## Call:
## lm(formula = log(y1) ~ x1, data = bar, subset = 3 + x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.47136 -0.33240 0.01417 0.29875 0.48266
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.73356 0.13466 20.300 <2e-16 ***
## x1 0.04187 0.02040 2.052 0.0496 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3588 on 28 degrees of freedom
## Multiple R-squared: 0.1308, Adjusted R-squared: 0.09973
## F-statistic: 4.213 on 1 and 28 DF, p-value: 0.04958
barloglinear$r.squared## [1] 0.130775
lmlinearlog <- lm(y1~log(x1)+log(x2), data=bar)
barlinearlog <- summary(lmlinearlog)
barlinearlog##
## Call:
## lm(formula = y1 ~ log(x1) + log(x2), data = bar)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.3578 -4.7153 0.1913 6.4272 9.8997
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.9718 5.2836 4.726 6.36e-05 ***
## log(x1) -2.6833 1.8233 -1.472 0.153
## log(x2) -0.4208 2.6728 -0.157 0.876
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.741 on 27 degrees of freedom
## Multiple R-squared: 0.07526, Adjusted R-squared: 0.006757
## F-statistic: 1.099 on 2 and 27 DF, p-value: 0.3478
barlinearlog$r.squared## [1] 0.07525676
lmloglog <- lm(log(y1)~log(x1)+log(x2), data=bar)
barloglog <- summary(lmloglog)
barloglog##
## Call:
## lm(formula = log(y1) ~ log(x1) + log(x2), data = bar)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.61339 -0.23499 0.05155 0.30784 0.48627
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.129333 0.275916 11.342 8.92e-12 ***
## log(x1) -0.121502 0.095214 -1.276 0.213
## log(x2) 0.006275 0.139578 0.045 0.964
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.352 on 27 degrees of freedom
## Multiple R-squared: 0.06067, Adjusted R-squared: -0.008908
## F-statistic: 0.872 on 2 and 27 DF, p-value: 0.4296
barloglog$r.squared## [1] 0.06067154