Gibson Paradoksu

Faiz Oranı ve Fiyatlar Genel Seviyesi Arasındaki İlişki: Gibson Paradoksunun Türkiye İçin Geçerliliği Üzerine Bir Analiz

Faiz oranı ve fiyatlar genel seviyesi arasındaki ilişkiyi analiz etmek için 2 değişken kullanılmıştır. Bu değişkenler nominal faiz oranı ve enflasyon (fiyatlar genel seviyesi)’dur.

Türkiye’ye ilişkin veri seti yıllık olarak World Bank’tan alınmıştır.

İlk olarak excel’de oluşturulan veriler aktarılmıştır.

library(readxl)
data <- read_excel("C:/Users/User1/Desktop/data.xlsx")
View(data)

Daha sonra veri setine ait ilk gözlemleri görmek için head() fonksiyonu kullanılmıştır. Yani head fonksiyonu, önceden tanımlı olan veri setinin ilk 6 satrını getirir.

head(data)
## # A tibble: 6 × 3
##    Date InterestRate Inflation
##   <dbl>        <dbl>     <dbl>
## 1  2000         47.2     54.9 
## 2  2001         74.7     54.4 
## 3  2002         50.5     45.0 
## 4  2003         37.7     21.6 
## 5  2004         24.3      8.60
## 6  2005         20.4      8.18

Veri setine ait son gözlemleri görmek adına tail fonksiyonu kullanabiliriz. Tail fonksiyonu veri setininin son 6 satrını getirir.

tail(data)
## # A tibble: 6 × 3
##    Date InterestRate Inflation
##   <dbl>        <dbl>     <dbl>
## 1  2016         14.6      7.78
## 2  2017         15.3     11.1 
## 3  2018         23.3     16.3 
## 4  2019         25.4     15.2 
## 5  2020         13.4     12.3 
## 6  2021         20.7     19.6

Veri setinin yapısını kontrol etmek için class fonksiyonu kullanabiliriz.

class(data)
## [1] "tbl_df"     "tbl"        "data.frame"

Veri setine ilişkin durağanlık analizi yapa bilmemiz için ilk olarak aşağıda verilen paketi yüklememiz gerekmektedir.

require(fUnitRoots)
## Zorunlu paket yükleniyor: fUnitRoots

tsibble paketi, düzenleme araçlarıyla düzenli zamansal veriler için bir veri altyapısı sağlar

require(tsibble)
## Zorunlu paket yükleniyor: tsibble
## 
## Attaching package: 'tsibble'
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, union

Veri setini zaman serisine dönüştürmemiz için aşağıdaki işlemi gerçekleştirmemiz gerekmektedir.

require(tseries)
## Zorunlu paket yükleniyor: tseries
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo

Veri setini zaman serisine dönüştürmek için tseries paketni yükledikten sonra aşağıdaki işlemi uygulayabiliriz.

veriler yıllık olduğundan dolayı frequency 1 olur

data = ts(data,
           frequency = 1,
           start = c(2000, 1))

psych paketi, kişilik, psikometrik teori ve deneysel psikoloji için araçlar sağlar.

library(psych)

psych paketini indirip çalıştırdıktan sonra describe fonksiyonu kullanılır. Describe fonksiyonu, Klasik psikometride ölçek oluşturma ve madde analizi için en yararlı olanları sağlar. Aralık, kodlama hatalarını kontrol etmek için bir veri kümesindeki ilk geçiş için en kullanışlıdır.

Böylelikle her iki değişkene ait tanımlayıcı istatistikleri görebiliriz. Bunun için aşağıdaki işlem uygulanır.

describe(data)
##              vars  n    mean    sd  median trimmed  mad     min     max range
## Date            1 22 2010.50  6.49 2010.50 2010.50 8.15 2000.00 2021.00 21.00
## InterestRate    2 22   24.81 15.06   20.55   21.84 7.50   13.36   74.70 61.34
## Inflation       3 22   16.27 14.96    9.24   13.11 2.71    6.25   54.92 48.66
##              skew kurtosis   se
## Date         0.00    -1.36 1.38
## InterestRate 1.94     3.18 3.21
## Inflation    1.76     1.61 3.19

Daha sonra zaman serisine dönüştürülmüş olan veri setimizin durağanlık testini yapa bilmemiz için apply fonksiyonu kullanabiriz.

Veri setine ilişkin durağanlık analizi test sonuçlarına göre her iki değişkene (nominal faiz oranı ve enflasyon) ait olasılık değerleri 0,05 olasılık değerlerinden küçük olduğundan dolayı durağan olduğu sonucuna ulaşılmıştır. Her iki değişkene ait en uygun gecikme uzunluğu 2 olduğu görülmektedir.

apply(data, 2, adf.test)
## Warning in summary.lm(res): essentially perfect fit: summary may be unreliable
## Warning in FUN(newX[, i], ...): p-value greater than printed p-value
## Warning in FUN(newX[, i], ...): p-value smaller than printed p-value
## $Date
## 
##  Augmented Dickey-Fuller Test
## 
## data:  newX[, i]
## Dickey-Fuller = 1.7321, Lag order = 2, p-value = 0.99
## alternative hypothesis: stationary
## 
## 
## $InterestRate
## 
##  Augmented Dickey-Fuller Test
## 
## data:  newX[, i]
## Dickey-Fuller = -3.6634, Lag order = 2, p-value = 0.04547
## alternative hypothesis: stationary
## 
## 
## $Inflation
## 
##  Augmented Dickey-Fuller Test
## 
## data:  newX[, i]
## Dickey-Fuller = -6.143, Lag order = 2, p-value = 0.01
## alternative hypothesis: stationary

Veri setine ait özete bakılırsa summary fonksiyonu kullanabiliriz.

Summary fonksiyonu, veri setinin yapısını anlamak için kullanılan diğer bir fonksiyondur.

summary(data)
##       Date       InterestRate     Inflation     
##  Min.   :2000   Min.   :13.36   Min.   : 6.251  
##  1st Qu.:2005   1st Qu.:15.29   1st Qu.: 8.276  
##  Median :2010   Median :20.55   Median : 9.244  
##  Mean   :2010   Mean   :24.81   Mean   :16.271  
##  3rd Qu.:2016   3rd Qu.:24.02   3rd Qu.:16.044  
##  Max.   :2021   Max.   :74.70   Max.   :54.915

Veri setinde yer alan nominal faiz oranı ve enflasyon arasındaki ilişki en yalın bir şekilde grafik ile gösterirsek plot fonksiyonu kullanabiliriz.

Her iki değişkeni aynı grafik üzerinde gösterirsek aşağıdaki işlemi uygulayabiliriz.

plot(data[,2:3], plot.type = "single")