Data

#import data
dataregresi <- read_xlsx("C:\\Users\\User\\Downloads\\Tugas Individu MPDW (1).xlsx", sheet = "sumasel")
view(dataregresi)

Eksplorasi Data

x <- dataregresi$x
y <- dataregresi$y

#diagram pencar identifikasi model
plot(x,y,pch = 20, col = "blue", main = "",
     ylab = "Indeks Pembangunan Manusia", xlab = "Tahun")

Secara eksplorasi, dapat dilihat bahwa plot antara peubah Y dengan peubah X tersebut menyebar normal.
ggplot(dataregresi, aes(x=x, y=y)) +
  geom_line(lwd=1.2,col="blue") +
  labs(x="Year",y = "Indeks Pembangunan",
         title="Time Series Indeks Pembangunan Manusia Sumatera Selatan",
        subtitle = "2010 - 2021")+
  theme_bw()

dapat dilihat dari line chart dari data Indeks Pembangunan Manusia pada tahun 2010 - 2021 bahwa Indeks Pembangunan Manusia dari Provinsi Sumatera Selatan

#korelasi x dan y
cor(x,y)
## [1] 0.9913599
korelasi yang didapat sangat tinggi, pertambahan tahun beriringan dengan pertambahan Indeks Pembangunan Manusia

Model Regresi Deret Waktu

#model regresi
model <- lm(y~x, data = dataregresi)
summary(model)
## 
## Call:
## lm(formula = y ~ x, data = dataregresi)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.55667 -0.15076 -0.01212  0.25902  0.34697 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.065e+03  4.738e+01  -22.47 6.85e-10 ***
## x            5.618e-01  2.351e-02   23.90 3.74e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2811 on 10 degrees of freedom
## Multiple R-squared:  0.9828, Adjusted R-squared:  0.9811 
## F-statistic: 571.2 on 1 and 10 DF,  p-value: 3.738e-10

Deteksi Autokorelasi

1. Residual Plot

#sisaan dan fitted value
resi1 <- residuals(model)
fit <- predict(model)

#Diagnostik dengan eksploratif
par(mfrow = c(2,2))

qqnorm(resi1)
qqline(resi1, col = "steelblue", lwd = 2)

plot(fit, resi1, col = "steelblue", pch = 20, xlab = "Sisaan", 
     ylab = "Fitted Values", main = "Sisaan vs Fitted Values")
abline(a = 0, b = 0, lwd = 2)

hist(resi1, col = "steelblue")

plot(seq(1,12,1), resi1, col = "steelblue", pch = 20, 
     xlab = "Sisaan", ylab = "Order", main = "Sisaan vs Order")
lines(seq(1,12,1), resi1, col = "red")
abline(a = 0, b = 0, lwd = 2)

2. ACF dan PACF Plot

#ACF dan PACF identifikasi autokorelasi
par(mfrow = c(2,1))
acf(resi1)
pacf(resi1)

Uji Statistik

1. Durbin Watson Test

H0 : tidak ada autokorelasi
H1 : ada autokorelasi

lmtest::dwtest(model, alternative = 'two.sided') #ada autokorelasi
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 0.73266, p-value = 0.001914
## alternative hypothesis: true autocorrelation is not 0
Didapat p-value < 0.05 (Tolak H0), cukup bukti bahwa terdapat autokolerasi pada taraf nyata 5%

Oleh karena terdapat autokorelasi pada data, maka diperlukan penanganan untuk menangani autokorelasi.

Penanganan Autokorelasi

1. Cochrane-Orcutt

Persamaan Cochrane Orcutt :

\[ y_t = α + X_t\beta + \epsilon_t \]

modelco <- orcutt::cochrane.orcutt(model)
## Warning in orcutt::cochrane.orcutt(model): Did not converge
modelco
## Cochrane-orcutt estimation for first order autocorrelation 
##  
## Call:
## lm(formula = y ~ x, data = dataregresi)
## 
##  number of interaction: 100
##  rho 0.901619
## 
## Durbin-Watson statistic 
## (original):    0.73266 , p-value: 9.57e-04
## (transformed): NA , p-value: NA
##  
##  coefficients: 
## [1] NA
#rho optimum
rho <- modelco$rho
y
##  [1] 64.44 65.12 65.79 66.16 66.75 67.46 68.24 68.86 69.39 70.02 70.01 70.24
y[-1]
##  [1] 65.12 65.79 66.16 66.75 67.46 68.24 68.86 69.39 70.02 70.01 70.24
y[-12]
##  [1] 64.44 65.12 65.79 66.16 66.75 67.46 68.24 68.86 69.39 70.02 70.01
#transformasi terhadap y dan x
(y.trans <- y[-1]-y[-12]*rho)
##  [1] 7.019695 7.076594 6.842510 7.098911 7.276956 7.416806 7.333544 7.304540
##  [9] 7.456682 6.878663 7.117679
(x.trans <- x[-1]-x[-12]*rho)
##  [1] 198.7465 198.8449 198.9433 199.0417 199.1401 199.2384 199.3368 199.4352
##  [9] 199.5336 199.6320 199.7303
#model baru
modelcorho <- lm(y.trans~x.trans)
summary(modelcorho)
## 
## Call:
## lm(formula = y.trans ~ x.trans)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.36006 -0.09700 -0.01606  0.13956  0.25112 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -29.8131    40.3877  -0.738    0.479
## x.trans       0.1856     0.2027   0.916    0.384
## 
## Residual standard error: 0.2092 on 9 degrees of freedom
## Multiple R-squared:  0.08521,    Adjusted R-squared:  -0.01643 
## F-statistic: 0.8383 on 1 and 9 DF,  p-value: 0.3838

Uji Statistik Ulang

1. Durbin Watson Test

H0: tidak ada autokorelasi
H1: ada autokorelasi

lmtest::dwtest(modelcorho,alternative = 'two.sided')
## 
##  Durbin-Watson test
## 
## data:  modelcorho
## DW = 1.5161, p-value = 0.2051
## alternative hypothesis: true autocorrelation is not 0

2. Breush-Godfrey Test

H0: tidak ada autokorelasi
H1: ada autokorelasi

bgtest(modelcorho, order=1) #Perform Breusch-Godfrey test for first-order serial correlation
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  modelcorho
## LM test = 0.53917, df = 1, p-value = 0.4628
Didapat p-value > 0.05 (Tak Tolak H0), tidak cukup bukti bahwa terdapat autokolerasi pada taraf nyata 5%

Karena kedua test yang dilakukan sebelumnya sudah menghasilkan kesimpulan yang sama setelah dilakukan penanganan autokorelasi, autokorelasi pada data dapat ditangani.