df_clean <- pci |>inner_join(brent, by ="date") |>inner_join(kur, by ="date") |>inner_join(enrj, by ="date") |>inner_join(kko, by ="date") |>inner_join(imp_bfe, by ="date") |>filter(date >=as.Date("2013-09-01"), date <=as.Date("2024-12-01")) |>arrange(date)cat("Observations:", nrow(df_clean), "\n")
Warning in adf.test(na.omit(diff(seri))): p-value smaller than printed p-value
Warning in adf.test(na.omit(diff(seri))): p-value smaller than printed p-value
Warning in adf.test(na.omit(diff(seri))): p-value smaller than printed p-value
Warning in adf.test(na.omit(diff(seri))): p-value smaller than printed p-value
adf_sonuc |>kbl(booktabs=TRUE, caption="ADF Unit Root Test Results") |>kable_styling(bootstrap_options=c("striped","hover"), full_width=FALSE) |>column_spec(6, background =ifelse(adf_sonuc$Integration=="I(0)","#d5f5e3","#fdebd0"))
The following object is masked from 'package:patchwork':
area
The following object is masked from 'package:dplyr':
select
Loading required package: strucchange
Attaching package: 'strucchange'
The following object is masked from 'package:stringr':
boundary
Loading required package: urca
# VAR - VECTOR AUTOREGRESSION MODELİ# Engle-Granger eşbütünleşme bulunamadığı için (p=0.6217)# VAR modeli uygulanıyor. Tüm değişkenler I(1) olduğu için# birinci farkları alınarak VAR tahmin edilecek.# Adım 1: Birinci farkları aldf_var <- df_log |>mutate(d_ln_pci =c(NA, diff(ln_pci)),d_ln_brent =c(NA, diff(ln_brent)),d_ln_kur =c(NA, diff(ln_kur)),d_ln_enrj =c(NA, diff(ln_enrj)),d_kko =c(NA, diff(kko)),d_ln_imp_bfe =c(NA, diff(ln_imp_bfe)) ) |>filter(!is.na(d_ln_pci))# Adım 2: VAR için matris oluştur (dplyr::select ile çakışma önlendi)var_data <- df_var |> dplyr::select(d_ln_pci, d_ln_brent, d_ln_kur, d_ln_enrj, d_kko, d_ln_imp_bfe) |>as.matrix()# Adım 3: Optimal lag seçimi (AIC kriterine göre)lag_select <-VARselect(var_data, lag.max =12, type ="const")cat("=== Optimal Lag Seçimi ===\n")
=== Optimal Lag Seçimi ===
print(lag_select$selection)
AIC(n) HQ(n) SC(n) FPE(n)
1 1 1 1
optimal_lag <- lag_select$selection["AIC(n)"]cat("\nSeçilen lag (AIC):", optimal_lag, "\n")
Seçilen lag (AIC): 1
# Adım 4: VAR modeli tahmin etvar_model <-VAR(var_data, p = optimal_lag, type ="const")summary(var_model)