Önemli Notlar

  • Yanında Değiştirmeyin ibaresi bulunan hiçbir kodu ve/veya satırı değiştirmeyin.
  • Yazılardakı ve kodlardaki açıklamaları dikkatlice okuyun.
  • Kodların sırasını mümkün olduğunca değiştirmeyin. Aksi taktirde hata ile karşılaşabilirsiniz.
  • Paketler bölümünde, gerekli R paketlerini okara paketindeki Load.Install fonksiyonunu kullanarak indirin ve yükleyin.
  • Seed bölümünde, istediğiniz sayıyı kullanabilirsiniz. Rassal olarak seçilen değerler, eğer varsa, seçtiğiniz sayıya göre değişecektir.
  • R hakkında daha fazla bilgi için, benim yazdığım R mini BootCamp adlı İngilizce kaynaktan faydalanabilirsiniz.

1 Hazırlık

1.1 Paketler

  • R paketlerini okara paketindeki Load.Install fonksiyonunu kullanarak indirin ve/veya yükleyin.
# Devtools ve okara paketlerinin yüklenmesi.
if("devtools" %in% rownames(utils::installed.packages()) == FALSE) {suppressWarnings(suppressMessages(install.packages("devtools")))}
suppressWarnings(suppressMessages(library("devtools"))) ## devtools paketi, okara paketinin yüklenmesi için gereklidir.
if("okara" %in% rownames(utils::installed.packages()) == FALSE) {suppressWarnings(suppressMessages(devtools::install_github("omerkara/okara", force = FALSE)))}
suppressWarnings(suppressMessages(library("okara"))) ## okara paketi.

# Gerekli paketlerin yüklenmesi.
Load.Install(c("rstudioapi", "readxl", "plyr", "dplyr", "tidyr", "stringr", "stringi", "Hmisc", "reshape2", "scales", "lubridate", "ggplot2", "xtable", "DT", "latex2exp", "forecast", "WDI", "fpp2", "fpp3", "datasets", "quantmod", "FinYang/tsdl", "ggseas", "slider", "ecm", "wooldridge", "dynlm", "car"))
#> Warning: package 'tidyr' was built under R version 4.3.2
#> Warning: package 'ggplot2' was built under R version 4.3.2
#> Warning: package 'DT' was built under R version 4.3.2
#> Warning: package 'tsibble' was built under R version 4.3.2
#> Warning: package 'fabletools' was built under R version 4.3.2
#> Warning: package 'quantmod' was built under R version 4.3.2
#> Warning: package 'ecm' was built under R version 4.3.2

1.2 Seed

  • Aşağıdaki R kodu bölümünde istediğiniz sayıyı girebilirsiniz.
set.seed(1234)

1.3 Çalışma Klasörü

  • Aşağıdaki R kodu, R çalışma klasörünü (yani working directory) sadece bu dosya için, bu dosyanın bilgisayarınızda bulunan lokasyonunda belirliyor.
    • getwd() fonksiyonunu kullanarak mevcut çalışma klasörünün hangi lokasyonda belirlendiğine bakabilirsiniz.
# Değiştirmeyin.
main.path <- dirname(rstudioapi::getActiveDocumentContext()$path) ## Bu kod otomatik olarak kaynak dosyasının, yani üzerinde çalıştığınız dosyanın, bilgisayarınızda hangi lokasyonda olduğunu buluyor.
setwd(paste0(main.path)) ## Yeni çalışma klasörü (yani working directory) bu kaynak dosyasının lokasyonunda belirleniyor.

2 Basit Zaman Serisi Modelleri

  • Bu bölümde, zaman serileri analizi uygulamalarında yararlı olan ve SEKK Yöntemi ile kolayca tahmin edilebilen iki basit zaman serisi modelinin uygulaması gösterilecektir.
    • Statik Modeller
    • Sonlu Dağıtılmış Gecikme Modelleri (Finite Distributed Lag Models) - FDL Modelleri
  • Bu modellerin uygulaması için wooldridge R paketinden direkt olarak veri indirip yüklemeye çalışalım.
    • wooldridge R paketindeki verileri incelemek için wooldridge CRAN klavuzuna bakabilirsiniz.
    • Bu verilerin daha detaylı bir gösterimi ve uygulama için ise bu linke bakabilirsiniz.
  • wooldridge R paketinde mevcut olan veriyi, verinin ismini kullanarak yüklemek için 1 fonksiyon kullanacağız: data.
    • data fonksiyonu ile istediğimiz veriyi verinin R paketi içindeki ismini kullanarak direkt olarak R’ın içine yükleyebiliriz.
  • Ayrıca, yüklediğimiz veri hakkında daha fazla bilgiye sahip olmak için, yani metadatasına ulaşmak için, ? kodunu kullanabiliriz. Örneğin, ?wage1:
    • wooldridge R paketi içindeki wage1 verisini data(wage1) kodunu kullanarak yüklediğimizi var sayalım.
    • Daha sonra ?wage1 kodunu kullanarak bu veri hakkındaki tüm bilgilere RStudio üzerindeki help sekmesinden ulaşabiliriz.

2.1 Statik Model

  • Statik modeller anlaşılırlığı kolaylaştırmak amacıyla iki ayrı bölümde incelenecektir.
    • Statik Model - Basit Doğrusal Regresyon (BDR)
    • Statik Model - Çoklu Doğrusal Regresyon (ÇDR)
  • Statik modeller ile bağımlı değişken \(y_{t}\) ve bağımsız değişkenler \(x_{t}\) arasındaki eşanlı ödünümü inceleyebiliriz.
  • Statik modellerin tahmini için temel olarak 1 fonksiyon kullanacağız: lm.
    • lm fonksiyonu ile formunu belirlediğimiz basit doğrusal regresyon ya da çoklu doğrusal regresyon modellerini kolayca tahmin edebiliriz.

2.1.1 Statik Model (BDR)

  • Örnek olarak, wooldridge R paketinden phillips verisini yükleyelim.
  • phillips verisi genel olarak Amerika’daki enflasyon ve işsizlik değişkenlerini, ve ayrıca bu değişkenlere ait gecikme ve ilk farklar değerlerini içeriyor. Örneğimizi basitleştirmek için biz sadece bazı değişkenleri kullanacağız.
    • inf (\(inf_{t}\)): cari dönem enflasyon oranı
    • unem (\(unem_{t}\)): cari dönem işsizlik oranı
    • cinf (\(\Delta{inf_{t}} = inf_{t} - inf_{t-1}\)): ilk farklar enflasyon oranı
    • cunem (\(\Delta{unem_{t}} = unem_{t} - unem_{t-1}\)): ilk farklar işsizlik oranı
  • Daha sonra yüklediğimiz bu verinin metadatasını ve yapısını inceleyelim.
  • Son olarak yüklediğimiz veriyi kullanarak aşağıdaki statik modelleri tahmin edelim.
    • Model 1 (Statik): \(inf_{t} = \beta_{0} + \beta_{1}unem_{t} + u_{t}\)
    • Model 2 (Statik): \(\Delta{inf_{t}} = \beta_{0} + \beta_{1}\Delta{unem_{t}} + u_{t}\)
data(phillips) ## Datayı yüklüyoruz.
?phillips ## Datanın metadatası.

data <- phillips ## Yüklediğimiz datayı "data" ismi ile kaydediyoruz.
str(data) ## Datanın yapısını inceleyelim.
#> 'data.frame':    56 obs. of  7 variables:
#>  $ year  : int  1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 ...
#>  $ unem  : num  3.8 5.9 5.3 3.3 3 ...
#>  $ inf   : num  8.1 -1.2 1.3 7.9 1.9 ...
#>  $ inf_1 : num  NA 8.1 -1.2 1.3 7.9 ...
#>  $ unem_1: num  NA 3.8 5.9 5.3 3.3 ...
#>  $ cinf  : num  NA -9.3 2.5 6.6 -6 ...
#>  $ cunem : num  NA 2.1 -0.6 -2 -0.3 ...
#>  - attr(*, "time.stamp")= chr "25 Jun 2011 23:03"
data ## Datanın yapısını inceleyelim.
# Cari dönemde enflasyon ve işsizlik arasındaki statik model.
model.1 <- lm(data = data, formula = inf ~ unem, singular.ok = FALSE)
summary(model.1) ## Tahmin özeti.
#> 
#> Call:
#> lm(formula = inf ~ unem, data = data, singular.ok = FALSE)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -5.2176 -1.7812 -0.6659  1.1473  8.8795 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)  
#> (Intercept)   1.0536     1.5480   0.681   0.4990  
#> unem          0.5024     0.2656   1.892   0.0639 .
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 2.972 on 54 degrees of freedom
#> Multiple R-squared:  0.06215,    Adjusted R-squared:  0.04479 
#> F-statistic: 3.579 on 1 and 54 DF,  p-value: 0.06389
# İlk farklar enflasyon ve işsizlik arasındaki statik model.
model.2 <- lm(data = data, formula = cinf ~ cunem, singular.ok = FALSE)
summary(model.2) ## Tahmin özeti.
#> 
#> Call:
#> lm(formula = cinf ~ cunem, data = data, singular.ok = FALSE)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -7.4790 -0.9441  0.1384  1.0889  5.4551 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)   
#> (Intercept) -0.07214    0.30584  -0.236  0.81443   
#> cunem       -0.83281    0.28984  -2.873  0.00583 **
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 2.267 on 53 degrees of freedom
#>   (1 observation deleted due to missingness)
#> Multiple R-squared:  0.1348, Adjusted R-squared:  0.1185 
#> F-statistic: 8.256 on 1 and 53 DF,  p-value: 0.005831

2.1.2 Statik Model (ÇDR)

  • Örnek olarak, wooldridge R paketinden intdef verisini yükleyelim.
  • intdef verisi genel olarak Amerika’daki faiz oranı, enflasyon ve bütçe açığı değişkenlerini, ve ayrıca bu değişkenlere ait gecikme ve ilk farklar değerlerini içeriyor.
    • i3 (\(i3_{t}\)): cari dönem 3 aylık devlet tahvili faiz oranı
    • inf (\(inf_{t}\)): cari dönem enflasyon oranı
    • def (\(def_{t}\)): cari dönem bütçe açığı (GSYH’ya oran olarak)
  • Daha sonra yüklediğimiz bu verinin metadatasını ve yapısını inceleyelim.
  • Son olarak yüklediğimiz veriyi kullanarak aşağıdaki modeli tahmin edelim.
    • Model: \(i3_{t} = \beta_{0} + \beta_{1}inf_{t} + \beta_{2}def_{t} + u_{t}\)
data(intdef) ## Datayı yüklüyoruz.
?intdef ## Datanın metadatası.

data <- intdef ## Yüklediğimiz datayı "data" ismi ile kaydediyoruz.
str(data) ## Datanın yapısını inceleyelim.
#> 'data.frame':    56 obs. of  13 variables:
#>  $ year : int  1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 ...
#>  $ i3   : num  1.04 1.1 1.22 1.55 1.77 ...
#>  $ inf  : num  8.1 -1.2 1.3 7.9 1.9 ...
#>  $ rec  : num  16.2 14.5 14.4 16.1 19 ...
#>  $ out  : num  11.6 14.3 15.6 14.2 19.4 ...
#>  $ def  : num  -4.6 -0.2 1.2 -1.9 0.4 ...
#>  $ i3_1 : num  NA 1.04 1.1 1.22 1.55 ...
#>  $ inf_1: num  NA 8.1 -1.2 1.3 7.9 ...
#>  $ def_1: num  NA -4.6 -0.2 1.2 -1.9 ...
#>  $ ci3  : num  NA 0.06 0.12 0.33 0.22 ...
#>  $ cinf : num  NA -9.3 2.5 6.6 -6 ...
#>  $ cdef : num  NA 4.4 1.4 -3.1 2.3 ...
#>  $ y77  : int  0 0 0 0 0 0 0 0 0 0 ...
#>  - attr(*, "time.stamp")= chr "25 Jun 2011 23:03"
data ## Datanın yapısını inceleyelim.
# Cari dönemde faiz, enflasyon ve bütçe açığı arasındaki statik model.
model <- lm(data = data, formula = i3 ~ inf + def, singular.ok = FALSE)
summary(model) ## Tahmin özeti.
#> 
#> Call:
#> lm(formula = i3 ~ inf + def, data = data, singular.ok = FALSE)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -3.9948 -1.1694  0.1959  0.9602  4.7224 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)    
#> (Intercept)  1.73327    0.43197   4.012  0.00019 ***
#> inf          0.60587    0.08213   7.376 1.12e-09 ***
#> def          0.51306    0.11838   4.334 6.57e-05 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 1.843 on 53 degrees of freedom
#> Multiple R-squared:  0.6021, Adjusted R-squared:  0.5871 
#> F-statistic: 40.09 on 2 and 53 DF,  p-value: 2.483e-11

2.2 FDL Modeli

  • FDL modeller anlaşılırlığı kolaylaştırmak amacıyla iki ayrı bölümde incelenecektir.
      1. Dereceden FDL Modeli: FDL\(_{(1)}\)
      1. Dereceden FDL Modeli: FDL\(_{(2)}\)
  • FDL modelleri ile etki çarpanı ve uzun dönem çarpanı değerlerini hesaplayabiliriz.
  • FDL modellerinin tahmini için temel olarak 1 fonksiyon kullanacağız: dynlm.
    • dynlm fonksiyonu ile formunu belirlediğimiz FDL modellerini kolayca tahmin edebiliriz.
    • dynlm fonksiyonunun kullanımı lm fonksiyonuna çok benzerdir. Fakat ek olarak, gecikmeli değişkenlerin kullanımı için ekstra kodlar kullanmaya izin verir.
    • dynlm fonksiyonunda sadece zaman serisi verisi kullanılabilir. Bu nedenle, elinizdeki verinin zaman serisi objesi olması şarttır. Bu amaçla biz, elimizdeki veriyi zaman serisi objesine çevirmek için ts fonksiyonunu kullanacağız.

2.2.1 FDL\(_{(1)}\)

  • Örnek olarak, wooldridge R paketinden phillips verisini yükleyelim.
  • phillips verisi genel olarak Amerika’daki enflasyon ve işsizlik değişkenlerini, ve ayrıca bu değişkenlere ait gecikme ve ilk farklar değerlerini içeriyor. Örneğimizi basitleştirmek için biz sadece bazı değişkenleri kullanacağız.
    • inf (\(inf_{t}\)): cari dönem enflasyon oranı
    • unem (\(unem_{t}\)): cari dönem işsizlik oranı
  • Daha sonra yüklediğimiz veriyi kullanarak aşağıdaki FDL\(_{(1)}\) modelini tahmin edelim.
    • Model (FDL\(_{(1)}\)): \(inf_{t} = \alpha_{0} + \delta_{0}unem_{t} + \delta_{1}unem_{t-1} + u_{t}\)
  • Son olarak model tahminini kullanarak etki çarpanı ve uzun dönem çarpanı değerlerini hesaplayalım.
    • Etki çarpanı: \(\hat{\delta}_{0}\)
    • Uzun dönem çarpanı: \(\hat{\delta}_{0} + \hat{\delta}_{1}\)
data(phillips) ## Datayı yüklüyoruz.
?phillips ## Datanın metadatası.

data <- phillips ## Yüklediğimiz datayı "data" ismi ile kaydediyoruz.
data.ts <- ts(data, start = 1948) ## Data 1948 yılından itibaren başlamış.

# Model: Enflasyon ve işsizlik arasındaki FDL(1) modeli.
model <- dynlm(data = data.ts, formula = inf ~ unem + L(unem, 1), singular.ok = FALSE)
summary(model) ## Tahmin özeti.
#> 
#> Time series regression with "ts" data:
#> Start = 1949, End = 2003
#> 
#> Call:
#> dynlm(formula = inf ~ unem + L(unem, 1), data = data.ts, singular.ok = FALSE)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -5.2378 -1.8264 -0.5528  1.0439  8.8164 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)
#> (Intercept)  0.57584    1.64503   0.350    0.728
#> unem         0.61739    0.40423   1.527    0.133
#> L(unem, 1)  -0.04754    0.39888  -0.119    0.906
#> 
#> Residual standard error: 2.939 on 52 degrees of freedom
#> Multiple R-squared:  0.08413,    Adjusted R-squared:  0.04891 
#> F-statistic: 2.388 on 2 and 52 DF,  p-value: 0.1018
# Parametre tahminleri.
coef(model)
#> (Intercept)        unem  L(unem, 1) 
#>  0.57583708  0.61739247 -0.04753562
# Etki çarpanının hesaplanması.
coef(model)[[2]]
#> [1] 0.6173925
# Uzun dönem çarpanının hesaplanması.
coef(model)[[2]] + coef(model)[[3]]
#> [1] 0.5698569

2.2.2 FDL\(_{(2)}\)

  • Örnek olarak, wooldridge R paketinden fertil3 verisini yükleyelim.
  • fertil3 verisi genel olarak Amerika’daki doğurganlık, vergi muafiyeti, savaş ve doğum kontrol hapı değişkenlerini, ve ayrıca bu değişkenlere ait gecikme ve ilk farklar değerlerini içeriyor. Örneğimizi basitleştirmek için biz sadece bazı değişkenleri kullanacağız.
    • gfr (\(gfr_{t}\)): doğurganlık oranı (doğurganlık yaşındaki 1000 kadına düşen bebek sayısı)
    • pe (\(pe_{t}\)): çocuk sahibi olmayı özendirmek için getirilen vergi muafiyeti ($)
    • ww2 (\(ww2_{t}\)): II. Dünya Savaşı yıllarını belirten kukla değişken (1941-1945 yılları için 1 diğer yıllar için 0)
    • pill (\(pill_{t}\)): doğum kontrol hapı kullanımının yasal olduğu yılları belirten kukla değişken (1963 ve sonrası için 1 diğer yıllar için 0)
  • Sonra yüklediğimiz bu verinin metadatasını ve yapısını inceleyelim.
  • Daha sonra yüklediğimiz veriyi kullanarak aşağıdaki FDL\(_{(2)}\) modellerini tahmin edelim.
    • Model 1 (FDL\(_{(2)}\)): \(gfr_{t} = \alpha_{0} + \delta_{0}pe_{t} + \delta_{1}pe_{t-1} + \delta_{2}pe_{t-2} + u_{t}\)
    • Model 2 (FDL\(_{(2)}\)): \(gfr_{t} = \alpha_{0} + \delta_{0}pe_{t} + \delta_{1}pe_{t-1} + \delta_{2}pe_{t-2} + \beta_{1}ww2_{t} + \beta_{2}pill_{t} + u_{t}\)
  • Son olarak model tahminlerini kullanarak her model için etki çarpanı ve uzun dönem çarpanı değerlerini hesaplayalım.
    • Model 1’de denklemin sağ tarafında tek bir bağımsız değişken ve ona ait gecikme değerleri vardır.
      • Etki çarpanı: \(\hat{\delta}_{0}\)
      • Uzun dönem çarpanı: \(\hat{\delta}_{0} + \hat{\delta}_{1} + \hat{\delta}_{2}\)
    • Model 2’de denklemin sağ tarafında bir bağımsız değişken ve ona ait gecikme değerlerinin olmasının yanı sıra başka bağımsız değişkenler de vardır. Yani, modelde bağımlı değişkeni etkileyen diğer faktörler de kontrol edilmiştir.
      • Etki çarpanı: \(\hat{\delta}_{0}\)
      • Uzun dönem çarpanı: \(\hat{\delta}_{0} + \hat{\delta}_{1} + \hat{\delta}_{2}\)
data(fertil3) ## Datayı yüklüyoruz.
?fertil3 ## Datanın metadatası.

data <- fertil3 ## Yüklediğimiz datayı "data" ismi ile kaydediyoruz.
str(data) ## Datanın yapısını inceleyelim.
#> 'data.frame':    72 obs. of  24 variables:
#>  $ gfr   : num  125 127 125 123 121 ...
#>  $ pe    : num  0 0 0 0 19.3 ...
#>  $ year  : int  1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 ...
#>  $ t     : int  1 2 3 4 5 6 7 8 9 10 ...
#>  $ tsq   : int  1 4 9 16 25 36 49 64 81 100 ...
#>  $ pe_1  : num  NA 0 0 0 0 ...
#>  $ pe_2  : num  NA NA 0 0 0 ...
#>  $ pe_3  : num  NA NA NA 0 0 ...
#>  $ pe_4  : num  NA NA NA NA 0 ...
#>  $ pill  : int  0 0 0 0 0 0 0 0 0 0 ...
#>  $ ww2   : int  0 0 0 0 0 0 0 0 0 0 ...
#>  $ tcu   : num  1 8 27 64 125 216 343 512 729 1000 ...
#>  $ cgfr  : num  NA 1.9 -1.6 -1.6 -2.4 ...
#>  $ cpe   : num  NA 0 0 0 19.3 ...
#>  $ cpe_1 : num  NA NA 0 0 0 ...
#>  $ cpe_2 : num  NA NA NA 0 0 ...
#>  $ cpe_3 : num  NA NA NA NA 0 ...
#>  $ cpe_4 : num  NA NA NA NA NA ...
#>  $ gfr_1 : num  NA 125 127 125 123 ...
#>  $ cgfr_1: num  NA NA 1.9 -1.6 -1.6 ...
#>  $ cgfr_2: num  NA NA NA 1.9 -1.6 ...
#>  $ cgfr_3: num  NA NA NA NA 1.9 ...
#>  $ cgfr_4: num  NA NA NA NA NA ...
#>  $ gfr_2 : num  NA NA 125 127 125 ...
#>  - attr(*, "time.stamp")= chr "25 Jun 2011 23:03"
data ## Datanın yapısını inceleyelim.
data.ts <- ts(data, start = 1913) ## Data 1913 yılından itibaren başlamış.

# Model 1: Doğurganlık ve vergi muafiyeti arasındaki FDL(2) modeli.
model.1 <- dynlm(data = data.ts, formula = gfr ~ pe + L(pe, 1) + L(pe, 2), singular.ok = FALSE)
summary(model.1) ## Tahmin özeti.
#> 
#> Time series regression with "ts" data:
#> Start = 1915, End = 1984
#> 
#> Call:
#> dynlm(formula = gfr ~ pe + L(pe, 1) + L(pe, 2), data = data.ts, 
#>     singular.ok = FALSE)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -30.146 -16.062  -0.127  17.562  31.842 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)    
#> (Intercept) 93.15791    4.49965  20.703   <2e-16 ***
#> pe          -0.01584    0.14026  -0.113    0.910    
#> L(pe, 1)    -0.02134    0.21523  -0.099    0.921    
#> L(pe, 2)     0.05390    0.13811   0.390    0.698    
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 19.78 on 66 degrees of freedom
#> Multiple R-squared:  0.006135,   Adjusted R-squared:  -0.03904 
#> F-statistic: 0.1358 on 3 and 66 DF,  p-value: 0.9383
# Model 1: Parametre tahminleri.
coef(model.1)
#> (Intercept)          pe    L(pe, 1)    L(pe, 2) 
#> 93.15790699 -0.01584453 -0.02133647  0.05390053
# Model 1: Etki çarpanının hesaplanması.
coef(model.1)[[2]]
#> [1] -0.01584453
# Model 1: Uzun dönem çarpanının hesaplanması.
coef(model.1)[[2]] + coef(model.1)[[3]] + coef(model.1)[[4]]
#> [1] 0.01671952
# Model 2: Doğurganlık, vergi muafiyeti, savaş ve doğurganlık hapı arasındaki FDL(2) modeli.
model.2 <- dynlm(data = data.ts, formula = gfr ~ pe + L(pe, 1) + L(pe, 2) + ww2 + pill, singular.ok = FALSE)
summary(model.2) ## Tahmin özeti.
#> 
#> Time series regression with "ts" data:
#> Start = 1915, End = 1984
#> 
#> Call:
#> dynlm(formula = gfr ~ pe + L(pe, 1) + L(pe, 2) + ww2 + pill, 
#>     data = data.ts, singular.ok = FALSE)
#> 
#> Residuals:
#>      Min       1Q   Median       3Q      Max 
#> -24.6461  -9.5409  -0.0312   8.3378  29.1295 
#> 
#> Coefficients:
#>              Estimate Std. Error t value Pr(>|t|)    
#> (Intercept)  95.87050    3.28196  29.211  < 2e-16 ***
#> pe            0.07267    0.12553   0.579   0.5647    
#> L(pe, 1)     -0.00578    0.15566  -0.037   0.9705    
#> L(pe, 2)      0.03383    0.12626   0.268   0.7896    
#> ww2         -22.12650   10.73197  -2.062   0.0433 *  
#> pill        -31.30499    3.98156  -7.862 5.63e-11 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 14.27 on 64 degrees of freedom
#> Multiple R-squared:  0.4986, Adjusted R-squared:  0.4594 
#> F-statistic: 12.73 on 5 and 64 DF,  p-value: 1.353e-08
# Model 2: Parametre tahminleri.
coef(model.2)
#>   (Intercept)            pe      L(pe, 1)      L(pe, 2)           ww2 
#>  95.870497467   0.072671828  -0.005779582   0.033826844 -22.126497512 
#>          pill 
#> -31.304988800
# Model 2: Etki çarpanının hesaplanması.
coef(model.2)[[2]]
#> [1] 0.07267183
# Model 2: Uzun dönem çarpanının hesaplanması.
coef(model.2)[[2]] + coef(model.2)[[3]] + coef(model.2)[[4]]
#> [1] 0.1007191