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

Pembentukan model tanpa fungsi bawaan (manual)

Parameter Regresi

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

Koefisien Determinasi dan Penyesuaiannya

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

Std. Error Parameter Regresi

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

Signifikansi Parameter (nilai-t)

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

Ukuran Keragaman

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

Pembentukan Model dengan Fungsi lm

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

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

Interpretasi Hasil Regresi

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.