2024-03-19

Anggota kelompok:

• Elsya Anggraini (23031030013)

• Jemima Savitri Irianty (23031030017)

• Inneda Berta Anggraini (23031030022)

• Yoga Adi Saputra (23031030027)

ASUMSI REGRESI LINIER SEDERHANA

library(readxl)
hh<-read_excel("C:/Users/jemim/Documents/ANREGP4.xlsx")
head(hh)
## # A tibble: 6 × 3
##   Sex    Height HandSpan
##   <chr>  <chr>  <chr>   
## 1 Female 68     21.5    
## 2 Male   71     23.5    
## 3 Male   73     22.5    
## 4 Female 64     18      
## 5 Male   68     23.5    
## 6 Female 59     20

Eksplorasi Data

summary(hh)
##      Sex               Height            HandSpan        
##  Length:167         Length:167         Length:167        
##  Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character

Plot

plot(hh$Height, hh$HandSpan, xlab="Height", ylab="HandSpan", pch=16)

model2 <- lm(HandSpan~Height, data=hh)
summary(model2)
## 
## Call:
## lm(formula = HandSpan ~ Height, data = hh)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.1429 -0.7273  0.0000  0.8536  2.4333 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   16.000      1.295  12.354  < 2e-16 ***
## Height59       4.000      1.832   2.184 0.030614 *  
## Height60       2.333      1.496   1.560 0.120932    
## Height61       2.000      1.586   1.261 0.209429    
## Height61.5     2.750      1.586   1.734 0.085146 .  
## Height62       2.125      1.448   1.468 0.144446    
## Height63       3.500      1.374   2.548 0.011903 *  
## Height63.75    5.500      1.832   3.003 0.003162 ** 
## Height64       3.036      1.341   2.264 0.025062 *  
## Height64.25    6.000      1.832   3.276 0.001324 ** 
## Height64.5     3.500      1.832   1.911 0.058035 .  
## Height65       3.812      1.374   2.775 0.006258 ** 
## Height66       3.727      1.353   2.755 0.006632 ** 
## Height67       4.605      1.329   3.466 0.000700 ***
## Height67.5     4.500      1.496   3.009 0.003102 ** 
## Height68       5.067      1.338   3.788 0.000224 ***
## Height69       5.143      1.341   3.836 0.000187 ***
## Height70       6.000      1.385   4.333 2.76e-05 ***
## Height71       5.433      1.338   4.062 8.02e-05 ***
## Height72       5.722      1.365   4.191 4.85e-05 ***
## Height73       6.650      1.358   4.896 2.63e-06 ***
## Height74       7.650      1.358   5.632 9.23e-08 ***
## Height75       6.625      1.448   4.575 1.03e-05 ***
## Height76       7.667      1.496   5.126 9.49e-07 ***
## Height78       9.500      1.832   5.187 7.24e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.295 on 142 degrees of freedom
## Multiple R-squared:  0.6135, Adjusted R-squared:  0.5482 
## F-statistic: 9.393 on 24 and 142 DF,  p-value: < 2.2e-16

Asumsi 1 : Rata-rata Galat Bernilai Nol

plot(hh$Height, model2$residuals, xlab="Height", ylab="Residuals", main= "Plot Uji Asumsi Rata-rata Galat Bernilai Nol")
abline(h=0)

Terlihat residu menyebar di sekitar garis residual 𝒆 = 𝟎 secara acak, maka asumsi rata-rata galat bernilai nol terpenuhi

Asumsi 2 : Galat Saling Bebas

c<-(1:167)
hh<-cbind(hh,c)
head(hh)
##      Sex Height HandSpan c
## 1 Female     68     21.5 1
## 2   Male     71     23.5 2
## 3   Male     73     22.5 3
## 4 Female     64       18 4
## 5   Male     68     23.5 5
## 6 Female     59       20 6
plot(hh$c, model2$residuals, xlab="Amatan", ylab="Residuals", type="l", main="Plot Uji Asumsi Galat Saling Bebas")

Terlihat residu menyebar/berfluktuasi secara acak di sekitar garis residual 𝑒 = 0, data disimpulkan bahwa galat saling bebas.

Asumsi 3 : Galat Berdistribusi Normal

c<-(1:167)
yhat<-model2$fitted.values
ei<-model2$residuals
eiterurut<-sort(model2$residuals)
anova(model2)
## Analysis of Variance Table
## 
## Response: HandSpan
##            Df Sum Sq Mean Sq F value    Pr(>F)    
## Height     24 378.14 15.7558   9.393 < 2.2e-16 ***
## Residuals 142 238.19  1.6774                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
hi <- sqrt(1.6774)*qnorm((c-0.375)/(168+0.25))
Hi<-cbind(hh,yhat,ei,eiterurut,hi)
head(Hi)
##      Sex Height HandSpan c     yhat            ei eiterurut        hi
## 1 Female     68     21.5 1 21.06667  4.333333e-01 -3.142857 -3.467047
## 2   Male     71     23.5 2 21.43333  2.066667e+00 -3.000000 -3.029818
## 3   Male     73     22.5 3 22.65000 -1.500000e-01 -3.000000 -2.790347
## 4 Female     64       18 4 19.03571 -1.035714e+00 -2.933333 -2.619858
## 5   Male     68     23.5 5 21.06667  2.433333e+00 -2.642857 -2.485451
## 6 Female     59       20 6 20.00000 -7.077672e-15 -2.605263 -2.373459
plot(hi, eiterurut, xlab="hi", ylab="eiterurut", main="Plot Uji Galat Berdistribusi Normal")

hist(model2$residuals,5)

menggunakan qqnorm dan qqline

qqnorm(model2$residuals, ylab="Raw Residuals")
qqline(model2$residuals)

Terlihat titik-titik (residuals) mengikuti arah garis diagonal maka dapat dikatakan bahwa galat berdistribusi normal

hist(model2$residuals, 168) #interval data ada 168

boxplot(model2$residuals)

Asumsi 4 : Ragam Galat Diasumsikan Konstan

yhat<-model2$fitted.values
ei<-model2$residuals
plot(yhat, ei, xlab="Fitted Values", ylab="Residuals", main="Plot Uji Ragam Galat Konstan")
abline(h=0)

Terlihat plot galat membentuk pita horizontal di sekitar garis residual e = 0 maka dapat dikatakan bahwa ragam galat konstan

Asumsi 5 : X dan Y Berhubungan Linier

HandSpan <- as.numeric(as.character(hh$HandSpan))
Height <- as.numeric(as.character(hh$Height))
plot(hh$Height, hh$HandSpan, main="Plot Data")
model4<-lm(HandSpan~Height, data=hh)
abline(reg=lm(HandSpan~Height))

Asumsi 6 : Tidak Ada Outlier

plot(hh$Height, hh$HandSpan, main="Plot Data")

UJI KETIDAKPASAN MODEL REGRESI LINIER SEDERHANA

Hipotesis

H0 = Tidak ada ketidakpasan model regresi linier sederhana dengan data

H1 = Ada ketidakpasan model regresi linier sederhana dengan data

Taraf nyata

alfa = 0.05

Statistik Uji

Uji F

Kriteria keputusan

H0 ditolak jika F-value > F-tabel

Ftabel<-qf(0.95, df1=23, df2=142)
Ftabel
## [1] 1.605618

H0 ditolak jika F-value > 1.605618

Perhitungan

library(readxl)
hh<-read_excel("C:/Users/jemim/Documents/handHeight.xlsx")
head(hh)
## # A tibble: 6 × 3
##   Sex    Height HandSpan
##   <chr>   <dbl>    <dbl>
## 1 Female     68     21.5
## 2 Male       71     23.5
## 3 Male       73     22.5
## 4 Female     64     18  
## 5 Male       68     23.5
## 6 Female     59     20

Persamaan Regresi

lm1 <- lm(HandSpan~Height, data=hh)
summary(lm1)
## 
## Call:
## lm(formula = HandSpan ~ Height, data = hh)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3888 -0.9348  0.0135  1.0365  2.6629 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -3.00161    1.69394  -1.772   0.0782 .  
## Height       0.35057    0.02484  14.113   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.301 on 165 degrees of freedom
## Multiple R-squared:  0.5469, Adjusted R-squared:  0.5442 
## F-statistic: 199.2 on 1 and 165 DF,  p-value: < 2.2e-16

Interpretasi

Persamaan Regresi dapat dituliskan sebagai berikut:

ŷ = b0 + b1X

ŷ = -3.00161 + 0.35057X

Interpretasi:

  • b1 (slope) adalah 0.35057. Ini menunjukkan bahwa setiap peningkatan satu unit dalam tinggi (x) akan diikuti oleh peningkatan sebesar 0.35057 unit dalam rentang tangan (y). Dalam hal ini, menyatakan bahwa tinggi dan rentang tangan memiliki hubungan positif, di mana semakin tinggi seseorang, semakin besar kemungkinan rentang tangannya juga lebih besar.

  • b0 (intercept) adalah -3.00161. Ini adalah perkiraan nilai rentang tangan (y) saat tinggi (x) adalah 0. Namun, dalam konteks manusia, tinggi tidak mungkin menjadi 0, jadi interpretasi ini tidak memiliki makna.

Analisis Variansi

anova(lm1)
## Analysis of Variance Table
## 
## Response: HandSpan
##            Df Sum Sq Mean Sq F value    Pr(>F)    
## Height      1 337.08  337.08  199.17 < 2.2e-16 ***
## Residuals 165 279.25    1.69                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Uji Ketidakpasan

library(alr3)
## Loading required package: car
## Warning: package 'car' was built under R version 4.3.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.3.3
pureErrorAnova(lm1)
## Analysis of Variance Table
## 
## Response: HandSpan
##               Df Sum Sq Mean Sq  F value Pr(>F)    
## Height         1 337.08  337.08 200.9539 <2e-16 ***
## Residuals    165 279.25    1.69                    
##  Lack of fit  23  41.06    1.79   1.0642 0.3924    
##  Pure Error  142 238.19    1.68                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

F-value = 1.0642

Kesimpulan

Karena F-value = 1.0642 < F-tabel = 1.605618 maka H0 diterima. Dengan demikian , dapat disimpulkan bahwa tidak ada ketidakpasan model regresi linier sederhana dengan data