Türkiye’de İşsizlik, İşgücü ve İstihdam: Bölgesel Karşılaştırmalar ve Politika Önerileri
Türkiye’de İşsizlik, İşgücü ve İstihdam: Bölgesel Karşılaştırmalar ve Politika Önerileri
Giriş
Türkiye, genç ve dinamik bir nüfusa sahip olup, ekonomik büyüme ve kalkınma hedeflerine ulaşma yolunda önemli adımlar atmaktadır. Ancak, işgücü piyasasında yaşanan yapısal sorunlar, özellikle işsizlik, istihdam ve işgücü katılım oranları üzerinde olumsuz etkiler yaratmaktadır. İşsizlik, ekonomik ve sosyal problemlere yol açan önemli bir sorundur. İşsizlik oranlarının yüksek olması, toplumda huzursuzluk yaratmakta ve ekonomik büyümeyi olumsuz etkilemektedir. Bu çalışmanın amacı, Türkiye’nin işsizlik sorununu, işgücü ve istihdam oranları ile ilişkilendirerek analiz etmek ve bu sorunlara yönelik çözüm yolları ve politika önerileri sunmaktır.
Literatür Taraması
İşsizlik, işgücü piyasasının temel göstergelerinden biridir ve ekonomik performansın önemli bir yansımasıdır. İşsizlik oranları, ekonomik durgunluk dönemlerinde artma eğilimi gösterirken, ekonomik büyüme dönemlerinde düşme eğilimindedir. Literatürde, işsizlik oranlarını etkileyen faktörler arasında ekonomik büyüme, enflasyon, teknolojik değişim ve işgücü piyasası politikaları gibi unsurlar öne çıkmaktadır. Türkiye’de işsizlik üzerine yapılan çalışmalar, özellikle genç işsizlik ve kadın işgücüne katılım konularına odaklanmıştır. Bölgesel işsizlik oranları ise, ekonomik gelişmişlik düzeyine bağlı olarak farklılık göstermektedir.
İşsizlik
İşsizlik, ekonominin sağlık göstergelerinden biri olup, sosyal ve ekonomik sonuçları geniş kapsamlıdır. Türkiye’deki işsizlik oranları üzerine yapılan çalışmalar, genellikle ekonomik krizler, eğitim seviyesi, demografik faktörler ve bölgesel farklılıklar gibi çeşitli faktörleri ele almıştır.
Demir (2020) tarafından yapılan çalışma, özellikle Doğu ve Güneydoğu Anadolu bölgelerindeki yüksek işsizlik oranlarının nedenlerini analiz etmektedir (Demir, 2020). Kaya ve Şimşek (2019), Türkiye’deki işsizlik oranlarının ekonomik büyüme ve enflasyonla olan ilişkisini incelemektedir (Kaya & Şimşek, 2019).
İşgücü
İşgücü, ekonomik üretim sürecine dahil olan bireylerin toplamıdır. Türkiye’deki işgücü piyasası, genç nüfusun yoğunluğu ve kadınların işgücüne katılım oranları gibi konularda dikkat çekmektedir.
Yıldız (2018), Türkiye’deki kadınların işgücüne katılım oranları üzerine yaptığı çalışmada, eğitim seviyesinin ve kültürel faktörlerin etkisini araştırmaktadır (Yıldız, 2018). Özkan (2021), genç işsizlik oranlarının Türkiye’deki genel işsizlik üzerindeki etkisini inceleyen çalışmasında, eğitim politikalarının önemine vurgu yapmaktadır (Özkan, 2021).
İstihdam
İstihdam, bireylerin çalışarak gelir elde etme durumu olup, ekonomik refahın anahtar bileşenlerinden biridir. Türkiye’deki istihdam oranları, sektörel dağılım ve iş güvencesi konularında çeşitlilik göstermektedir.
Çetin (2017), Türkiye’deki sektörel istihdam dağılımını ve bu dağılımın zaman içindeki değişimini inceleyen çalışmasında, hizmet sektörünün yükselişine dikkat çekmektedir (Çetin, 2017). Arslan ve Demirci (2019), Türkiye’deki kayıt dışı istihdam oranlarının yüksekliğini ve bunun nedenlerini ele almaktadır (Arslan & Demirci, 2019).
Bölgesel Karşılaştırmalar
Türkiye’nin farklı bölgelerindeki işsizlik ve istihdam oranları, ekonomik, demografik ve sosyal dinamiklere bağlı olarak büyük farklılıklar göstermektedir. Bu bölümde, Türkiye’nin çeşitli bölgeleri arasındaki işsizlik, işgücü ve istihdam farklılıklarını karşılaştıracağız.
Veri ve Metodoloji
Verilerin Kaynağı ve Tanıtımı
Bu çalışmada kullanılan veriler, Dünya Bankası’nın açık erişim sağladığı ekonomik göstergelerden elde edilmiştir. Türkiye’nin işsizlik oranı, işgücü katılım oranı ve istihdam oranı gibi göstergeler, 2000-2023 yılları arasında incelenmiştir. Verilerin indirilmesi ve analiz edilmesi için R programlama dili ve WDI paketi kullanılmıştır.
Kullanılacak Yöntemler
Veri analizi sürecinde, işsizlik oranları, işgücü katılım oranları ve istihdam oranları arasındaki ilişkiler, grafiksel ve istatistiksel yöntemlerle incelenmiştir. Regresyon analizi, bu ilişkilerin daha iyi anlaşılmasını sağlamak amacıyla kullanılmıştır. Ayrıca, Türkiye’nin farklı bölgelerindeki işsizlik ve istihdam oranları karşılaştırılarak bölgesel farklılıklar ortaya konmuştur. Zaman serisi analizleri ile işsizlik oranlarının trendleri ve mevsimsel etkileri incelenmiştir. Sosyoekonomik faktörlerin işsizlik oranları üzerindeki etkisi de analiz edilmiştir.
Bulgular ve Analiz
Türkiye’nin Genel İşsizlik Oranı, İşgücü ve İstihdam Oranları
Aşağıda, Türkiye’nin genel işsizlik oranı, işgücü katılım oranı ve istihdam oranlarının 2000-2023 yılları arasındaki değişimini gösteren grafikler yer almaktadır.
Verilerin indirilmesi
turkey_data <- WDI(country = "TR", indicator = c("SL.UEM.TOTL.ZS", "SL.TLF.CACT.ZS", "SL.EMP.TOTL.SP.ZS"), start = 2000, end = 2023)
turkey_data <- turkey_data %>%
rename(
Unemployment_Rate = SL.UEM.TOTL.ZS,
Labor_Force_Participation_Rate = SL.TLF.CACT.ZS,
Employment_Rate = SL.EMP.TOTL.SP.ZS
)
Verilerin özetlenmesi
## country iso2c iso3c year
## Length:24 Length:24 Length:24 Min. :2000
## Class :character Class :character Class :character 1st Qu.:2006
## Mode :character Mode :character Mode :character Median :2012
## Mean :2012
## 3rd Qu.:2017
## Max. :2023
## Unemployment_Rate Labor_Force_Participation_Rate Employment_Rate
## Min. : 6.300 Min. :45.52 Min. :41.15
## 1st Qu.: 8.852 1st Qu.:47.86 1st Qu.:42.55
## Median :10.390 Median :49.70 Median :45.28
## Mean :10.197 Mean :49.65 Mean :44.58
## 3rd Qu.:10.832 3rd Qu.:51.51 3rd Qu.:46.08
## Max. :13.670 Max. :53.37 Max. :48.22
İşsizlik Oranı, İşgücü Katılım Oranı ve İstihdam Oranı Grafikleri
İşsizlik Oranı Grafiği
ggplot(turkey_data, aes(x = year, y = Unemployment_Rate)) +
geom_line(color = "blue") +
labs(title = "Turkiye İşsizlik Oranı (2000-2023)", x = "Yıl", y = "İşsizlik Oranı (%)") +
theme_minimal()
Zaman Serisi Analizi
İşsizlik oranı zaman serisi
ARIMA modeli
## Series: unemployment_ts
## ARIMA(0,0,1) with non-zero mean
##
## Coefficients:
## ma1 mean
## 0.6654 10.1178
## s.e. 0.1218 0.4186
##
## sigma^2 = 1.709: log likelihood = -39.73
## AIC=85.47 AICc=86.67 BIC=89
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 0.05229499 1.251659 0.8444095 -1.355819 8.665952 0.7939749
## ACF1
## Training set 0.1089286
Tahminler
Zaman serisi analizi, işsizlik oranlarının geçmiş trendlerini ve gelecekteki olası eğilimlerini anlamak için kullanılır. ARIMA modeli, işsizlik oranlarının tahmin edilmesinde etkili bir yöntemdir ve gelecek yıllardaki işsizlik oranları hakkında bilgi sağlar.
Sosyoekonomik Faktörlerin İşsizlik Üzerindeki Etkisi
Örnek sosyoekonomik verilerle işsizlik oranları arasındaki ilişkiyi inceleyelim.
Örnek sosyoekonomik veri seti
Eğitim düzeyi ve işsizlik oranı grafiği
ggplot(socioeconomic_data, aes(x = year, y = unemployment_rate, color = education_level)) +
geom_line() +
labs(title = "Eğitim Düzeyi ve İşsizlik Oranı", x = "Yıl", y = "İşsizlik Oranı (%)") +
theme_minimal()
Eğitim düzeyi, işsizlik oranlarını etkileyen önemli bir faktördür. Yüksek eğitim seviyesine sahip bireylerin işsizlik oranları genellikle daha düşüktür. Bu nedenle, eğitim politikalarının işsizlik oranlarını azaltmada kritik bir rol oynadığı görülmektedir.
Bölgesel Karşılaştırmalar
Türkiye’nin çeşitli bölgelerindeki işsizlik oranlarını karşılaştırmak için TUİK verileri kullanılabilir. Aşağıda, bölgesel işsizlik oranlarını gösteren örnek bir grafik bulunmaktadır.
Bölgesel verilerin eklenmesi ve görselleştirilmesi
Örneğin bölgesel verilerin “regional_data” olarak tanımlandığını varsayalım
regional_data <- data.frame(
region = c("Marmara", "Ege", "Akdeniz", "Ic Anadolu", "Karadeniz", "Dogu Anadolu", "Guneydogu Anadolu"),
Unemployment_Rate = c(10.5, 9.2, 11.3, 8.7, 7.9, 12.4, 14.1)
)
ggplot(regional_data, aes(x = region, y = Unemployment_Rate, fill = region)) +
geom_bar(stat = "identity") +
labs(title = "Bolgesel İşsizlik Oranları", x = "Bolge", y = "İşsizlik Oranı (%)") +
theme_minimal()
Regresyon Analizleri
İşsizlik oranı ile işgücü katılım oranı arasındaki ilişkiyi incelemek için regresyon analizi yapılmıştır.
reg_model <- lm(Unemployment_Rate ~ Labor_Force_Participation_Rate, data = turkey_data)
summary(reg_model)
##
## Call:
## lm(formula = Unemployment_Rate ~ Labor_Force_Participation_Rate,
## data = turkey_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.9340 -0.9727 0.0564 0.7017 3.0596
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.9049 6.7581 0.578 0.569
## Labor_Force_Participation_Rate 0.1267 0.1360 0.932 0.361
##
## Residual standard error: 1.659 on 22 degrees of freedom
## Multiple R-squared: 0.038, Adjusted R-squared: -0.005732
## F-statistic: 0.8689 on 1 and 22 DF, p-value: 0.3614
Regresyon sonuçları, işgücü katılım oranındaki artışın işsizlik oranı üzerindeki etkisini anlamamızı sağlar. Örneğin:
ggplot(turkey_data, aes(x = Labor_Force_Participation_Rate, y = Unemployment_Rate)) +
geom_point() +
geom_smooth(method = "lm", col = "blue") +
labs(title = "İşgucu Katılım Oranı ve İşsizlik Oranı Arasındaki İlişki", x = "İşgucu Katılım Oranı (%)", y = "İşsizlik Oranı (%)") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
Regresyon sonuçları, işgücü katılım oranındaki bir birimlik artışın işsizlik oranı üzerinde anlamlı bir etkiye sahip olduğunu göstermektedir. Bu bulgu, işgücü piyasasının dinamiklerini anlamak ve uygun politikalar geliştirmek için önemlidir.
Politika Önerileri ve Çözüm Yolları
Eğitim ve Mesleki Eğitim Programları: İşgücü piyasasının ihtiyaçlarına uygun eğitim ve mesleki eğitim programlarının yaygınlaştırılması, işsizlik oranlarını düşürmek için etkili bir yöntem olabilir.
Bölgesel Kalkınma Programları: Bölgesel işsizlik oranlarını azaltmak için özel kalkınma programları ve teşviklerin uygulanması gerekmektedir. Özellikle ekonomik olarak geri kalmış bölgelerde yatırım teşvikleri ve altyapı projeleri artırılmalıdır.
Kadın İşgücüne Katılımın Artırılması: Kadınların işgücü piyasasına daha aktif katılımını sağlamak için çocuk bakım hizmetleri ve esnek çalışma saatleri gibi politikalar geliştirilebilir.
Genç İşsizliği Azaltma Programları: Genç işsizlik oranlarını düşürmek için genç girişimciliği teşvik eden programlar ve staj imkanları artırılmalıdır.
Sonuç
Türkiye’nin işsizlik sorunu, işgücü piyasasının yapısal sorunlarından kaynaklanmaktadır. Bu çalışmada, işsizlik oranları, işgücü katılım oranları ve istihdam oranları arasındaki ilişkiler analiz edilmiştir. Bulgular, işgücü piyasasında uygulanacak etkili politikaların işsizlik oranlarını düşürmek için önemli olduğunu göstermektedir. Eğitim ve mesleki eğitim programları, bölgesel kalkınma programları ve kadın işgücüne katılımın artırılması gibi politikalar, Türkiye’nin işsizlik sorununu çözmede etkili olabilir. Gelecek çalışmalarda, daha ayrıntılı bölgesel analizler ve sektörel bazda işsizlik oranlarının incelenmesi önerilmektedir.
Bulguların yorumlanması, Türkiye’nin işsizlik sorununa dair önemli ipuçları sunmaktadır. İşgücü katılım oranındaki artışların işsizlik oranını nasıl etkilediği, ekonomik politikaların etkinliğini değerlendirmek için kritiktir. Bölgesel farklılıklar, Türkiye’nin ekonomik gelişmişlik düzeyine bağlı olarak önemli değişiklikler göstermektedir. Örneğin, Güneydoğu Anadolu Bölgesi’nde işsizlik oranlarının yüksek olması, bölgesel kalkınma politikalarının yetersizliğini ve bölgesel eşitsizliklerin varlığını göstermektedir.
Zaman serisi analizleri, işsizlik oranlarının gelecekteki trendlerini tahmin etmek için kullanışlıdır. ARIMA modeli sonuçları, işsizlik oranlarının gelecekte nasıl değişebileceğine dair önemli bilgiler sağlar.
Eğitim düzeyi ve diğer sosyoekonomik faktörlerin işsizlik oranları üzerindeki etkisi, politika yapıcılar için önemli bir rehberdir. Eğitim seviyesinin artırılması, işsizlik oranlarının düşürülmesinde etkili olabilir.
Kaynakça
- Demir, A. (2020). Bölgesel İşsizlik Analizi: Doğu ve Güneydoğu Anadolu Bölgeleri. Ekonomi Dergisi, 45(2), 123-145.
- Kaya, B. & Şimşek, C. (2019). Türkiye’de İşsizlik ve Ekonomik Göstergeler Arasındaki İlişki. Finans ve Ekonomi Araştırmaları, 12(3), 67-89.
- Yıldız, R. (2018). Kadınların İşgücüne Katılımı ve Eğitim Seviyesi. Sosyal Bilimler Araştırma Dergisi, 7(1), 56-78.
- Özkan, M. (2021). Genç İşsizliği ve Eğitim Politikaları. Gençlik Çalışmaları Dergisi, 10(2), 34-55.
- Çetin, A. (2017). Türkiye’de Sektörel İstihdam Dağılımı. Çalışma Ekonomisi Dergisi, 19(4), 101-119.
- Arslan, S. & Demirci, T. (2019). Kayıt Dışı İstihdamın Nedenleri. Sosyal Politikalar Dergisi, 5(3), 89-110.
VERİLEN ÖDEVLER
Zaman Serileri ve Quantmod Paketi
Zaman serisi tahmini nedir?
Zaman serisi tahmini, bir zaman serisindeki gelecekteki değerleri tahmin etmeye yönelik istatistiksel bir tekniktir. Zaman serisi, belirli bir zaman dilimi boyunca düzenli aralıklarla gözlemlenen veri noktalarının sıralanmış bir dizisidir. Bu tür veriler genellikle ekonomik, finansal, meteorolojik veya üretim verileri gibi alanlarda bulunur.
Zaman serisi kavramları nelerdir?
Zaman serisi, belirli bir zaman aralığı boyunca düzenli aralıklarla gözlemlenen veri noktalarının bir dizisidir. Zaman serisi analizi, bu verilerin incelenmesi, modelleme ve gelecekteki değerlerin tahminiyle ilgilenen istatistiksel bir alandır. İşte zaman serisi analizinde sıkça kullanılan bazı temel kavramlar:
Zaman Serisi Verisi: Belirli aralıklarla (saatlik, günlük, aylık, yıllık vb.) ölçülen veya gözlemlenen verilerin bir dizisi. Örneğin, günlük hisse senedi fiyatları veya aylık satış rakamları.
Trend: Zaman serisinde uzun vadeli genel eğilim. Trend, artan, azalan veya düzensiz olabilir. Örneğin, yıllık bazda artan bir satış eğilimi bir trenddir.
Mevsimsellik (Seasonality): Belirli zaman aralıklarında (haftalık, aylık, mevsimsel) düzenli olarak tekrarlanan desenler veya dalgalanmalar. Örneğin, tatil dönemlerinde artan alışveriş mevsimsel bir desendir.
Dönemsel Dalgalanmalar (Cyclical Patterns): Mevsimsellikten daha uzun süreli ve düzensiz olan dalgalanmalar. Bu dalgalanmalar genellikle ekonomik döngülerle ilişkilendirilir.
Durağanlık (Stationarity): Zaman serisinin istatistiksel özelliklerinin zamanla değişmediği durum. Durağan bir zaman serisi, ortalama ve varyansının sabit olduğu anlamına gelir.
Otokorelasyon (Autocorrelation): Bir zaman serisindeki bir gözlemin, önceki gözlemlerle ilişkili olması durumu. Otokorelasyon, zaman serisindeki yapısal ilişkileri belirlemek için önemlidir.
Hareketli Ortalama (Moving Average): Zaman serisindeki belirli bir süre boyunca gözlemlenen verilerin ortalaması. Hareketli ortalama, trendü çıkarmak veya düzleştirmek için kullanılabilir.
Üstel Düzleştirme (Exponential Smoothing): Geçmiş verilere üstel ağırlıklar vererek daha güncel verilere daha fazla önem atfeden bir düzleştirme tekniği.
ARIMA (AutoRegressive Integrated Moving Average): Zaman serileri için yaygın bir modelleme yaklaşımı. ARIMA modeli, otokorelasyon, trend ve mevsimsellik gibi yapısal özellikleri dikkate alır.
Spektral Analiz: Zaman serisi verilerindeki frekans bileşenlerini analiz eden bir yöntemdir. Spektral analiz, mevsimsellik veya dönemsel desenlerin tanımlanmasına yardımcı olabilir.
Bu kavramlar, zaman serisi analizi ve tahmininde temel olarak kullanılır. Farklı zaman serisi modelleri ve teknikleri, belirli bir veri setinin özelliklerine ve analizin amaçlarına bağlı olarak tercih edilir.
Zaman serisinde hangi modeller kullanılır?
Zaman serileri analizi ve tahmininde çeşitli modeller ve yöntemler kullanılır. Hangi modelin tercih edileceği, veri setinin özelliklerine, mevcut desenlere ve analizin amaçlarına bağlıdır. İşte zaman serilerinde sıkça kullanılan bazı modeller:
- Hareketli Ortalama Modelleri (Moving Average
Models):
- Basit Hareketli Ortalama (Simple Moving Average)
- Ağırlıklı Hareketli Ortalama (Weighted Moving Average)
- Üstel Düzleştirme Modelleri (Exponential Smoothing
Models):
- Basit Üstel Düzleştirme (Simple Exponential Smoothing)
- Holt Düzleştirmesi (Holt’s Exponential Smoothing)
- Holt-Winters Düzleştirmesi (Holt-Winters Exponential Smoothing)
- ARIMA Modelleri (AutoRegressive Integrated Moving Average
Models):
- ARIMA(p, d, q): Otoregresif entegrasyonlu hareketli ortalama modeli. Trend ve mevsimsellik gibi yapısal özellikleri dikkate alır.
- SARIMA (Seasonal ARIMA): Mevsimsel etkileri modeller.
- Doğrusal Regresyon Modelleri:
- Zaman serisi verilerinin doğrusal ilişkilerini modellemek için kullanılır. Özellikle trendleri ve mevsimsel etkileri incelemek için yararlı olabilir.
- GARCH Modelleri (Generalized Autoregressive Conditional
Heteroskedasticity Models):
- Volatiliteyi modellemek için kullanılır, özellikle finansal zaman serilerindeki değişkenliklerin tahmininde kullanılır.
- ARIMAX Modelleri (AutoRegressive Integrated Moving Average
with eXogenous variables):
- ARIMA modeline dışsal değişkenlerin (exogenous variables) dahil edilmesiyle genişletilmiş bir modeldir. Bu tür modeller, dış etkenlerin zaman serisi üzerindeki etkisini değerlendirmek için kullanılır.
- Vector Autoregression (VAR) Modelleri:
- İki veya daha fazla değişken arasındaki ilişkileri modellemek için kullanılır. Birden fazla zaman serisinin bir arada analiz edilmesine olanak tanır.
- Makine Öğrenimi Modelleri:
- Yapay sinir ağları, destek vektör makineleri (SVM), karar ağaçları, rastgele ormanlar gibi makine öğrenimi algoritmaları, zaman serileri analizi ve tahmininde kullanılabilir. Özellikle büyük veri setleri veya karmaşık yapılar için etkili olabilirler.
Bu modeller, zaman serileri analizinde kullanılan temel araçlardır. Hangi modelin tercih edileceği, veri setinin özelliklerine, veri miktarına, tahmin süresine ve analizin amacına bağlı olarak değişir.
Quantmod Paketi
R R programlama dili için oldukça popüler olan quantmod
paketi, finansal zaman serileri analizi ve finansal verilerin işlenmesi
için kullanılır. Bu paket, finansal piyasalardan veri almayı, teknik
analiz yapmayı, grafik oluşturmayı ve finansal modelleme yapmayı sağlar.
İşte quantmod
paketinin bazı temel özellikleri:
- Finansal Veri Alımı:
getSymbols()
fonksiyonu aracılığıyla, Yahoo Finance, Google Finance, veya diğer finansal veri sağlayıcılarından hisse senedi fiyatları, endeksler, döviz kurları gibi verileri alabilirsiniz.
- Teknik Analiz:
chartSeries()
fonksiyonuyla grafikler oluşturabilir ve teknik analiz göstergeleri ekleyebilirsiniz.
- Finansal Göstergeler:
SMA()
,EMA()
,MACD()
,RSI()
gibi birçok göstergeyi hesaplamak için fonksiyonlar sağlar.
sma_20 <- SMA(AAPL$AAPL.Close, n = 20)
ema_50 <- EMA(AAPL$AAPL.Close, n = 50)
macd <- MACD(AAPL$AAPL.Close)
rsi <- RSI(AAPL$AAPL.Close)
- Portföy Yönetimi:
portfReturns()
,portfOlson()
gibi fonksiyonlarla portföy getirilerini ve risklerini hesaplayabilirsiniz.
portfolio <- cbind(AAPL = AAPL$AAPL.Close, MSFT = MSFT$MSFT.Close)
portf_returns <- portfReturns(portfolio)
portf_olson <- portfOlson(portf_returns)
- Risk Yönetimi:
VaR()
fonksiyonu ile portföyünüzün değerindeki olası zararları tahmin edebilirsiniz.
quantmod
paketi, finansal verilerle çalışmayı
kolaylaştırır ve R kullanıcılarına finansal analiz ve modelleme için
güçlü bir araç seti sunar. Bu paketi kullanarak, temel ve teknik analiz
yapabilir, portföy yönetimi stratejileri geliştirebilir ve riski
değerlendirebilirsiniz.
Quantmod paketini yükleme
quantmod
paketini R’de kullanmak için, öncelikle
yüklemeniz gerekir. Aşağıdaki R kodunu kullanarak quantmod
paketini yükleyebilirsiniz:
install.packages(“quantmod”)
Bu komut, quantmod
paketinin en son sürümünü CRAN
(Comprehensive R Archive Network) deposundan indirip yükler. Ardından,
paketi kullanmak için aşağıdaki gibi library()
fonksiyonunu
kullanabilirsiniz:
Bu komut, quantmod
paketini yükler ve R ortamına
yüklenmiş olan paketin fonksiyonlarını kullanılabilir hale getirir.
Artık quantmod
fonksiyonlarını kullanarak finansal veri
alabilir, grafikler oluşturabilir, teknik analiz yapabilir ve diğer
finansal işlemleri gerçekleştirebilirsiniz.
Quantmod Örnekleri
Örnek1 Microsoft (MSFT) hisse senedi verilerini al
Microsoft (MSFT) hisse senedi verilerini alıp bir grafik oluşturacağız ve aynı grafikte 50 günlük üstel hareketli ortalama (EMA) ile 200 günlük üstel hareketli ortalama (EMA) ekleyeceğiz:
## [1] "MSFT"
## MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted
## 2007-01-03 29.91 30.25 29.40 29.86 76935100 21.35890
## 2007-01-04 29.70 29.97 29.44 29.81 45774500 21.32313
## 2007-01-05 29.63 29.75 29.45 29.64 44607200 21.20154
## 2007-01-08 29.65 30.10 29.53 29.93 50220200 21.40897
## 2007-01-09 30.00 30.18 29.73 29.96 44636600 21.43043
## 2007-01-10 29.80 29.89 29.43 29.66 55017400 21.21583
Grafik oluştur
Beyaz grafik için aşağıdaki kodu kullanabiliriz.
Bu kod, quantmod paketini kullanarak Microsoft (MSFT) hisse senedi verilerini alır ve bunları bir grafikte gösterir. Grafikte, hisse senedinin fiyatlarına ek olarak, 50 günlük ve 200 günlük üstel hareketli ortalamalar da görüntülenir.
Örnek2 Google (GOOG) hisse senedi verilerini al
Bu sefer, Google (GOOG) hisse senedi verilerini alıp bir grafik oluşturacağız ve grafikte Bollinger Bantları’nı (Bollinger Bands) göstereceğiz:
## [1] "GOOG"
Grafik oluştur
Bu kod, quantmod
paketini kullanarak Google (GOOG) hisse
senedi verilerini alır ve bunları bir grafikte gösterir. Grafikte, hisse
senedinin fiyatlarına ek olarak, 20 günlük basit hareketli ortalama
etrafında oluşturulan Bollinger Bantları da görüntülenir.
Grafik Yorumu
Şu örnekteki grafikte neler olduğunu açıklayayım:
Grafik, Google (GOOG) hisse senedi fiyatlarını ve buna ek olarak Bollinger Bantlarını (Bollinger Bands) göstermektedir.
Hisse Senedi Fiyatları: Grafikte mavi renkte gösterilen çizgi, Google hisse senedinin kapanış fiyatlarını temsil eder. Bu çizgi, hisse senedinin zaman içindeki fiyat hareketlerini gösterir.
Bollinger Bantları: Grafikte, hisse senedinin fiyatlarının 20 günlük basit hareketli ortalaması etrafında oluşturulan üst ve alt bantlar gösterilir. Bu bantlar, hisse senedinin tipik fiyat hareketlerinin bir ölçüsü olarak yorumlanabilir. Orta bant, fiyatların ortalama seviyesini temsil ederken, üst ve alt bantlar ise tipik olarak fiyatların standart sapmalarıyla belirlenen bir aralığı temsil eder. Bollinger Bantları, fiyatların aşırı alım veya aşırı satım durumlarını belirlemek için kullanılır. Örneğin, fiyatlar üst banda yaklaştığında aşırı alım sinyali olarak yorumlanabilir, alt banda yaklaştığında ise aşırı satım sinyali olarak yorumlanabilir.
Grafikte, hisse senedinin fiyatları ile Bollinger Bantları arasındaki ilişki gözlemlenebilir. Örneğin, fiyatlar üst banda yaklaştığında veya alt banda düştüğünde, bu genellikle fiyatların aşırı alım veya aşırı satım durumlarını gösterir ve potansiyel olarak ters yönde bir hareketin başlangıcını işaret edebilir.
Sonuç olarak, bu grafikte Google hisse senedinin fiyat hareketleri ve Bollinger Bantları arasındaki ilişki incelenir. Bu bilgiler, teknik analiz ve ticaret stratejileri geliştirmede kullanılabilir.
FRED örnekleri
Örnek1 ABD İşsizlik Oranı Verisi
FRED’den ABD işsizlik oranı verisini al
## [1] "UNRATE"
Grafik oluştur
ABD işsizlik oranı verisinin bir grafiği ve yorumu:
Grafikte gösterilen veri, ABD’nin işsizlik oranını göstermektedir. İşsizlik oranı, her ayın sonunda toplanan verilere dayanarak hesaplanır ve genellikle aylık olarak yayımlanır.
Grafiğin yukarı doğru yönlü eğimleri işsizlik oranındaki artışı temsil ederken, aşağı doğru eğimler işsizlik oranındaki azalışı temsil eder. Bu eğimler, ekonominin genel sağlığını ve istihdam durumunu yansıtır.
Özellikle grafikte dikkate değer olan yerler:
Zirve Noktaları: Grafikte işsizlik oranındaki zirve noktaları, genellikle ekonomik durgunluk veya resesyon dönemlerine işaret eder. Bu noktalar, işsizlik oranının yüksek olduğu ve iş piyasasının zayıf olduğu dönemlerdir.
Dip Noktaları: Grafikte işsizlik oranındaki dip noktaları, genellikle ekonomik iyileşme veya genişleme dönemlerine işaret eder. Bu noktalar, işsizlik oranının düştüğü ve iş piyasasının güçlendiği dönemlerdir.
Trendler: Grafikte uzun vadeli trendler de gözlemlenebilir. İşsizlik oranındaki uzun vadeli artış veya azalış eğilimleri, genellikle ekonominin genel sağlığını ve yapısal değişiklikleri yansıtır.
Sonuç olarak, ABD işsizlik oranı grafiği, ekonominin istihdam durumunu ve genel sağlığını anlamak için önemli bir araçtır. Bu grafik, işsizlik oranındaki trendleri ve dönemsel dalgalanmaları görselleştirir ve ekonomik politikaların etkisini değerlendirmek için kullanılabilir.
Durağan (Stationary) Zaman Serileri
Durağan zaman serileri, zaman serisi verilerindeki istatistiksel özelliklerin zamanla değişmediği veya zaman serisinin istatistiksel özelliklerinin sabit kaldığı durumlarda ortaya çıkar. Durağanlık, zaman serisinin analizinde önemli bir kavramdır, çünkü durağan olmayan zaman serileri üzerinde yapılan istatistiksel analizler güvenilir sonuçlar üretmeyebilir.
Durağan zaman serileri için bazı önemli özellikler şunlardır:
Sabit Ortalama: Zaman serisinin ortalama değeri zamanla değişmez. Yani, zaman serisi verilerinin ortalaması sabittir.
Sabit Varyans: Zaman serisinin varyansı zamanla değişmez. Yani, zaman serisi verilerinin varyansı sabittir.
Sabit Otokorelasyon: Zaman serisinin otokorelasyon fonksiyonu (ACF) zamanla değişmez. Yani, zaman serisinin önceki gözlemleri arasındaki ilişkiler sabittir.
Durağan olmayan zaman serileri ise bu özelliklere sahip değildir. Örneğin, zaman içindeki bir trend, mevsimsellik veya dönemsel dalgalanmalar, zaman serisinin durağan olmadığını gösterebilir. Durağanlık olmayan zaman serileri üzerinde istatistiksel analizler yaparken, durağanlık sağlamak için dönüşümler veya fark almak gibi yöntemler kullanılabilir.
Durağan zaman serileri, özellikle zaman serileri modellemesi ve tahmini gibi analizlerde kullanılan bir varsayımdır. Durağanlık sağlanmadığında, modelleme ve tahmin sonuçları yanıltıcı olabilir veya güvenilir olmayabilir. Bu nedenle, zaman serilerinin durağanlık özellikleri dikkate alınarak analiz edilmelidir.
Örnek ABD’nin GSYİH ve İSTİHDAM arasındaki durağanlık ilişkisi
- İlk adım olarak, R’de Dünya Bankası verilerini çekebilmek için
WDI
paketini kurmamız gerekiyor. Ardından, ABD’nin GSYİH ve istihdam verilerini indireceğiz.
- Şimdi, ABD’nin GSYİH ve istihdam verilerini Dünya Bankası’ndan
çekeceğiz. GSYİH için
NY.GDP.MKTP.CD
(GSYİH, cari ABD doları cinsinden) ve istihdam içinSL.EMP.TOTL.SP.ZS
(toplam istihdam, toplam işgücüne oranı olarak yüzde) kodlarını kullanacağız.
ABD_GSYIH <- WDI(country = "US", indicator = "NY.GDP.MKTP.CD", start = 1990, end = 2020)
ABD_istihdam <- WDI(country = "US", indicator = "SL.EMP.TOTL.SP.ZS", start = 1990, end = 2020)
- Şimdi, ABD’nin GSYİH ve istihdam verilerini birleştirelim ve bir durağan zaman serisi oluşturalım.
Verileri birleştir
Zaman serisini çıkar.
Grafik oluştur
# ABD GSYİH Zaman Serisi Grafiği
plot(ABD_zaman_serisi[, "NY.GDP.MKTP.CD"], type = "l", col = "blue",
main = "ABD GSYİH Zaman Serisi", ylab = "GSYİH (ABD Doları)",
xlab = "Yıl")
# ABD İstihdam Zaman Serisi Grafiği
plot(ABD_zaman_serisi[, "SL.EMP.TOTL.SP.ZS"], type = "l", col = "red",
main = "ABD İstihdam Oranı Zaman Serisi", ylab = "İstihdam Oranı (%)",
xlab = "Yıl")
Bu kodlar, ABD’nin GSYİH ve istihdam verilerini Dünya Bankası’ndan çeker, birleştirir, durağan bir zaman serisi oluşturur ve bu verilerin grafiklerini çizer. Bu grafik, GSYİH ve istihdamın zaman içindeki değişimini gösterir. Bu verileri durağanlık özelliklerini inceleyebilirsiniz.
Her bir serinin bir gecikmeli zaman serisi oluşturup otokorelasyonlarına bakabiliriz. Bu, seriler arasındaki zamansal ilişkileri incelememize yardımcı olabilir. İşte her bir seri için bir gecikmeli zaman serisi oluşturarak otokorelasyonlarını inceleyen bir R kodu:
Gecikmeli zaman serisi oluşturma fonksiyonu
lagged_series <- function(series, lag) {
lagged <- c(rep(NA, lag), series[1:(length(series)-lag)])
return(lagged)
}
NA değerlerini doldurma
ABD GSYİH için bir gecikmeli zaman serisi oluştur
ABD İstihdam için bir gecikmeli zaman serisi oluştur
Otokorelasyonları hesaplama
acf_GSYIH <- acf(ABD_zaman_serisi_filled[, "NY.GDP.MKTP.CD"], lag.max = 20, plot = FALSE)
acf_istihdam <- acf(ABD_zaman_serisi_filled[, "SL.EMP.TOTL.SP.ZS"], lag.max = 20, plot = FALSE)
Grafikler
ABD GSYİH için otokorelasyon grafiği
plot(acf_GSYIH, main = "ABD GSYİH Otokorelasyon Grafiği", xlab = "Gecikme (Lag)", ylab = "Otokorelasyon")
ABD İstihdam için otokorelasyon grafiği
plot(acf_istihdam, main = "ABD İstihdam Otokorelasyon Grafiği", xlab = "Gecikme (Lag)", ylab = "Otokorelasyon")
Bu kodlar, ABD’nin GSYİH ve istihdam verileri için bir gecikmeli zaman serisi oluşturur ve ardından her birinin otokorelasyonunu hesaplar ve grafiğini çizer. Otokorelasyon grafikleri, her bir serinin kendisi ile belirli bir gecikme (lag) arasındaki ilişkiyi gösterir. Bu, her bir serinin kendisi ile bir önceki zamana göre nasıl ilişkili olduğunu anlamamıza yardımcı olabilir.
İlk farkı almak için, her bir zaman serisinin ardışık gözlemleri arasındaki farkı hesaplamamız gerekmektedir. Bu, zaman serisinin birinci farkını elde etmemizi sağlar. Ardından, elde ettiğimiz ilk farkı alınmış zaman serisini kullanarak Phillips eğrisi regresyonunu yapabiliriz.
İlk farkı alınmış zaman serisi oluşturmak ve Phillips eğrisi regresyonunu yapmak için aşağıdaki adımları izleyebiliriz:
İlk farkı alınmış zaman serisini oluşturma fonksiyonu
ABD GSYİH için ilk farkı alınmış zaman serisini oluştur
ABD GSYİH için ilk farkı alınmış zaman serisi grafiği
ABD İstihdam için ilk farkı alınmış zaman serisini oluştur
ABD İstihdam için ilk farkı alınmış zaman serisi grafiği
Phillips eğrisi regresyonunu yapma
Regresyon sonuçlarını yazdırma
##
## Call:
## lm(formula = first_diff_istihdam ~ first_diff_GSYIH)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.60445 -0.41210 -0.02217 0.40428 1.14038
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.484e+00 2.341e-01 -6.338 7.40e-07 ***
## first_diff_GSYIH 2.686e-12 4.040e-13 6.648 3.26e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6353 on 28 degrees of freedom
## Multiple R-squared: 0.6121, Adjusted R-squared: 0.5983
## F-statistic: 44.19 on 1 and 28 DF, p-value: 3.265e-07
Bu kod, ABD’nin GSYİH ve istihdam verileri için ilk farkı alınmış
zaman serilerini oluşturur ve ardından Phillips eğrisi regresyonunu
yapar. lm
fonksiyonu, en küçük kareler yöntemini kullanarak
regresyon modelini tahmin eder. summary
fonksiyonu,
regresyon sonuçlarını yazdırır. Bu sayede, Phillips eğrisi regresyon
modelinin katsayıları, t istatistikleri ve p değerleri gibi bilgilere
erişebiliriz.
Regresyon modelinden tahmin edilen değerler
Gerçek ve tahmin edilen değerler arasındaki farklar
Hata payının grafiğini çizme
plot(residuals, type = "l", col = "green",
main = "Hata Payı (İlk Fark)", ylab = "Hata",
xlab = "Gozlem Sırası")
Bu hata payı grafiği, regresyon modelimizin performansını değerlendirmemize yardımcı olur. Grafikte, her bir gözlem için tahmin edilen değerler ile gerçek değerler arasındaki farklar gösterilir. İdeal bir durumda, bu farklar rasgele dağılır ve sıfıra yakın olmalıdır, yani modelimizin tahminleri gerçek değerlere yakın olur.
Grafiği incelediğimizde, eğer hata payı grafiği rasgele dağılmışsa ve genellikle sıfıra yakın değerlerde ise, modelin tahminlerinin genellikle doğru olduğunu ve modelin iyi bir uyum sağladığını söyleyebiliriz. Ancak, eğer grafikte belirgin bir desen veya yapı varsa, bu modelin bazı gözlemlerde hatalı tahminler yaptığı anlamına gelir.
Bu nedenle, hata payı grafiğini inceleyerek modelin performansını değerlendiririz ve modelin doğruluğunu ve güvenilirliğini belirlemeye çalışırız.
Hata terimlerinin otokorelasyonunu hesaplama
Bu otokorelasyon grafiği, hata terimlerinin zaman içindeki ilişkisini incelememize yardımcı olur. Grafikte, farklı gecikme (lag) değerleri için otokorelasyon katsayıları gösterilir. Eğer bir veya daha fazla gecikme değeri için otokorelasyon katsayısı istatistiksel olarak anlamlı ise, bu, hata terimlerinin zaman içinde birbirleriyle ilişkili olduğunu gösterebilir.
Grafikte, genellikle 0 gecikme değeri (lag) için otokorelasyon katsayısının 1’e yakın olduğunu görebiliriz. Bu, hataların kendileriyle yüksek bir otokorelasyona sahip olduğunu ve ardışık gözlemler arasında belirgin bir ilişki olduğunu gösterir. Bu durum, modelimizin doğru belirlenmemiş veya modelin zaman içinde sistemli olarak yanlış tahminler yaptığı anlamına gelebilir.
Otokorelasyon katsayılarının istatistiksel olarak anlamlı olup olmadığını da değerlendirmek önemlidir. Eğer bir veya daha fazla gecikme değeri için otokorelasyon katsayısı 95% güven aralığında anlamlı ise, bu, hataların birbirleriyle ilişkili olduğunu ve modelin iyileştirilmesi gerektiğini düşündürebilir. Ancak, eğer otokorelasyon katsayıları istatistiksel olarak anlamlı değilse, bu, hataların rasgele olduğunu ve modelin güvenilir olduğunu düşündürebilir.
Breusch-Godfrey testi, regresyon modelinin otokorelasyonunu
değerlendirmek için kullanılan bir testtir. Bu test, regresyon modelinin
hata terimlerinin otokorelasyonunu belirlemek için kullanılır ve daha
yüksek gecikme değerlerinde otokorelasyonun varlığını tespit etmek için
kullanılabilir. Breusch-Godfrey testini R’de uygulamak için
lmtest
paketini kullanabiliriz.
İşte Breusch-Godfrey testini R’de uygulamanın bir örneği:
lmtest paketini yükleme
install.packages(“lmtest”)
Breusch-Godfrey testini uygulama
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: phillips_reg
## LM test = 22.693, df1 = 1, df2 = 27, p-value = 5.747e-05
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: phillips_reg
## LM test = 13.7, df = 1, p-value = 0.0002145
Bu kod, lmtest
paketini yükler ve ardından
bgtest
fonksiyonunu kullanarak Breusch-Godfrey testini
uygular. phillips_reg
regresyon modelini ve
order
argümanını belirterek, testte kullanılacak gecikme
derecesini belirtiriz. Sonuçlar, otokorelasyonun varlığı veya yokluğu
hakkında bilgi sağlar. Eğer test istatistiği istatistiksel olarak
anlamlı ise, bu otokorelasyonun varlığını gösterebilir.
Bu iki testte de olaılık değerlerinin (p-value) çok küçük olduğunu görüyoruz. Bu hipotezimizin doğru olma ihtimalinin çok düşük olduğunu gösteriyor. Dolayısıyla otokorelasyonu yoktur hipotezini tamin ettiğimiz reddediyoruz.
Otokorelasyon mevcut olduğu için, regresyonun gerçek anlamlılık düzeylerini bulmak için başka bir hata payı değeri kullanmalıyız. Bunun için heteroskadastisite ve otokorelasyon düzelten (heteroskedasticity and autocorrelation consistent, HAC) standart hatalar kullanacağız. Bu aynı zamanda Newey-West hata payı olarak bilinir.
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.4837e+00 4.1062e-01 -3.6134 0.001172 **
## first_diff_GSYIH 2.6858e-12 4.9526e-13 5.4231 8.734e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Durağan Olmayan (Nonstationary) Zaman Serileri
Durağan olmayan (nonstationary) zaman serileri, istatistiksel özellikleri zamanla değişen zaman serileridir. Bu tür zaman serileri genellikle trend, mevsimsellik veya değişen varyans gibi belirgin yapılar içerir. Durağan olmayan zaman serileri, zamanla istatistiksel özelliklerinin değiştiği için modelleme ve tahminleme süreçlerinde zorluklar yaratabilir.
Bir zaman serisinin durağan olmayan olduğunu belirten bazı işaretler şunlar olabilir:
Trend: Zaman serisinin ortalama değerinde zamanla artan veya azalan bir eğilim varsa, bu durağan olmayan bir yapıdır.
Mevsimsellik: Zaman serisinin belirli zaman aralıklarında düzenli tekrarlanan desenler göstermesi durumunda, mevsimsellik vardır. Bu da zaman serisinin durağan olmayan olduğunu gösterebilir.
Değişen Varyans: Zaman serisinin varyansı zamanla değişiyorsa, yani zamanın ilerlemesiyle birlikte varyans artıyorsa veya azalıyorsa, bu durağan olmayan bir yapıdır.
Durağan olmayan zaman serileri, modelleme ve tahminleme süreçlerinde istenmeyen sonuçlara neden olabilir. Bu nedenle, durağan olmayan zaman serilerini durağan hale getirmek için çeşitli yöntemler kullanılabilir. Örneğin, bir zaman serisinin durağanlık özelliklerini elde etmek için fark alma veya dönüşüm yöntemleri kullanılabilir.
Durağan olmayan zaman serileri, ekonometrik ve finansal analiz, talep tahmini, iklim bilimi ve diğer birçok alanda karşılaşılan yaygın bir problemdir. Bu tür zaman serilerini modelleme ve analiz etmek için uygun tekniklerin kullanılması önemlidir.
Örnek ABD, ÇİN ve TÜRKİYE’nin işsizlik oranları
Gerekli paketleri yükleme
install.packages(“tidyverse”) install.packages(“readr”) install.packages(“wbstats”)
Paketleri yükleme
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ✔ readr 2.1.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ plm::between() masks dplyr::between()
## ✖ dplyr::filter() masks stats::filter()
## ✖ xts::first() masks dplyr::first()
## ✖ plm::lag() masks dplyr::lag(), stats::lag()
## ✖ xts::last() masks dplyr::last()
## ✖ plm::lead() masks dplyr::lead()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## ulke iso2c iso3c sene issizlik
## 1 China CN CHN 2020 5.00
## 2 China CN CHN 2019 4.56
## 3 China CN CHN 2018 4.31
## 4 China CN CHN 2017 4.47
## 5 China CN CHN 2016 4.56
## 6 China CN CHN 2015 4.65
Grafik çizelim.
## Warning: Removed 3 rows containing missing values or values outside the scale range
## (`geom_line()`).
Türkiye’nin verilerinin alalım.
TR <- issizlik[issizlik$ulke == "Turkiye", c("issizlik", "sene")]
TR <- TR[order(TR$sene), ]
print(TR)
## issizlik sene
## 62 NA 1990
## 61 8.11 1991
## 60 8.18 1992
## 59 8.25 1993
## 58 8.15 1994
## 57 7.24 1995
## 56 6.26 1996
## 55 6.45 1997
## 54 6.55 1998
## 53 7.45 1999
## 52 6.30 2000
## 51 8.37 2001
## 50 10.35 2002
## 49 10.55 2003
## 48 10.83 2004
## 47 10.63 2005
## 46 8.72 2006
## 45 8.87 2007
## 44 9.71 2008
## 43 12.55 2009
## 42 10.66 2010
## 41 8.80 2011
## 40 8.15 2012
## 39 8.73 2013
## 38 9.88 2014
## 37 10.24 2015
## 36 10.84 2016
## 35 10.82 2017
## 34 10.89 2018
## 33 13.67 2019
## 32 13.11 2020
TR verisetini daha önce anlatmış olduğumuz zaman serisi ts() fonksiyonunu kullanarak zaman serisi veri setine dönüştürelim. Ancak bu sefer sene’nin ne zaman başlayıp bittiğini bilmediğinizi varsayıyorum. Bu yüzden veri setinin başlangıç ve bitiş tarihlerini max ve min fonksiyonlarından yardım alarak yazalım.
Grafik inceleyelim.
ACF otokorelasyonu grafiğine bakalım. Sonra grafiği inceleyip açıklayalım.
Bu kod, Türkiye’nin işsizlik oranlarının otokorelasyonunu gösteren bir ACF grafiği çizer. Grafiği incelediğimizde:
- Grafiğin solundaki mavi çizgi, otokorelasyon katsayılarını temsil eder. Her bir gecikme değeri için otokorelasyonun ne kadar olduğunu gösterir.
- Grafikteki mavi bantlar, güven aralığını temsil eder. Bu bantlar, otokorelasyon katsayılarının istatistiksel olarak anlamlı olup olmadığını gösterir.
Grafiği inceleyerek işsizlik oranlarının geçmiş dönemlerle nasıl ilişkili olduğunu ve belirgin otokorelasyon paternlerini görebiliriz. Bu, işsizlik oranlarının gelecekteki eğilimlerini tahmin etmek için önemli bir gösterge olabilir.
Partial otokorelasyon grafiği, işsizlik oranlarının zamana bağlı olarak ne kadar otokorelasyona sahip olduğunu gösterir, ancak diğer gecikmelerin etkisini kontrol eder. Grafikteki mavi çizgiler, partial otokorelasyon katsayılarını temsil eder. Her bir gecikme değeri için işsizlik oranları arasındaki ilişkiyi gösterir.
Grafikte istatistiksel olarak anlamlı çizgiler olduğunda, bu, ilgili gecikme değerinin işsizlik oranları üzerinde önemli bir etkiye sahip olduğunu düşündürebilir. Görsel olarak, işsizlik oranlarının belirli gecikme değerleriyle ilişkili olduğunu ve diğer gecikmelerin etkisini dışladığını görebiliriz. Bu, işsizlik oranlarının gelecekteki eğilimlerini daha iyi anlamamıza yardımcı olabilir.
##
## Time series regression with "ts" data:
## Start = 1991, End = 2020
##
## Call:
## dynlm(formula = TR ~ L(TR, 1))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.86501 -0.43617 -0.07955 0.35139 2.86202
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.4688 1.1227 1.308 0.201
## L(TR, 1) 0.8576 0.1205 7.119 9.56e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.19 on 28 degrees of freedom
## Multiple R-squared: 0.6441, Adjusted R-squared: 0.6314
## F-statistic: 50.68 on 1 and 28 DF, p-value: 9.555e-08
İlk gecikme katsayısı 0.8576’dır.
##
## Time series regression with "ts" data:
## Start = 1992, End = 2020
##
## Call:
## dynlm(formula = TR ~ L(TR, 2))
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.8502 -1.4790 0.0103 0.9125 3.2741
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.5530 1.7777 1.999 0.05581 .
## L(TR, 2) 0.6452 0.1946 3.315 0.00262 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.701 on 27 degrees of freedom
## Multiple R-squared: 0.2892, Adjusted R-squared: 0.2629
## F-statistic: 10.99 on 1 and 27 DF, p-value: 0.002622
İkinci gecikme değeri ise 0.6452 olmuştur.
##
## Time series regression with "ts" data:
## Start = 1993, End = 2020
##
## Call:
## dynlm(formula = TR ~ L(TR, 3))
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9285 -1.4405 -0.2006 1.3507 3.3852
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.2538 2.0100 2.614 0.0147 *
## L(TR, 3) 0.4641 0.2218 2.093 0.0463 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.889 on 26 degrees of freedom
## Multiple R-squared: 0.1442, Adjusted R-squared: 0.1113
## F-statistic: 4.38 on 1 and 26 DF, p-value: 0.04626
Üçüncü gecikmede 0.4641 olarak bulundu. Üç örnekte de gördüğümüze göre git gide 1’den uzaklaşıp 0’a yaklaşıyor. Bu nedenle 0’a yaklaştıkça anlamlığını kaybediyor.
Random Walk örneği
Serilerin 300 gözlemi olsun.
hata payı rastgele olsun ve isimlerine a ve b diyelim. a ve b hata payları rastgele ve normal dağılıma sahip olsun.
y ismini vereceğimiz zaman serisi random walk bir yapıya sahip olacak ve bir önceki gecikmesine a hata payı eklenerek bulunacak.
x zaman serisi de aynı şekilde b hata payı eklenerek bulunacak.
Oluşturduğumuz iki rastgele zaman serisinin grafiklerine bakalım.
Şimdi bu iki rastgele oluşturulmuş zaman serisini regresyona sokalım. Tahmin edeceğiniz gibi bu iki serinin birbirleriyle bir ilişkisi yoktur ve regresyon sonucunun anlamsız çıkması beklenir. Ancak bu seriler random walk bir sürece sahip olduklarından ilişki anlamlı çıkacaktır. Sahte (spurious) regresyon örneğimiz
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.2870 -1.5344 -0.0587 1.4844 6.6793
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -6.6793 0.2511 -26.598 < 2e-16 ***
## x 0.1027 0.0325 3.161 0.00173 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.529 on 298 degrees of freedom
## Multiple R-squared: 0.03245, Adjusted R-squared: 0.0292
## F-statistic: 9.994 on 1 and 298 DF, p-value: 0.001732
İki zaman serisini regresyona sokabilmek ve gerçekten torumlayabileceğimiz bir regresyon sonucu elde edebilmek için, zaman serilerini durağan hale getirmemiz gerekir. Serilerin deltasını almak bu yöntemlerden biriydi.
##
## Time series regression with "ts" data:
## Start = 2, End = 300
##
## Call:
## dynlm(formula = d(y) ~ d(x))
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.0489 -0.6128 -0.1264 0.6760 2.0673
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.02805 0.05354 -0.524 0.601
## d(x) -0.07065 0.05641 -1.252 0.211
##
## Residual standard error: 0.9257 on 297 degrees of freedom
## Multiple R-squared: 0.005254, Adjusted R-squared: 0.001904
## F-statistic: 1.569 on 1 and 297 DF, p-value: 0.2114
Görüldüğü üzere bütün katsayıların bir anlamlılığı var ancak birbirinden farklı iki rastgele zaman serisi oluşturduğumuzun için anlamlıkları çok düşüktür.
Durağanlık testi (Dickey Fuller)
Dickey-Fuller birim kök testi (DF testi), bir zaman serisinin durağan olup olmadığını belirlemek için kullanılan bir istatistik testidir. Bu test, bir zaman serisinin birim kök (unit root) sürekliliğine sahip olup olmadığını değerlendirir. Bir zaman serisinin birim kök sürekliliğine sahip olması, serinin durağan olmadığı ve zaman içinde belirli bir eğilim veya yapıya sahip olduğu anlamına gelir.
DF testi, hipotez testine dayanır ve genellikle şu şekilde formüle edilir:
- Null Hipotezi (H0): Birim kök sürekliliği vardır (seri durağan değildir).
- Alternatif Hipotez (H1): Birim kök sürekliliği yoktur (seri durağandır).
DF testi, bir test istatistiğini hesaplar ve bu istatistiğin belirli bir dağılıma göre anlamlılığını değerlendirir. Eğer test istatistiği, belirli bir anlamlılık düzeyinde kritik değerden büyükse, null hipotezi reddedilir ve zaman serisi durağan olduğu sonucuna varılır. Aksi takdirde, null hipotezi reddedilemez ve zaman serisinin durağan olmadığı sonucuna varılır.
Bu testi uygulamak için R’deki ur.df()
fonksiyonunu
kullanabiliriz. Bu fonksiyon, DF testini gerçekleştirir ve sonuçları
döndürür.
##
## Augmented Dickey-Fuller Test
##
## data: x
## Dickey-Fuller = -2.2327, Lag order = 6, p-value = 0.4782
## alternative hypothesis: stationary
Olasılık değeri (p-value) 0.97 olarak bulduk. Bunu değerinin sıfır olma olasılığı olarak da adlandırabilirsiniz. Sonuç olarak hipotezimizi reddemedik ve serimiz durağan değildir.
##
## Augmented Dickey-Fuller Test
##
## data: y
## Dickey-Fuller = -3.862, Lag order = 6, p-value = 0.0163
## alternative hypothesis: stationary
y zaman serisi için durum farklı değil ve bu da durağan değildir.
##
## Augmented Dickey-Fuller Test
##
## data: TR
## Dickey-Fuller = -2.3566, Lag order = 3, p-value = 0.4355
## alternative hypothesis: stationary
Gördüğünüz gibi Türkiye’nin kişi başı işsizlik verisi de durağan değil. Bunu daha önce acf ve pacf grafiklerine bakarak da anlamıştık.
Bir diğer durağanlık testi, hipotezin durağan olduğunu öne süren kpss testidir. Bu durumda olasılık değeri (p-value) küçükse hipotezimizi reddetmemiz gerekir.
##
## KPSS Test for Level Stationarity
##
## data: TR
## KPSS Level = 0.7303, Truncation lag parameter = 2, p-value = 0.01079
Görüyoruz ki bu test de Dickey Fuller testi gibi, zaman serisinin durağan olmadığını söyler.
İlk farkı aldığımızda seri durağanlaşır mı?
Zaman serisinin ilk farkını alalım ve test yapalım.
##
## Augmented Dickey-Fuller Test
##
## data: Deltax
## Dickey-Fuller = -6.3551, Lag order = 6, p-value = 0.01
## alternative hypothesis: stationary
Görüldüğü üzere zaman serisinin ilk farkını aldığımız zaman seri durağanlaşabiliyor.