data <- read.csv("C:\\Users\\ASUS\\Documents\\Nita\\Analisis Regresi\\data liver.csv", sep=";")
data
## No X1 X2 X3 X4 X5 X6 Y
## 1 1 16.36 8.90 3.47 6.02 57.42 1.11 158.76
## 2 2 26.68 21.22 3.53 12.07 61.38 1.36 197.19
## 3 3 12.49 16.62 2.00 8.88 67.42 1.47 144.73
## 4 4 8.45 22.86 6.71 7.46 69.94 1.31 140.06
## 5 5 10.19 14.23 4.75 2.06 65.68 1.25 129.71
## 6 6 19.53 17.35 1.95 7.54 59.63 1.14 162.59
## 7 7 20.65 10.48 2.21 4.88 59.42 1.07 178.48
## 8 8 22.96 14.23 4.25 3.69 75.08 1.73 120.90
## 9 9 21.22 21.64 4.10 11.94 43.42 0.87 191.24
## 10 10 8.11 3.16 0.78 8.82 75.12 1.47 150.03
## 11 11 24.74 7.84 1.68 3.68 57.65 1.08 173.44
## 12 12 11.38 15.71 3.56 7.20 39.93 0.74 211.98
## 13 13 15.82 15.04 2.40 9.89 51.27 1.02 193.49
## 14 14 8.36 9.01 2.01 3.40 50.52 0.94 164.04
## 15 15 12.04 9.72 2.27 6.03 51.60 1.05 156.97
## 16 16 10.97 4.58 1.73 5.55 56.63 1.03 208.36
## 17 17 7.97 9.33 0.57 4.17 79.09 1.61 154.62
## 18 18 7.46 6.11 1.73 2.99 57.20 1.07 137.38
## 19 19 29.09 15.71 3.41 9.35 56.44 1.10 180.15
## 20 20 10.30 8.54 2.32 10.78 60.43 1.17 228.47
## 21 21 7.82 4.41 1.07 4.19 59.52 1.00 153.62
## 22 22 14.71 6.29 1.77 6.16 65.05 1.30 121.31
## 23 23 8.54 6.73 1.27 5.52 65.65 1.17 157.37
## 24 24 23.05 11.34 5.39 3.00 33.57 0.63 211.27
## 25 25 13.12 5.86 1.89 10.92 52.93 0.90 178.16
## 26 26 7.41 9.11 2.05 5.50 53.72 0.91 174.89
## 27 27 14.59 5.59 1.26 3.75 58.62 1.14 142.98
## 28 28 8.52 6.52 1.00 6.92 56.61 1.11 165.59
## 29 29 18.97 6.35 2.94 5.61 56.41 1.07 141.54
## 30 30 35.41 36.36 14.23 15.00 41.52 0.89 238.22
## 31 31 4.55 1.27 3.13 2.83 70.91 1.27 138.42
## 32 32 22.59 28.70 10.51 10.35 32.74 0.66 247.45
## 33 33 9.21 4.55 1.19 7.92 72.20 1.34 140.27
## 34 34 18.32 11.61 2.91 8.07 52.23 1.02 216.06
## 35 35 5.69 6.88 1.18 2.78 72.12 1.39 144.18
## 36 36 11.21 11.92 3.31 10.29 60.65 1.69 156.22
Mengimpor data liver yang berformat csv ke R
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 158.76 16.36 8.90 3.47 6.02 57.42 1.11
## 2 197.19 26.68 21.22 3.53 12.07 61.38 1.36
## 3 144.73 12.49 16.62 2.00 8.88 67.42 1.47
## 4 140.06 8.45 22.86 6.71 7.46 69.94 1.31
## 5 129.71 10.19 14.23 4.75 2.06 65.68 1.25
## 6 162.59 19.53 17.35 1.95 7.54 59.63 1.14
summary(y)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 120.9 143.9 160.7 169.7 191.8 247.4
Melihat Summary 5 serangkai dari peubah y
n<-nrow(data)
n
## [1] 36
menghitung baris
p<-ncol(data)
p
## [1] 7
menghitung kolom
plot(x5,y)
Membuat scatter plot antara x5 dan y
boxplot(y)
Dengan boxplot ini ingin melihat apakah ada pencilan atau tidak di y
summary(x5)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 32.74 52.76 58.13 58.33 65.66 79.09
Melihat Summary 5 serangkai dari peubah x5
b1<-(sum(x5*y)-sum(x5)*sum(y)/n)/(sum(x5^2)-(sum(x5)^2/n))
b0<-mean(y)-b1*mean(x5)
b1
## [1] -2.183482
b0
## [1] 297.0789
dengan menggunakan perhitungan, diperoleh parameter regresi b0=-2.183482 dan b1=297.0789
r<-(sum(x5*y)-sum(x5)*sum(y)/n)/
sqrt((sum(x5^2)-(sum(x5)^2/n))*(sum(y^2)-(sum(y)^2/n)))
Koef_det<-r^2
Koef_det
## [1] 0.5407857
dengan menggunakan perhitungan, diperoleh koefisien determinasi sebesar 0.5407857
Adj_R2<-1-((1-Koef_det)*(n-1)/(n-1-1))
Adj_R2
## [1] 0.5272794
Diperoleh R-squared sebesar 0.5272794
galat<-y-(b0+b1*x5)
ragam_galat<-sum(galat^2)/(n-2)
se_b1<-sqrt(ragam_galat/sum((x5-mean(x5))^2))
se_b1
## [1] 0.3450684
Berdasarkan perhitungan, diperoleh standar error b1 adalah 0.3450684
se_b0<-sqrt(ragam_galat*(1/n+mean(x5)^2/sum((x5-mean(x5))^2)))
se_b0
## [1] 20.47648
Berdasarkan perhitungan, diperoleh standar error b1 adalah 20.47648
t_b0<-b0/se_b0
t_b0
## [1] 14.5083
t_b1<-b1/se_b1
t_b1
## [1] -6.327678
2*pt(-abs(t_b0 ),df<-n-2)
## [1] 3.965296e-16
2*pt(-abs(t_b1 ),df<-n-2)
## [1] 3.243599e-07
Menghitung nilai-t pada b0 dan b1
galat<-y-(b0+b1*x5)
JKG <- sum((y - (b0+b1*x5))^2)
JKReg <- sum(((b0+b1*x5)- mean(y))^2)
JKT <- sum((y - mean(y))^2)
JKT <- JKReg+JKG
dbReg<-1
dbg<-n-2
dbt<-n-1
Fhit<-(JKReg/dbReg)/(JKG/dbg)
Fhit
## [1] 40.03951
Berdasarkan perhitungan, diperoleh: Jumlah Kuadrat Galat (JKG)=17403; Jumlah Kuadrat Regresi (JKReg)=20494.34; Jumlah Kuadrat Tengah (JKT)=37897.33; dan F hitung=40.03951
P.value<-1-pf(Fhit, dbReg, dbg, lower.tail <- F)
P.value
## [1] 3.243599e-07
P-value yang didapat adalah3.243599e-07
model<-lm(y~x5,data<-data)
summary(model)
##
## Call:
## lm(formula = y ~ x5, data = data <- data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -34.804 -12.618 -4.058 9.055 63.339
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 297.0789 20.4765 14.508 3.97e-16 ***
## x5 -2.1835 0.3451 -6.328 3.24e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 22.62 on 34 degrees of freedom
## Multiple R-squared: 0.5408, Adjusted R-squared: 0.5273
## F-statistic: 40.04 on 1 and 34 DF, p-value: 3.244e-07
Mencari bentuk pemodelan regresi dengan fungsi lm
anova(model)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x5 1 20494 20494.3 40.039 3.244e-07 ***
## Residuals 34 17403 511.9
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Menyajikan Tabel Anova
Hasil regresi yang diperoleh dapat diinterpretasikan yaitu, Nilai Y diperkirakan akan berkurang sebesar 2.183482 ketika X sama dengan 0, dan untuk setiap peningkatan satu unit dalam X, akan meningkatan Y sebesar 297.0789.