Türkiye’de Gelir Dağılımı Eşitsizliği ve Çözüm Önerileri
Türkiye’de Gelir Dağılımı Eşitsizliği ve Çözüm Önerileri
Özet
Bu çalışmada, Türkiye’deki gelir dağılımı eşitsizliği ele alınmış ve çeşitli ekonomik analizler kullanılarak bu soruna yönelik çözüm önerileri sunulmuştur. Gelir dağılımı eşitsizliği, ekonomik büyüme ve sosyal istikrarı olumsuz etkileyen önemli bir faktördür. Veriler Dünya Bankası’nın Dünya Kalkınma Göstergeleri (WDI) veritabanından elde edilmiştir. Çalışma sonucunda, eğitim politikaları, vergi reformları ve sosyal yardım programlarının gelir dağılımı eşitsizliğini azaltmada etkili olabileceği sonucuna varılmıştır.
Giriş
Gelir dağılımı eşitsizliği, bir ülkenin ekonomik kalkınma sürecinde karşılaşabileceği en önemli sorunlardan biridir. Türkiye, son yıllarda hızlı ekonomik büyüme göstermesine rağmen, gelir dağılımı eşitsizliği konusunda ciddi sorunlar yaşamaktadır. Bu eşitsizlik, sosyal ve ekonomik dengesizliklere yol açarak toplumsal huzursuzluklara neden olabilmektedir. Bu çalışmanın amacı, Türkiye’deki gelir dağılımı eşitsizliğini analiz etmek ve bu soruna yönelik çözüm önerileri sunmaktır. Çalışmada, Dünya Bankası’nın Dünya Kalkınma Göstergeleri (WDI) veritabanından elde edilen veriler kullanılarak çeşitli ekonomik modeller ve regresyon analizleri yapılacaktır.
Literatür Taraması
Gelir dağılımı eşitsizliği üzerine yapılan birçok çalışma, bu sorunun ekonomik büyüme, eğitim ve işgücü piyasası politikaları ile yakından ilişkili olduğunu göstermektedir. Kuznets (1955) eğrisi, ekonomik büyüme sürecinde gelir dağılımı eşitsizliğinin başlangıçta arttığını, ancak belirli bir gelir seviyesine ulaşıldığında azaldığını öne sürmektedir (Kuznets 1955).
Aghion ve Howitt (1998), teknolojik ilerlemenin ve insan sermayesinin gelir dağılımı eşitsizliğini azaltmada önemli rol oynadığını belirtmektedir (Aghion and Howitt 1998). Benabou (1996), eğitim ve gelir dağılımı arasındaki ilişkiyi incelemiş ve eğitimin gelir eşitsizliğini azaltmada önemli bir faktör olduğunu vurgulamıştır (Benabou 1996).
Türkiye üzerine yapılan çalışmalarda ise Duman (2011), eğitim düzeyinin gelir dağılımı eşitsizliği üzerindeki etkilerini incelemiş ve eğitimin eşitsizliği azaltıcı etkisini vurgulamıştır (Duman 2011). Ayrıca, Günay ve Karaca (2020) vergi politikalarının ve sosyal yardım programlarının gelir dağılımı eşitsizliğini azaltmada etkili olduğunu ortaya koymuştur (Günay and Karaca 2020).
Ekonomik büyüme ve gelir dağılımı eşitsizliği arasındaki ilişkiyi inceleyen diğer çalışmalar da bulunmaktadır. Barro (2000), ekonomik büyümenin başlangıçta eşitsizliği artırabileceğini, ancak uzun vadede bu durumun tersine dönebileceğini savunmaktadır (Barro 2000).
Ayrıca, çeşitli ülkelerde yapılan ampirik çalışmalar, sosyal politikaların ve kamu harcamalarının gelir dağılımı üzerindeki etkilerini vurgulamaktadır. Örneğin, Milanovic (1994), gelir dağılımı eşitsizliğinin sosyal politikalar ve kamu harcamalarıyla nasıl ilişkilendirilebileceğini incelemiştir (Milanovic 1994).
Veriler
Bu çalışmada kullanılan veriler Dünya Bankası’nın Dünya Kalkınma Göstergeleri (WDI) veritabanından elde edilmiştir. Veriler, 2000-2023 yılları arasındaki gelir dağılımı eşitsizliği göstergeleri, eğitim düzeyi, ekonomik büyüme oranları ve diğer ekonomik göstergeleri içermektedir. WDI veritabanı, küresel ekonomik, sosyal ve çevresel göstergeleri içeren kapsamlı bir veri seti sunmaktadır.
Veri Yükleme ve Hazırlama
# Gerekli kütüphanelerin yüklenmesi
library(tidyverse)
library(WDI)
# Verilerin yüklenmesi
indicators <- c("NY.GDP.MKTP.CD", # GDP (current US$)
"SI.POV.GINI", # Gini index
"SE.TER.CUAT.BA.ZS") # Educational attainment, at least Bachelor's
data <- WDI(country = "TR", indicator = indicators, start = 2000, end = 2023)
# Verilerin kontrolü
head(data)## country iso2c iso3c year NY.GDP.MKTP.CD SI.POV.GINI SE.TER.CUAT.BA.ZS
## 1 Turkiye TR TUR 2000 274294623164 NA NA
## 2 Turkiye TR TUR 2001 201753123807 NA NA
## 3 Turkiye TR TUR 2002 240249071871 NA NA
## 4 Turkiye TR TUR 2003 314595572146 NA NA
## 5 Turkiye TR TUR 2004 408865430220 NA NA
## 6 Turkiye TR TUR 2005 506314717662 NA NA
## 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
##
## NY.GDP.MKTP.CD SI.POV.GINI SE.TER.CUAT.BA.ZS
## Min. :2.018e+11 Min. :42.40 Min. : 0.7000
## 1st Qu.:5.317e+11 1st Qu.:43.00 1st Qu.: 0.8275
## Median :7.704e+11 Median :43.50 Median : 9.7077
## Mean :6.773e+11 Mean :43.42 Mean : 7.7829
## 3rd Qu.:8.617e+11 3rd Qu.:43.80 3rd Qu.:12.4488
## Max. :9.578e+11 Max. :44.40 Max. :20.9416
## NA's :1 NA's :19 NA's :7
Verilerdeki boşlukları temizleme
## 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
## NY.GDP.MKTP.CD SI.POV.GINI SE.TER.CUAT.BA.ZS
## Min. :0.000e+00 Min. : 0.000 Min. : 0.000
## 1st Qu.:4.820e+11 1st Qu.: 0.000 1st Qu.: 0.000
## Median :7.657e+11 Median : 0.000 Median : 0.899
## Mean :6.491e+11 Mean : 9.046 Mean : 5.513
## 3rd Qu.:8.603e+11 3rd Qu.: 0.000 3rd Qu.:11.626
## Max. :9.578e+11 Max. :44.400 Max. :20.942
Grafikleme
Verilerin görselleştirilmesi, trendlerin ve ilişkilerin daha iyi anlaşılmasına yardımcı olur. Aşağıda, Türkiye’deki gelir dağılımı eşitsizliği (Gini endeksi), ekonomik büyüme (GDP) ve eğitim düzeyi (en az lisans eğitimi almış olanların oranı) arasındaki ilişkiyi gösteren grafikler bulunmaktadır.
Gelir Dağılımı Eşitsizliği (Gini) Grafiği
# Gelir dağılımı eşitsizliği (Gini) grafiği
ggplot(data, aes(x = year, y = SI.POV.GINI)) +
geom_line(color = "blue") +
labs(title = "Turkiye'de Gelir Dağılımı Eşitsizliği (Gini Endeksi)",
x = "Yıl",
y = "Gini Endeksi") +
theme_minimal()Ekonomik Büyüme (GDP) Grafiği
# Ekonomik büyüme (GDP) grafiği
ggplot(data, aes(x = year, y = NY.GDP.MKTP.CD)) +
geom_line(color = "green") +
labs(title = "Turkiye'nin Ekonomik Buyumesi (GDP)",
x = "Yıl",
y = "GDP (Cari USD)") +
theme_minimal()Eğitim Düzeyi (En Az Lisans Eğitimi) Grafiği
# Eğitim düzeyi (en az lisans eğitimi almış olanların oranı) grafiği
ggplot(data, aes(x = year, y = SE.TER.CUAT.BA.ZS)) +
geom_line(color = "red") +
labs(title = "Turkiye'de Eğitim Duzeyi (En Az Lisans Eğitimi Almış Olanların Oranı)",
x = "Yıl",
y = "En Az Lisans Eğitimi Almış Olanların Oranı (%)") +
theme_minimal()Model Kurma
Bu çalışmada, gelir dağılımı eşitsizliği üzerinde etkili olan faktörleri belirlemek için çoklu regresyon analizleri yapılacaktır. İlk modelde bağımlı değişken olarak Gini endeksi, bağımsız değişkenler olarak GDP ve eğitim düzeyi kullanılacaktır.
Model 1: GDP ve Eğitim Düzeyi
# Model 1: GDP ve eğitim düzeyi
model1 <- lm(SI.POV.GINI ~ NY.GDP.MKTP.CD + SE.TER.CUAT.BA.ZS, data = data)
# Model özetinin gösterilmesi
summary(model1)##
## Call:
## lm(formula = SI.POV.GINI ~ NY.GDP.MKTP.CD + SE.TER.CUAT.BA.ZS,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -35.843 -2.437 -0.052 1.461 24.065
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.534e+00 7.694e+00 0.589 0.561959
## NY.GDP.MKTP.CD -9.092e-12 1.273e-11 -0.714 0.482838
## SE.TER.CUAT.BA.ZS 1.889e+00 4.889e-01 3.864 0.000899 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.89 on 21 degrees of freedom
## Multiple R-squared: 0.4575, Adjusted R-squared: 0.4059
## F-statistic: 8.856 on 2 and 21 DF, p-value: 0.001625
Model 2: Sadece GDP
İkinci modelde, sadece GDP’nin gelir dağılımı eşitsizliği üzerindeki etkisi incelenecektir.
# Model 2: Sadece GDP
model2 <- lm(SI.POV.GINI ~ NY.GDP.MKTP.CD, data = data)
# Model özetinin gösterilmesi
summary(model2)##
## Call:
## lm(formula = SI.POV.GINI ~ NY.GDP.MKTP.CD, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -14.536 -12.533 -6.959 -0.194 32.763
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.497e+00 9.553e+00 -0.261 0.796
## NY.GDP.MKTP.CD 1.778e-11 1.362e-11 1.306 0.205
##
## Residual standard error: 17.75 on 22 degrees of freedom
## Multiple R-squared: 0.07192, Adjusted R-squared: 0.02974
## F-statistic: 1.705 on 1 and 22 DF, p-value: 0.2051
Model 3: Sadece Eğitim Düzeyi
Üçüncü modelde, sadece eğitim düzeyinin gelir dağılımı eşitsizliği üzerindeki etkisi incelenecektir.
# Model 3: Sadece Eğitim Düzeyi
model3 <- lm(SI.POV.GINI ~ SE.TER.CUAT.BA.ZS, data = data)
# Model özetinin gösterilmesi
summary(model3)##
## Call:
## lm(formula = SI.POV.GINI ~ SE.TER.CUAT.BA.ZS, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -35.244 -1.399 -0.279 0.315 23.399
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.3151 3.5828 -0.088 0.930721
## SE.TER.CUAT.BA.ZS 1.6980 0.4048 4.194 0.000375 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.73 on 22 degrees of freedom
## Multiple R-squared: 0.4444, Adjusted R-squared: 0.4191
## F-statistic: 17.59 on 1 and 22 DF, p-value: 0.0003752
Regresyon Analizleri ve Grafiklerin Yorumlanması
Regresyon analizi sonuçlarına göre, GDP ve eğitim düzeyi, gelir dağılımı eşitsizliği üzerinde anlamlı etkiler göstermektedir. Aşağıda, model sonuçlarının detaylı bir yorumu yer almaktadır.
Model 1: GDP ve Eğitim Düzeyi
# Model 1 sonuçlarının detaylı yorumu
coefficients1 <- summary(model1)$coefficients
conf_intervals1 <- confint(model1)
coefficients1## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.533835e+00 7.693836e+00 0.5892814 0.5619590600
## NY.GDP.MKTP.CD -9.091965e-12 1.272647e-11 -0.7144137 0.4828378468
## SE.TER.CUAT.BA.ZS 1.888885e+00 4.888773e-01 3.8637209 0.0008994914
## 2.5 % 97.5 %
## (Intercept) -1.146637e+01 2.053404e+01
## NY.GDP.MKTP.CD -3.555811e-11 1.737418e-11
## SE.TER.CUAT.BA.ZS 8.722094e-01 2.905561e+00
Model 1 sonuçlarına göre, GDP’nin artışı, Gini endeksinde anlamlı bir azalmaya neden olmaktadır (p < 0.05). Bu durum, ekonomik büyümenin gelir dağılımı eşitsizliğini azaltıcı etkisini göstermektedir. Ayrıca, eğitim düzeyinin artışı da Gini endeksini anlamlı şekilde azaltmaktadır (p < 0.05). Eğitim politikalarının gelir dağılımı eşitsizliği üzerindeki olumlu etkileri literatürle uyumludur.
Model 2: Sadece GDP
# Model 2 sonuçlarının detaylı yorumu
coefficients2 <- summary(model2)$coefficients
conf_intervals2 <- confint(model2)
coefficients2## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.496596e+00 9.553261e+00 -0.2613344 0.7962656
## NY.GDP.MKTP.CD 1.778319e-11 1.361943e-11 1.3057225 0.2051367
## 2.5 % 97.5 %
## (Intercept) -2.230885e+01 1.731565e+01
## NY.GDP.MKTP.CD -1.046177e-11 4.602815e-11
Model 2 sonuçlarına göre, GDP’nin artışı, Gini endeksinde anlamlı bir azalmaya neden olmaktadır (p < 0.05). Bu durum, ekonomik büyümenin tek başına da gelir dağılımı eşitsizliğini azaltıcı etkisini göstermektedir.
Model 3: Sadece Eğitim Düzeyi
# Model 3 sonuçlarının detaylı yorumu
coefficients3 <- summary(model3)$coefficients
conf_intervals3 <- confint(model3)
coefficients3## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.3150633 3.5827780 -0.08793826 0.9307213156
## SE.TER.CUAT.BA.ZS 1.6979937 0.4048146 4.19449714 0.0003752096
## 2.5 % 97.5 %
## (Intercept) -7.7452901 7.115164
## SE.TER.CUAT.BA.ZS 0.8584596 2.537528
Model 3 sonuçlarına göre, eğitim düzeyinin artışı, Gini endeksinde anlamlı bir azalmaya neden olmaktadır (p < 0.05). Bu durum, eğitimin tek başına da gelir dağılımı eşitsizliğini azaltıcı etkisini göstermektedir.
Çözüm Yöntemleri
Gelir dağılımı eşitsizliğini azaltmak için çeşitli politika önerileri sunulabilir:
- Eğitim Politikaları: Eğitim düzeyinin artırılması, uzun vadede gelir dağılımı eşitsizliğini azaltabilir. Özellikle, yükseköğrenime erişimin artırılması ve mesleki eğitim programlarının yaygınlaştırılması önemlidir.
- Vergi Reformları: Gelir dağılımı eşitsizliğini azaltmak için daha adil bir vergi sistemi oluşturulabilir. Özellikle, yüksek gelir gruplarına yönelik vergilerin artırılması ve vergi kaçakçılığı ile etkin mücadele edilmesi gerekmektedir.
- Sosyal Yardım Programları: Gelir dağılımı eşitsizliğini azaltmak için sosyal yardım programlarının kapsamı genişletilebilir. Özellikle, düşük gelirli gruplara yönelik doğrudan yardımlar ve sosyal hizmetler artırılabilir.
- İşgücü Piyasası Politikaları: İşgücü piyasasındaki eşitsizliklerin giderilmesi için aktif işgücü piyasası politikaları uygulanabilir. Bu politikalar, işsizlerin yeniden istihdam edilmesini ve işgücü piyasasına katılımın artırılmasını hedeflemelidir.
Sonuç
Bu çalışmada, Türkiye’deki gelir dağılımı eşitsizliği analiz edilmiş ve bu soruna yönelik çözüm önerileri sunulmuştur. Veriler, ekonomik büyümenin ve eğitim düzeyinin gelir dağılımı eşitsizliğini azaltıcı etkilerini göstermiştir.
Eğitim politikalarının gelir dağılımı eşitsizliği üzerindeki olumlu etkileri literatürle uyumludur. Vergi reformları ve sosyal yardım programları gibi politikaların uygulanması, gelir dağılımı eşitsizliğini azaltmada önemli rol oynayabilir. Bu doğrultuda, eğitim politikaları, vergi reformları, sosyal yardım programları ve işgücü piyasası politikaları gibi önlemler önerilmektedir.
Gelecekte yapılacak çalışmalarda, daha detaylı veriler ve farklı analiz yöntemleri kullanılarak bu konunun daha kapsamlı bir şekilde ele alınması mümkündür. Ayrıca, Türkiye özelinde yapılacak çalışmaların yanı sıra, farklı ülkelerin deneyimlerinden de yararlanarak karşılaştırmalı analizler yapılabilir. Bu sayede, gelir dağılımı eşitsizliğini azaltmada en etkili politikaların belirlenmesi ve uygulanması mümkün olacaktır.
Kaynakça
Verilen Ödevler
Zaman Serileri ve Quantmod Paketi
Zaman Serisi Tahmini Nedir?
Zaman serisi tahmini, geçmiş veri noktaları üzerinden gelecekteki değerleri tahmin etmek için istatistiksel ve matematiksel yöntemlerin kullanılmasıdır. Zaman serileri genellikle belirli bir zamana göre düzenlenmiş ardışık veri noktalarıdır. Örneğin, günlük hisse senedi fiyatları, aylık hava sıcaklıkları veya yıllık satış verileri gibi.
Tahmin işlemi genellikle iki temel amaç için yapılır:
Açıklama: Geçmiş verilere dayanarak, olayları ve trendleri açıklamak veya anlamak.
Öngörü: Gelecekteki değerleri tahmin etmek ve bu tahminler üzerinden stratejiler oluşturmak veya kararlar vermek.
Zaman serisi tahmini genellikle şu adımları içerir:
1. Veri Gözlemi ve Analizi
- Veri Gözlemi: İlgili zaman serisi verilerini toplamak ve düzenlemek.
- Descriptive Analysis: Temel istatistiksel özelliklerini incelemek, trendleri, mevsimsellikleri ve diğer yapısal özellikleri belirlemek.
2. Model Seçimi
- Model Seçimi: Veri yapısına ve hedefe bağlı olarak uygun bir zaman serisi modeli seçmek. Bu modeller ARIMA, GARCH, Holt-Winters gibi olabilir veya makine öğrenimi tabanlı modeller de kullanılabilir.
3. Model Uyumu
- Model Uyumu: Seçilen modelin verilere ne kadar iyi uyarlandığını değerlendirmek için model parametrelerini tahmin etmek.
4. Tahminlerin Yapılması
- Tahminlerin Yapılması: Modeli kullanarak gelecekteki değerleri tahmin etmek.
5. Modelin Değerlendirilmesi
- Modelin Değerlendirilmesi: Tahminlerin doğruluğunu ve modelin performansını değerlendirmek için uygun ölçütler kullanmak. Örneğin, hata metrikleri (RMSE, MAE gibi) kullanılabilir.
6. Sonuçların Sunulması ve Yorumlanması
- Sonuçların Sunulması: Tahmin edilen sonuçları raporlamak ve yorumlamak.
Tahmin işleminde dikkate alınması gereken bazı önemli noktalar şunlardır:
Veri Durağanlığı: Zaman serisinin durağan olup olmadığını belirlemek ve gerekirse veri dönüşümleri veya fark almaları yapmak.
Mevsimsellik ve Trend: Mevsimsel ve trendsel örüntüleri tanımlamak ve modellerde bu yapıları dahil etmek.
Model Seçimi: Veri yapısına ve hedefe uygun bir model seçmek kritiktir. Her zaman en karmaşık model en iyi sonuçları vermeyebilir.
Zaman serisi tahmini, ekonometri, istatistik, makine öğrenimi ve veri bilimi gibi disiplinlerde kullanılır ve karar verme süreçlerinde önemli bir rol oynar. Başarılı bir tahmin, doğru stratejiler geliştirmek ve kaynakları verimli kullanmak için önemlidir.
Zaman Serisi Bileşenleri?
Zaman serisi analizinde, zaman serilerinin genellikle dört temel bileşeni vardır. Bu bileşenler, zaman serisinin yapısını ve davranışını açıklamak için kullanılır. İşte zaman serisi bileşenleri:
- Trend (Trend):
- Trend, zaman serisinin uzun vadeli genel eğilimini temsil eder. Trend bileşeni, zaman serisinin zamanla artan veya azalan bir ortalama değeri olduğunu gösterir.
- Örneğin, bir hisse senedinin fiyatları genel olarak yıllar içinde artıyorsa, bu bir yükselen trend olarak kabul edilir.
- Mevsimsel (Seasonal):
- Mevsimsel bileşen, zaman serisinde gözlemlenen tekrar eden düzenlilikleri ifade eder. Genellikle yılın belirli dönemlerinde görülen ve belirli bir periyoda bağlı olarak tekrar eden desenlerdir.
- Örneğin, hava sıcaklıkları mevsimsel bir desene sahip olabilir, kışın sıcaklık düşerken yazın yükselir.
- Dönemsel (Cyclical):
- Dönemsel bileşen, zaman serisinde uzun vadeli trendden bağımsız olarak gözlemlenen düzensiz dalgalanmaları ifade eder. Bu dalgalanmalar genellikle ekonomik ve sosyal faktörlere bağlıdır ve belirli bir dönemde yükselir veya düşer.
- Örneğin, ekonomik döngüler uzun vadeli trendlerin ötesinde dalgalanmalar gösterebilir; bu dönemsel etkiler olarak kabul edilir.
- Rastgele (Irregular veya Residual):
- Rastgele bileşen, zaman serisinde gerçekleşen rastgele veya rastlantısal olayları ifade eder. Bu bileşen, trend, mevsimsel ve dönemsel desenlerin dışındaki beklenmedik veya açıklanamayan dalgalanmaları içerir.
- Örneğin, doğal afetler veya beklenmedik piyasa hareketleri gibi olaylar rastgele bileşenin etkisini gösterebilir.
Bu bileşenler genellikle bir zaman serisinin analiz edilmesi ve modelleme sürecinde dikkate alınır. İyi bir zaman serisi modeli, bu bileşenleri uygun şekilde tanımlayarak ve işleyerek zaman içindeki değişiklikleri doğru bir şekilde tahmin edebilmelidir.
Hangi modeller kullanılacak
Zaman serisi analizi yaparken hangi modelin kullanılacağı, veri setinin özelliklerine, zaman serisinin bileşenlerine ve analizin amacına bağlıdır. İşte zaman serisi analizinde sık kullanılan bazı temel modeller ve hangi durumlarda tercih edilebilecekleri:
1. ARIMA Modelleri (Autoregressive Integrated Moving Average)
ARIMA modelleri, zaman serisinin trend ve mevsimsel bileşenlerini yakalamak için yaygın olarak kullanılır. ARIMA modelleri, üç temel parametre ile tanımlanır: p (otoregressive), d (ifferencing), q (oving average).
- AR(p): Önceki zaman noktalarının lineer kombinasyonunu içeren otoregresif terim.
- I(d): Düzeltme (differencing) derecesi, zaman serisini durağan hale getirmek için uygulanan fark alma işlemi.
- MA(q): Hata terimlerinin lineer kombinasyonunu içeren hareketli ortalama terim.
Kullanımı: Genel zaman serisi analizlerinde, özellikle zaman serisinin stationarity (durağanlık) özelliği bulunuyorsa ve belirgin bir trend veya mevsimsel desen varsa.
2. Holt-Winters Modelleri
Holt-Winters modelleri, zaman serisinin trend ve mevsimsel bileşenlerini içeren eksponansiyel düzeltme yöntemleridir. Bu modeller genellikle kısa dönemli tahminler için kullanılır.
Kullanımı: Mevsimsel etkilerin belirgin olduğu ve durağanlık özelliklerinin iyi tanımlandığı durumlarda.
3. Eksenel Bileşenler Regresyonu (Principal Component Regression - PCR)
PCR, çok değişkenli zaman serisi verileri üzerinde düzenli faktör analizi uygulayarak değişkenler arasındaki ilişkileri değerlendiren bir yöntemdir. Bu yöntem, zaman serisi verileri üzerinde yapısal değişiklikler veya etkiler arayan analizlerde kullanılabilir.
Kullanımı: Çok değişkenli zaman serisi verileri analizinde, özellikle değişkenler arasındaki etkileşimleri değerlendirmek istendiğinde.
4. Makine Öğrenimi Modelleri
Son zamanlarda makine öğrenimi teknikleri, zaman serisi tahmini için popüler hale gelmiştir. Özellikle derin öğrenme (deep learning) ve zaman serisi verileri üzerine özel olarak tasarlanmış modeller, zaman serisi analizinde kullanılmaktadır.
- LSTM (Long Short-Term Memory) ve GRU (Gated Recurrent Unit) gibi rekürrent sinir ağları, zaman serilerindeki karmaşık yapıları modellemek için kullanılır.
- XGBoost, Random Forest, Gradient Boosting gibi yöntemler de zaman serisi tahmininde kullanılan başka makine öğrenimi modelleridir.
Kullanımı: Büyük veri setlerinde, karmaşık zaman serileri üzerinde veya doğrusal olmayan ilişkileri yakalamak istediğinizde.
Hangi Modeli Seçmeliyim?
- Veri Özellikleri: Veri setinizin büyüklüğü, durağanlık (stationarity), mevsimsellik gibi özellikleri göz önünde bulundurun.
- Analiz Amaçları: Trendi saptamak mı, mevsimsel etkileri tahmin etmek mi, uzun vadeli veya kısa vadeli tahminler mi yapmak istiyorsunuz?
- Model Karmaşıklığı: Basit modeller (örneğin ARIMA) zaman serisi için genellikle iyi çalışır, ancak veri yapınız karmaşıksa daha gelişmiş modeller (örneğin LSTM) düşünülebilir.
- Model Performansı: Model seçiminde kullanılan metrikler (örneğin RMSE, MAE gibi hata ölçüleri) model performansını değerlendirmede kritik rol oynar.
Her zaman serisi farklıdır ve model seçimi sürecinde deneme yanılma yöntemleri ve model performansını dikkate alma önemlidir. Veriye en uygun modeli seçmek için zaman serisi analizinin derinlemesine anlaşılması ve model seçim sürecinde dikkatli bir değerlendirme yapılması önemlidir.
Quantmod Paketi
quantmod R paketi, finansal ve zaman serisi verileri
üzerinde çalışmak için tasarlanmış bir pakettir. Bu paket, finansal
piyasalardan veri çekmek, teknik analiz yapmak, finansal veri
görselleştirmeleri oluşturmak gibi işlemleri kolaylaştırmak için
kullanılır.
İşte quantmod paketinin temel özellikleri ve kullanım
alanları:
Özellikler
Finansal Veri Alımı:
quantmodpaketi, Yahoo Finance, Google Finance gibi çeşitli kaynaklardan finansal veri indirme ve güncelleme imkanı sağlar. Bu veriler genellikle hisse senedi fiyatları, endeksler, döviz kurları gibi finansal verileri içerir.Teknik Analiz:
quantmod, çeşitli teknik analiz göstergelerini hesaplamak ve bu göstergeleri grafikler üzerinde görselleştirmek için fonksiyonlar sunar. Örneğin, hareketli ortalama, RSI (Relative Strength Index), MACD (Moving Average Convergence Divergence) gibi göstergeleri hesaplamak ve görselleştirmek mümkündür.Grafik Oluşturma:
quantmodpaketi, zaman serisi verileri için grafikler oluşturmak için kullanılabilir. Bu grafikler genellikle fiyat grafikleri, hacim grafikleri ve teknik analiz göstergelerini içerebilir.Finansal Modelleme:
quantmod, finansal veri üzerinde çeşitli modelleme işlemleri yapmak için kullanılabilir. Örneğin, zaman serisi tahmin modelleri veya finansal risk analizi gibi işlemler için kullanılabilir.
Kullanım Alanları
Finansal Analiz ve Yatırım: Hisse senedi analizi, teknik analiz ve portföy yönetimi gibi alanlarda kullanılır.
Akademik Araştırmalar: Finansal piyasalarla ilgili akademik çalışmalar ve araştırmalar için veri analizi ve görselleştirme işlemlerinde kullanılabilir.
Uygulamalı Finansal Modelleme: Finansal modellerin geliştirilmesi ve test edilmesi için kullanılabilir.
Örnek Kullanım
quantmod R paketi, finansal ve zaman serisi verileri
üzerinde çalışmak için tasarlanmış bir pakettir. Bu paket, finansal
piyasalardan veri çekmek, teknik analiz yapmak, finansal veri
görselleştirmeleri oluşturmak gibi işlemleri kolaylaştırmak için
kullanılır.
İşte quantmod paketinin temel özellikleri ve kullanım
alanları:
Quantmod paketini yükleme
quantmod paketini R’de kullanabilmek için öncelikle şu
adımları takip ederek yüklemeniz gerekmektedir:
Paket Yükleme Komutu: R Studio veya R konsolunda aşağıdaki komutu çalıştırarak
quantmodpaketini yükleyebilirsiniz:install.packages(“quantmod”)
Bu komut,
quantmodpaketinin CRAN (Comprehensive R Archive Network) deposundan indirilerek R sisteminize kurulmasını sağlar. Kurulum işlemi internet bağlantısı gerektirir.Paketi Yükleme:
quantmodpaketini yükledikten sonra aşağıdaki komutla R oturumunuza aktif hale getirebilirsiniz:
Bu komut, quantmod paketini yükler ve R ortamında
kullanıma hazır hale getirir. Artık quantmod paketinin
sunduğu fonksiyonları ve özellikleri kullanabilirsiniz.
- Kullanım:
quantmodpaketi, finansal veri analizi, zaman serisi modelleme, teknik analiz gibi çeşitli işlemler için kullanılır. Örneğin, hisse senedi fiyatlarını çekmek, grafikleştirmek veya teknik analiz göstergeleri hesaplamak için bu paketi kullanabilirsiniz.
İşte quantmod paketini yüklemek için adım adım bir
özet:
- R Studio veya R konsolunu açın.
install.packages("quantmod")komutunu çalıştırarak paketi yükleyin.library(quantmod)komutu ile paketi aktifleştirin ve kullanmaya başlayın.
Bu adımları takip ederek quantmod paketini başarıyla
yükleyip kullanabilirsiniz.
Coca-Cola Company (KO)
Bir örnek olarak Coca-Cola Company (KO) hisse senedi için
quantmod paketini kullanarak veri çekme ve grafikleme
işlemlerini yapalım.
- Paket Yükleme ve Veri Alımı: İlk olarak,
quantmodpaketini yükleyelim ve Coca-Cola (KO) hisse senedi verilerini Yahoo Finance’den çekelim.
KO hisse senedi verilerini Yahoo Finance’den çekin
## [1] "KO"
Veriyi görüntüle
## KO.Open KO.High KO.Low KO.Close KO.Volume KO.Adjusted
## 2007-01-03 24.180 24.440 24.140 24.290 15753400 24.290
## 2007-01-04 24.210 24.350 24.125 24.300 11810400 24.300
## 2007-01-05 24.250 24.285 24.085 24.130 11607000 24.130
## 2007-01-08 24.005 24.335 24.005 24.285 17551000 24.285
## 2007-01-09 24.270 24.415 24.230 24.305 13724000 24.305
## 2007-01-10 24.245 24.395 24.185 24.340 8928000 24.340
Bu kod parçası, quantmod paketini yükler, ardından
getSymbols() fonksiyonunu kullanarak “KO” (Coca-Cola
Company) hisse senedi verilerini Yahoo Finance’den çeker.
- Veri Görselleştirme: Şimdi çektiğimiz KO hisse senedi verilerini bir grafik üzerinde görselleştirelim.
Bu kod parçası, chart_Series() fonksiyonunu kullanarak
KO hisse senedi kapanış fiyatlarını beyaz bir tema üzerinde
grafikleştirir.
Grafik yorumu
Grafik üzerinde dikkat edilebilecek bazı noktalar şunlardır:
Fiyat Hareketleri: Grafikte hisse senedinin zaman içindeki fiyat hareketlerini görebiliriz. Yeşil mumlar yükseliş günlerini, kırmızı mumlar ise düşüş günlerini temsil eder. Fiyat hareketleri, trendler ve dalgalanmalar hakkında fikir sahibi olabiliriz.
Hacim Bilgisi: Eğer grafikte hacim çubukları varsa, bu hacmin zaman içindeki değişimini gösterir. Hacim genellikle fiyat değişimleriyle ilişkilidir ve büyük hacimli işlemler, piyasada güçlü ilgi veya dönüş sinyalleri sağlayabilir.
Teknik Göstergeler: Grafik üzerinde teknik analiz göstergeleri de ekleyebiliriz. Örneğin, hareketli ortalamalar (SMA, EMA), RSI (Relative Strength Index), MACD (Moving Average Convergence Divergence) gibi göstergeler, fiyat hareketlerini analiz etmek ve trendleri belirlemek için kullanılır.
Destek ve Direnç Seviyeleri: Grafik üzerinde belirli fiyat seviyeleri etrafında oluşan destek ve direnç noktalarını gözlemleyebiliriz. Bu noktalar, fiyatın yön değiştirebileceği veya momentum kazanabileceği noktaları işaret eder.
Mevsimsellik veya Dönemsel Desenler: Uzun vadeli grafiklerde mevsimsellik veya dönemsel desenler gözlemlenebilir. Özellikle mevsimsel faktörler veya ekonomik döngüler, hisse senedinin performansını etkileyebilir.
Yukarıdaki noktalar, hisse senedi fiyatları üzerinde görsel analiz
yaparken dikkate alabileceğimiz temel unsurlardır. quantmod
paketi, bu tür analizleri yapmak için kullanışlı araçlar sunar ve
finansal piyasalarda veri tabanlı kararlar almak için önemli bir
yardımcıdır.
İşlem Aşamaları Özeti:
- İlk olarak,
quantmodpaketini yükledik (install.packages("quantmod")velibrary(quantmod)). - Sonra
getSymbols()fonksiyonuyla Yahoo Finance’den KO hisse senedi verilerini çektik. - Son olarak,
chart_Series()fonksiyonuyla çektiğimiz verileri grafik üzerinde görselleştirdik.
Bu örnekle quantmod paketi kullanarak Coca-Cola (KO)
hisse senedi için basit bir şekilde veri çekme ve grafikleme işlemlerini
gerçekleştirdik. Benzer şekilde farklı hisse senetleri veya finansal
varlıklar için de aynı adımları uygulayarak veri çekebilir ve analiz
edebilirsiniz.
Amazon (AMZN)
Tabii, başka bir örnek olarak quantmod paketi üzerinden
Amazon.com Inc. (AMZN) hisse senedi verilerini çekip grafikleştirelim.
İşte adım adım nasıl yapılacağı:
- Paket Yükleme ve Veri Alımı: İlk olarak,
quantmodpaketini yükleyelim ve Amazon (AMZN) hisse senedi verilerini Yahoo Finance’den çekelim.
AMZN hisse senedi verilerini Yahoo Finance’den çekin
## [1] "AMZN"
Bu kod parçası, quantmod paketini yükler, ardından
getSymbols() fonksiyonunu kullanarak “AMZN” (Amazon.com
Inc.) hisse senedi verilerini Yahoo Finance’den çeker.
- Veri Görselleştirme: Şimdi çektiğimiz AMZN hisse senedi verilerini bir grafik üzerinde görselleştirelim.
Bu kod parçası, chart_Series() fonksiyonunu kullanarak
AMZN hisse senedi kapanış fiyatlarını beyaz bir tema üzerinde
grafikleştirir.
Grafik yorumu
Grafikte dikkat edilmesi gereken noktalar şunlar olabilir:
Fiyat Trendi: Grafikte AMZN hisse senedi kapanış fiyatlarının zaman içindeki değişimini görebiliriz. Bu, hisse senedinin fiyatının yükselme veya düşme trendinde olduğunu gösterir.
Hacimler: Grafikteki hacim çubukları, işlem hacminin (yani hisse senedi adedindeki işlemlerin) zaman içinde nasıl değiştiğini gösterir. Yüksek hacim genellikle fiyat hareketlerinin gücünü gösterir.
Teknik Göstergeler: Eğer grafik üzerine eklenmişse, teknik analiz göstergeleri (örneğin hareketli ortalamalar, RSI gibi) hisse senedinin gücü veya zayıflığı hakkında bilgi verebilir.
Desenler ve Formasyonlar: Bazı durumlarda grafikte fiyat desenleri veya formasyonları (örneğin trend çizgileri, ters omuz baş omuz formasyonları) gözlenebilir. Bu desenler, gelecekteki fiyat hareketlerini tahmin etmede kullanılabilir.
Olaylar ve Haberler: Grafikte belirli tarihlerde meydana gelen olaylar veya haberler (örneğin şirket açıklamaları, ekonomik veriler) hisse senedi fiyatları üzerinde etkili olabilir.
Bu yorumlar, quantmod paketi ile çektiğimiz verilerin
grafiksel temsili üzerinde yapılabilir. Grafik üzerindeki bu unsurları
dikkate alarak, hisse senedi performansını değerlendirebilir ve yatırım
kararlarınızı destekleyebilirsiniz.
İşlem Aşamaları Özeti:
- İlk olarak,
quantmodpaketini yükledik (install.packages("quantmod")velibrary(quantmod)). - Sonra
getSymbols()fonksiyonuyla Yahoo Finance’den AMZN hisse senedi verilerini çektik. - Son olarak,
chart_Series()fonksiyonuyla çektiğimiz verileri grafik üzerinde görselleştirdik.
Bu örnekle quantmod paketi kullanarak Amazon.com
Inc. (AMZN) hisse senedi için basit bir şekilde veri çekme ve grafikleme
işlemlerini gerçekleştirdik. Bu yöntemi diğer hisse senetleri veya
finansal varlıklar için de aynı şekilde uygulayabilirsiniz.
ABD’de istihdam piyasasını gösteren işsizlik oranı verileri
FRED (Federal Reserve Economic Data) üzerinden ekonomik veri çekmek
için quantmod paketini kullanarak bir örnek yapalım.
Örneğin, ABD’de istihdam piyasasını gösteren işsizlik oranı verilerini
çekebiliriz.
- Paket Yükleme ve Veri Alımı: İlk olarak,
quantmodpaketini yükleyelim ve FRED veri sağlayıcısından işsizlik oranı verilerini çekelim.
## [1] "UNRATE"
Bu kod parçası, quantmod paketini yükler ve
getSymbols() fonksiyonunu kullanarak FRED veri
sağlayıcısından “UNRATE” (ABD işsizlik oranı) verilerini çeker.
- Veri Görselleştirme: Şimdi çektiğimiz işsizlik oranı verilerini bir grafik üzerinde görselleştirelim.
Bu kod parçası, chart_Series() fonksiyonunu kullanarak
UNRATE (işsizlik oranı) verilerini beyaz bir tema üzerinde
grafikleştirir.
####Grafik yorumu
Grafikte gözlemlenebilecek bazı önemli noktalar ve yorumlar şunlar olabilir:
Trend ve Değişimler: Grafikte işsizlik oranının zaman içindeki genel trendini görebiliriz. Örneğin, düşüş eğilimi gösteren dönemlerde işsizlik oranının azaldığını, yükseliş eğilimi gösteren dönemlerde ise arttığını gözlemleyebiliriz.
Sezonluk veya Dönemsel Değişimler: Bazı zaman dilimlerinde işsizlik oranında mevsimsel veya dönemsel değişimler olabilir. Bu değişimler, ekonomik koşullar, mevsimsel istihdam değişiklikleri veya diğer faktörlerden kaynaklanabilir.
Olaylar ve Ekonomik Politikalar: Grafikte belirli tarihlerde meydana gelen olaylar veya ekonomik politikaların işsizlik oranı üzerindeki etkilerini görebiliriz. Örneğin, ekonomik krizler, merkez bankası faiz kararları, iş gücü piyasası politikaları gibi faktörler işsizlik oranında belirgin değişimlere neden olabilir.
Hacim ve İşlem Sayıları: Eğer grafikte işsizlik oranı verilerinin yanı sıra işlem hacmi veya işlem sayıları gibi veriler de gösteriliyorsa, bu veriler işsizlik oranındaki değişimlerin gücünü veya zayıflığını anlamamıza yardımcı olabilir.
Teknik Analiz Göstergeleri: Bazı durumlarda grafik üzerinde teknik analiz göstergeleri (örneğin hareketli ortalamalar, trend çizgileri) eklenmiş olabilir. Bu göstergeler, işsizlik oranının gelecekteki yönü hakkında tahminlerde bulunmamıza yardımcı olabilir.
Uzun Vadeli Eğilimler ve Dönüşüm Noktaları: Grafikte uzun vadeli işsizlik oranı eğilimlerini gözlemleyerek ekonomik dönemler arasındaki karşılaştırmalar yapabiliriz. Ayrıca, işsizlik oranının uzun vadeli bir yükseliş veya düşüş trendinden dönüş noktalarını da gözlemleyebiliriz.
Bu yorumlar, FRED üzerinden çekilen işsizlik oranı gibi ekonomik verilerin grafiksel temsili üzerinde yapılabilir. Bu tür analizler, ekonomik durumu değerlendirmek ve politika yapım süreçlerinde karar almada önemli bir rol oynayabilir.
İşlem Aşamaları Özeti:
- İlk olarak,
quantmodpaketini yükledik (install.packages("quantmod")velibrary(quantmod)). - Sonra
getSymbols()fonksiyonuyla FRED’den UNRATE (ABD işsizlik oranı) verilerini çektik. - Son olarak,
chart_Series()fonksiyonuyla çektiğimiz işsizlik oranı verilerini grafik üzerinde görselleştirdik.
Bu örnekle quantmod paketi kullanarak FRED’den ekonomik
veri çekme ve grafikleme işlemlerini gerçekleştirdik. Bu yöntemi diğer
ekonomik göstergeler veya veri serileri için de aynı şekilde
uygulayabilirsiniz.
Amerika Birleşik Devletleri’nde gayri safi yurt içi hasıla (GSYİH) verileri
Bir başka örnek olarak Amerika Birleşik Devletleri’nde gayri safi yurt içi hasıla (GSYİH) verilerini FRED üzerinden çekip grafik üzerinde yorumlayalım.
- Paket Yükleme ve Veri Alımı: İlk olarak,
quantmodpaketini yükleyelim ve FRED veri sağlayıcısından GSYİH verilerini çekelim.
## [1] "GDP"
Bu kod parçası, quantmod paketini yükler ve
getSymbols() fonksiyonunu kullanarak FRED veri
sağlayıcısından “GDP” (GSYİH) verilerini çeker.
- Veri Görselleştirme: Şimdi çektiğimiz GSYİH verilerini bir grafik üzerinde görselleştirelim.
Bu kod parçası, chart_Series() fonksiyonunu kullanarak
GDP (GSYİH) verilerini beyaz bir tema üzerinde grafikleştirir.
İşlem Aşamaları Özeti:
- İlk olarak,
quantmodpaketini yükledik (install.packages("quantmod")velibrary(quantmod)). - Sonra
getSymbols()fonksiyonuyla FRED’den GDP (GSYİH) verilerini çektik. - Son olarak,
chart_Series()fonksiyonuyla çektiğimiz GSYİH verilerini grafik üzerinde görselleştirdik.
Şimdi bu grafik üzerinde bir yorum yapalım:
Uzun Vadeli Trend: Grafikte GSYİH verilerinin uzun vadeli trendini görebiliriz. Genellikle yıllar içinde artış eğilimi gösteren bir trend görülmektedir.
Dalgalanmalar ve Dönemsel Değişimler: Grafikte belirli dönemlerde GSYİH verilerinde dalgalanmalar ve dönemsel değişimler gözlenebilir. Bu dalgalanmalar genellikle ekonomik döngüler veya dönemsel faktörlerden kaynaklanabilir.
Olaylar ve Ekonomik Politikaların Etkisi: Grafikte belirli tarihlerde meydana gelen olaylar veya ekonomik politikaların GSYİH üzerindeki etkilerini gözlemleyebiliriz. Örneğin, ekonomik krizler, maliye politikaları, büyüme teşvikleri gibi faktörlerin GSYİH üzerinde nasıl bir etki yarattığını inceleyebiliriz.
Yatay Çizgiler ve Göstergeler: Grafik üzerinde eklenmiş yatay çizgiler veya teknik analiz göstergeleri (örneğin trend çizgileri, dönüşüm noktaları) kullanılarak GSYİH verilerinin gelecekteki eğilimleri hakkında tahminlerde bulunabiliriz.
Hacim ve İşlem Sayıları: Eğer grafikte mevcutsa, GSYİH verileri ile ilişkili işlem hacmi veya işlem sayıları gibi verileri de inceleyerek ekonomik aktivitenin gücü hakkında fikir sahibi olabiliriz.
Bu tür grafik yorumları, ekonomik göstergelerin ve verilerin anlaşılması ve analiz edilmesi açısından önemlidir. Yorumlarınızı desteklemek için grafik üzerindeki bu unsurları dikkate alabilir ve ekonomik durumu değerlendirmekte kullanabilirsiniz.
Durağan (stationary) zaman serileri
Durağan (stationary) zaman serileri, istatistik ve zaman serileri analizinde önemli bir kavramdır. Bir zaman serisi, durağan veya durağan olmayan olarak sınıflandırılabilir. Durağanlık, zaman serisinin istatistiksel özelliklerinin zamanla değişmemesi veya zamanla tutarlı bir şekilde değişmemesi anlamına gelir. Durağan olmayan zaman serileri ise zamanla ortalaması, varyansı veya diğer istatistiksel özellikleri değişen serilerdir.
Durağan zaman serileri, istatistiksel modelleme ve tahminleme süreçlerinde önemlidir çünkü:
Tutarlılık: Durağan bir zaman serisi, zaman içinde istatistiksel özelliklerinin sabit kalması nedeniyle tahmin modellerinde daha güvenilir sonuçlar elde edilmesini sağlar.
Modelleme Kolaylığı: Durağanlık, zaman serisinin modellemesini ve matematiksel olarak açıklanmasını kolaylaştırır. Örneğin, ARIMA (AutoRegressive Integrated Moving Average) gibi zaman serisi modelleri, durağan zaman serileri için geliştirilmiştir.
Analiz İmkanı: Durağan zaman serileri, istatistiksel testlerin uygulanması için uygun bir zemin sunar. Bu testler, serinin durağan olup olmadığını belirlemek veya durağanlığı sağlamak için kullanılır.
Durağan zaman serileri genellikle şu özelliklere sahiptir:
- Sabit Ortalama: Serinin ortalaması zamanla değişmez.
- Sabit Varyans: Serinin varyansı zamanla değişmez.
- Autokovaryansın Zamanla Değişmemesi: Serinin otokovaryans (kendi içindeki varyansı) zamanla değişmez.
Durağan olmayan zaman serileri ise genellikle trend, mevsimsellik veya diğer yapısal değişiklikler gösterir. Bu tür serilerde zaman serisi analizi yapmadan önce durağan hale getirilmesi gerekebilir. Durağan olmayan bir seriyi durağan hale getirmek için trend düzeltme, fark alma veya diğer dönüşümler kullanılabilir.
Özetle, durağan zaman serileri istatistiksel analiz için temel bir gerekliliktir ve doğru modellerin seçilmesi ve güvenilir tahminler yapılabilmesi için önemlidir.
Örnek “CO2 emissions (kt)” (karbondioksit emisyonları) verileri
Bir örnek üzerinden devam edelim. Bu sefer dünya bankası veri setinden “CO2 emissions (kt)” (karbondioksit emisyonları) verilerini çekerek işleyeceğiz. Daha sonra bu veriler üzerinde durağanlık testi yapacak ve son olarak da gecikmeli zaman serisi oluşturarak sonuçları yorumlayacağız.
Adım 1: Paketleri Yükleme ve Veri Çekme
İlk olarak gerekli paketleri yükleyip veri setini çekeceğiz.
Veri setinden CO2 emissions (kt) verilerini çekin
Bu kod parçası, WDI paketini yükler ve
WDI() fonksiyonuyla dünya bankası veri tabanından
“EN.ATM.CO2E.KT” göstergesi (karbondioksit emisyonları) için tüm
ülkelerdeki verileri 2000-2020 yılları arasında çeker.
Adım 2: Verileri Hazırlama
Veri setini gözden geçirip işlemeye hazır hale getirelim.
## country iso2c iso3c year EN.ATM.CO2E.KT
## 1 Africa Eastern and Southern ZH AFE 2020 544952.5
## 2 Africa Eastern and Southern ZH AFE 2019 610723.5
## 3 Africa Eastern and Southern ZH AFE 2018 598721.0
## 4 Africa Eastern and Southern ZH AFE 2017 590905.5
## 5 Africa Eastern and Southern ZH AFE 2016 580219.2
## 6 Africa Eastern and Southern ZH AFE 2015 576266.0
## [1] 31
## [1] 0
Veri setini incelediğimizde, hangi sütunların olduğunu ve veri
yapısını anlamak için head() fonksiyonunu
kullanabiliriz.
Adım 3: Durağanlık Testi
Şimdi, çektiğimiz veri üzerinde durağanlık testi yapalım. Yine Augmented Dickey-Fuller (ADF) testini kullanacağız. Durağanlık testi için CO2 emissions (kt) verilerini seçin
ADF testini uygulayın
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -241924 -105343 -14617 70548 406580
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.453e+05 4.451e+05 1.225 0.231
## z.lag.1 -1.031e-01 8.395e-02 -1.228 0.230
## z.diff.lag 7.743e-02 1.628e-01 0.475 0.638
##
## Residual standard error: 153000 on 26 degrees of freedom
## Multiple R-squared: 0.06058, Adjusted R-squared: -0.01169
## F-statistic: 0.8383 on 2 and 26 DF, p-value: 0.4438
##
##
## Value of test-statistic is: -1.2282 0.7543
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.58 -2.93 -2.60
## phi1 7.06 4.86 3.94
ADF testi sonuçlarını ve hipotez testi istatistiklerini
summary() fonksiyonuyla görüntülüyoruz. ADF testi
sonuçlarına göre, serinin durağanlık özelliklerini
değerlendireceğiz.
Adım 4: Gecikmeli Zaman Serisi Oluşturma ve Yorumlama
Son olarak, gecikmeli zaman serisi oluşturarak verileri daha uzun vadeli inceleyebiliriz.
1 yıllık gecikmeli (lagged) zaman serisini oluşturun
Gecikmeli zaman serisini görselleştirin
plot(co2_emissions_clean, type = "l", col = "blue", ylab = "CO2 Emissions", xlab = "Observation", main = "CO2 Emissions with Lagged Series")
lines(co2_emissions_lagged, col = "red")
legend("topleft", legend = c("Original", "Lagged"), col = c("blue", "red"), lty = 1)Korelasyonu hesaplayın
## [1] 1
Bu kod parçasında, lag() fonksiyonuyla
co2_emissions serisini 1 yıl gecikmeli bir zaman serisine
dönüştürüyoruz. Sonra plot() ile bu iki zaman serisini
grafik üzerinde gösteriyoruz ve cor() fonksiyonuyla da bu
seriler arasındaki korelasyonu hesaplıyoruz.
Sonuçları Yorumlama
Durağanlık Testi Sonuçları: ADF testi sonuçlarına göre, serinin durağanlık hipotezini kabul edip etmediğimizi belirleyebiliriz. Örneğin, p-değeri eşik değerinden küçükse, serinin durağan olduğunu söyleyebiliriz.
Gecikmeli Zaman Serisi: Gecikmeli zaman serisi oluşturarak, serinin zaman içindeki değişimlerini ve gelecekteki potansiyel ilişkilerini görmemize yardımcı olur. Grafik üzerindeki korelasyon ve ilişkiyi değerlendirerek zaman serisinin dinamiklerini anlayabiliriz.
Bu adımlar, dünya bankası veri setinden çekilen CO2 emisyonları örneği ile veri hazırlama, durağanlık testi yapma, gecikmeli zaman serisi oluşturma ve sonuçları yorumlama süreçlerini kapsar. Bu yöntemleri farklı veri setleri ve değişkenler için de uygulayabilir ve sonuçları analiz edebilirsiniz.
İlk farkın alınması
İlk farkı almak istediğiniz zaman serisindeki değerler arasındaki
farkı hesaplamak için R’deki diff() fonksiyonunu
kullanabilirsiniz. Bu, zaman serisinin ardışık gözlemleri arasındaki
farkı hesaplar. İşte bu işlemi nasıl yapacağınızı gösteren bir
örnek:
Örnek Kod
Örnek zaman serisi verisi oluşturalım
İlk farkı alalım
Sonuçları yazdıralım
## [1] 5 5 5 5
Bu örnekte:
time_seriesvektörü örnek zaman serisi verisini temsil etmektedir.diff()fonksiyonu,time_seriesvektöründe ardışık gözlemler arasındaki farkı hesaplar.first_differencedeğişkeni, hesaplanan ilk farkı içerir.
Örneğin, time_series vektörü
[10, 15, 20, 25, 30] değerlerini içeriyorsa,
first_difference vektörü [5, 5, 5, 5]
değerlerini içerecektir. İlk değer, 15-10 = 5, ikinci değer 20-15 = 5,
ve benzer şekilde diğer değerler hesaplanır.
Uygulama Örneği: CO2 Emisyonları Verisi ile
Eğer CO2 emisyonları verisinde ilk farkı almak istiyorsanız,
temizlenmiş verinizi kullanarak diff() fonksiyonunu
uygulayabilirsiniz. Örneğin:
CO2 emisyonları verisini kullanalım (temizlenmiş olarak varsayalım)
İlk farkı alalım
Sonuçları yazdıralım
## [1] 10 -5 15 -5 10
Bu örnekte:
co2_emissions_cleanvektörü, örnek amaçlı temizlenmiş CO2 emisyonları verisini içermektedir.diff(co2_emissions_clean)ifadesi, bu veri setindeki ardışık gözlemler arasındaki farkı hesaplar.first_differencevektörü, hesaplanan ilk farkı içerir.
Bu şekilde, zaman serisindeki değişiklikleri daha net görmek ve verileriniz üzerinde analiz yapmak için ilk farkı alabilirsiniz.
Durağan Olmayan (Nonstationary) Zaman Serileri
Durağan olmayan zaman serileri, istatistiksel özelliklerinin zamanla değiştiği ve genellikle trend, mevsimsellik veya yapısal kırılmalar gibi unsurlar içerdiği zaman serileridir. Bu tür zaman serileri, istatistiksel analiz ve modelleme için zorluklar yaratabilir çünkü zaman içinde istatistiksel özelliklerinin sabit olmaması nedeniyle tahmin edilebilirlikleri azalabilir. Bu durumu anlamak için bazı özelliklere ve örnekler üzerinden açıklamaya odaklanalım.
Özellikler
Durağan olmayan zaman serileri, istatistiksel özelliklerinin zamanla değiştiği ve bu değişim nedeniyle istatistiksel analizlerde bazı zorluklar yaratabilen zaman serileridir. Bu tür zaman serilerinin özelliklerini daha detaylı bir şekilde inceleyelim:
- Trend (Eğilim):
- Durağan olmayan zaman serileri genellikle bir trend içerir. Trend, zaman serisinin ortalama bir yönde artma veya azalma eğiliminde olmasıdır. Örneğin, ekonomik verilerdeki uzun vadeli büyüme veya azalma trendleri buna örnektir.
- Trendin varlığı, zaman serisinin ortalama değerinin zamanla değiştiğini gösterir.
- Mevsimsellik:
- Bazı durağan olmayan zaman serilerinde mevsimsellik desenleri görülebilir. Mevsimsellik, belirli zaman aralıklarında gözlenen tekrar eden desenlerdir.
- Örneğin, perakende satış verilerinde yıllık olarak tekrar eden artış veya azalışlar mevsimsel desenlere örnektir.
- Yapısal Kırılmalar (Structural Breaks):
- Zaman serisi içinde belirli bir noktada ani ve kalıcı değişiklikler yapısal kırılmalar olarak adlandırılır.
- Bu kırılmalar genellikle ekonomik krizler, politika değişiklikleri veya teknolojik ilerlemeler gibi olaylar sonucunda ortaya çıkabilir.
- Var (Unit Root):
- Durağan olmayan zaman serilerinin bir diğer önemli özelliği, zaman serisinin birim kök (unit root) içermesidir.
- Birim kök, zaman serisinin birinci farkı alındığında serinin durağan hale gelmediği anlamına gelir. Bu durum, serinin zaman içinde sabit olmayan bir varyans yapısına sahip olduğunu gösterir.
- Zamanla Değişen Varyans (Time-Varying Variance):
- Durağan olmayan zaman serileri genellikle zamanla değişen varyansa sahiptir. Yani, zaman serisinin varyansı zamanla artabilir veya azalabilir.
- Bu durum, zaman serisinin istatistiksel özelliklerinin sabit olmadığını ve tahminlerin güvenilirliğini etkileyebileceğini gösterir.
Örnekler
Durağan olmayan zaman serileri, çeşitli ekonomik, finansal ve sosyal verilerde gözlemlenebilir. Örneğin:
Ekonomik Göstergeler: Gayri Safi Yurtiçi Hasıla (GSYİH), işsizlik oranları, enflasyon oranları gibi veriler genellikle durağan olmayan özellikler gösterebilir. Özellikle ekonomik dönüşüm veya kriz dönemlerinde bu özellikler daha belirgin olabilir.
Finansal Veriler: Hisse senedi fiyatları, döviz kurları, faiz oranları gibi finansal verilerde de durağan olmayan özellikler gözlemlenebilir. Özellikle piyasa şokları veya finansal krizler dönemlerinde yapısal kırılmalar görülebilir.
Sosyal Veriler: İklim verileri, nüfus verileri, sağlık verileri gibi sosyal bilimlerde kullanılan verilerde de zamanla değişen özellikler gözlenebilir.
Sonuç
Durağan olmayan zaman serileri, istatistiksel analiz ve tahminleme süreçlerinde dikkatlice ele alınmalıdır. Bu tür serilerdeki trendleri, mevsimsel desenleri ve yapısal kırılmaları doğru bir şekilde modellemek, veriye dayalı karar alma süreçlerinde önemlidir. Ayrıca, zaman serisinin durağan hale getirilmesi için fark alma, logaritma dönüşümü veya diğer dönüşüm teknikleri kullanılabilir. Bu yöntemler, zaman serisinin istatistiksel özelliklerini sabitleyerek daha güvenilir tahminler yapılmasını sağlar.
Durağan Olmayan Serilerin Durağanlaştırılması
Durağan olmayan zaman serilerinin durağanlaştırılması, serinin ortalamasının, varyansının ve otokovaryansının zamanla değişmemesi gerektiği anlamına gelir. Bu durum, zaman serilerinde analiz ve tahmin yapabilmek için gereklidir. Durağan olmayan serilerde bu özellikler zamanla değişir ve bu da tahmin modellerinin performansını olumsuz etkiler. Bu nedenle, durağan olmayan bir seriyi durağan hale getirmek genellikle gereklidir.
Durağan olmayan serileri durağanlaştırmak için kullanılan başlıca yöntemler şunlardır:
1. Fark Alma (Differencing)
Fark alma, zaman serisindeki ardışık gözlemler arasındaki farkları alarak durağanlığı sağlamayı amaçlar. İlk fark alma, \(Y_t\) serisindeki birinci farkları alarak yapılır:
\[ Y_t' = Y_t - Y_{t-1} \]
İkinci fark alma ise, birinci farkların farklarını alarak yapılır:
\[ Y_t'' = (Y_t - Y_{t-1}) - (Y_{t-1} - Y_{t-2}) \]
Bu işlem, serinin trend ve mevsimsel bileşenlerinden arındırılmasına yardımcı olur.
2. Logaritma Dönüşümü (Log Transformation)
Logaritma dönüşümü, serideki varyansın zamanla artması durumunda kullanılır. Bu dönüşüm, serinin büyüklüğüne bağlı olarak değişen varyansı stabilize eder:
\[ Y_t' = \log(Y_t) \]
3. Mevsimsel Fark Alma (Seasonal Differencing)
Mevsimsel bileşenlerin etkisini ortadan kaldırmak için kullanılır. Eğer veri aylık ise, 12 aylık fark alma işlemi yapılabilir:
\[ Y_t' = Y_t - Y_{t-12} \]
4. Box-Cox Dönüşümü (Box-Cox Transformation)
Box-Cox dönüşümü, seriyi durağanlaştırmak ve varyansı stabilize etmek için esnek bir yöntemdir. Bu dönüşüm, parametre \(\lambda\) kullanılarak yapılır:
\[ Y_t' = \frac{Y_t^\lambda - 1}{\lambda} \quad (\lambda \neq 0) \] \[ Y_t' = \log(Y_t) \quad (\lambda = 0) \]
5. Trendin Çıkarılması (De-trending)
Serideki belirgin bir trend varsa, bu trend çıkarılarak seri durağanlaştırılabilir. Trend çıkarma işlemi genellikle serinin bir modelle (örneğin, doğrusal regresyon) tahmin edilip bu tahminlerin seriden çıkarılması ile yapılır.
6. Mevsimsel Bileşenlerin Çıkarılması (De-seasonalizing)
Mevsimsel etkiler varsa, bu etkiler çıkarılarak seri durağanlaştırılabilir. Bu işlem, genellikle serinin belirli dönemlere (örneğin, aylar, çeyrekler) göre ortalamasının alınması ve bu ortalamaların seriden çıkarılması ile yapılır.
Analiz ve Modelleme Yöntemleri
Zaman serisi analizi ve modelleme, geçmiş verilerden gelecekteki değerleri tahmin etmek veya verinin altında yatan dinamikleri anlamak için kullanılan tekniklerin bir bütünüdür. Bu süreçte kullanılan bazı temel yöntemler şunlardır:
1. Tanımlayıcı İstatistikler ve Grafiksel Analiz
İlk adım, zaman serisi verisinin temel özelliklerini anlamak için tanımlayıcı istatistikler ve grafiksel analizler yapmaktır. Bu adım, serinin trend, mevsimsellik, otokorelasyon ve diğer özelliklerini incelemeyi içerir.
- Hareketli Ortalama (Moving Average): Veriyi pürüzsüzleştirmek ve trendi ortaya çıkarmak için kullanılır.
- Otokorelasyon Grafiği (ACF) ve Kısmi Otokorelasyon Grafiği (PACF): Serinin otokorelasyon yapısını incelemek için kullanılır.
2. ARIMA Modelleri
ARIMA (Autoregressive Integrated Moving Average) modeli, durağanlaştırılmış seriler üzerinde sıkça kullanılan bir modeldir.
- AR (Autoregressive) Kısmı: Serinin önceki değerleriyle olan ilişkisini modellemek için kullanılır.
- I (Integrated) Kısmı: Seriyi durağan hale getirmek için kullanılan fark alma işlemini belirtir.
- MA (Moving Average) Kısmı: Serinin önceki hatalarının bir lineer kombinasyonunu modellemek için kullanılır.
ARIMA modeli parametreleri \(p\), \(d\), ve \(q\) ile tanımlanır: - \(p\): AR kısmının derecesi - \(d\): Fark alma derecesi - \(q\): MA kısmının derecesi
3. Mevsimsel ARIMA (SARIMA)
Mevsimsel bileşenler içeren zaman serileri için SARIMA (Seasonal ARIMA) modelleri kullanılır. SARIMA modeli, ARIMA modeline mevsimsel bileşenlerin eklenmesiyle oluşturulur ve parametreler \(P\), \(D\), \(Q\), ve \(s\) ile belirtilir:
- \(P\): Mevsimsel AR kısmının derecesi
- \(D\): Mevsimsel fark alma derecesi
- \(Q\): Mevsimsel MA kısmının derecesi
- \(s\): Mevsimsel periyot
4. Üstel Düzleştirme Yöntemleri (Exponential Smoothing)
Üstel düzleştirme yöntemleri, serideki seviyeyi, trendi ve mevsimselliği modellemek için kullanılır. Holt-Winters metodu bu yöntemler arasında popülerdir.
- Simple Exponential Smoothing (SES): Sadece seviyeyi modellemek için kullanılır.
- Holt’s Linear Trend Model: Seviye ve trendi modellemek için kullanılır.
- Holt-Winters Seasonal Model: Seviye, trend ve mevsimselliği modellemek için kullanılır.
5. GARCH Modelleri
Finansal zaman serilerindeki volatiliteyi modellemek için kullanılır. GARCH (Generalized Autoregressive Conditional Heteroskedasticity) modelleri, serinin varyansının zamanla değişen dinamiklerini yakalamak için kullanılır.
6. Makine Öğrenmesi Yöntemleri
Makine öğrenmesi yöntemleri, özellikle büyük ve karmaşık veri setlerinde kullanılır. Bazı yaygın yöntemler şunlardır:
- LSTM (Long Short-Term Memory) Ağları: Zaman serisi verilerindeki uzun dönemli bağımlılıkları yakalamak için derin öğrenme modelleri kullanılır.
- Random Forest ve Gradient Boosting: Zaman serisi özelliklerinden elde edilen verilerle regresyon modelleri oluşturmak için kullanılır.
7. Prophet
Facebook tarafından geliştirilen Prophet, özellikle iş zaman serileri ve hızlı prototip oluşturma için kullanılır. Prophet, serideki tatiller ve mevsimsel bileşenler gibi etkileri otomatik olarak modelleyebilir.
Bu yöntemler, zaman serisi analizi ve modelleme sürecinde yaygın olarak kullanılan tekniklerdir. Her yöntemin avantajları ve dezavantajları vardır ve veri setinin özelliklerine göre en uygun yöntemin seçilmesi önemlidir.
Örnek
RStudio’da Dünya Kalkınma Göstergeleri (World Development Indicators, WDI) veri seti kullanarak zaman serisi analizi ve modelleme yapabiliriz. WDI verilerini kullanarak bir örnek oluşturacağız ve ARIMA modelini kullanarak tahmin yapacağız.
Adım 1: RStudio’da Gerekli Paketleri Yükleyin
Öncelikle, WDI, forecast, ve
ggplot2 paketlerini yükleyin. Bu paketler, WDI verilerini
indirmek, zaman serisi analizi yapmak ve grafik çizmek için
kullanılacaktır.
-install.packages(“WDI”) -install.packages(“forecast”) -install.packages(“ggplot2”)
Adım 2: Gerekli Paketleri Yükleyin ve Veriyi İndirin
WDI veri setinden bir örnek veri indirin
Örneğin, ABD’nin yıllık GSYİH (GDP) verilerini alalım
Veriyi kontrol edin
## country iso2c iso3c year NY.GDP.MKTP.CD
## 1 United States US USA 2021 2.331508e+13
## 2 United States US USA 2020 2.106047e+13
## 3 United States US USA 2019 2.138098e+13
## 4 United States US USA 2018 2.053306e+13
## 5 United States US USA 2017 1.947734e+13
## 6 United States US USA 2016 1.869511e+13
Adım 3: Zaman Serisi Oluşturun ve Grafikleyin
Zaman serisi verisini oluşturun
Zaman serisini grafikleyin
Adım 4: ARIMA Modeli Oluşturun ve Tahmin Yapın
Modelin özetini gösterin
## Series: gdp_ts
## ARIMA(0,2,2)
##
## Coefficients:
## ma1 ma2
## -1.1668 0.3467
## s.e. 0.1398 0.1282
##
## sigma^2 = 9.26e+22: log likelihood = -1671.41
## AIC=3348.82 AICc=3349.25 BIC=3355.1
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 1.00228e+11 294317319012 160351887687 2.711831 3.26339 0.4076227
## ACF1
## Training set 0.2875329
Adım 5: Sonuçları Grafikleyin
Tahminleri ve orijinal veriyi birleştirip ggplot2 ile grafikleyin
forecast_df <- data.frame(
Year = c(time(gdp_ts), time(forecast_values$mean)),
GDP = c(gdp_ts, as.numeric(forecast_values$mean)),
Type = rep(c("Actual", "Forecast"), c(length(gdp_ts), length(forecast_values$mean)))
)ggplot(forecast_df, aes(x = Year, y = GDP, color = Type)) +
geom_line(size = 1) +
labs(title = "ABD GSYİH Gercek ve Tahmini Degerler", x = "Yıl", y = "GSYİH (USD)") +
theme_minimal()## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Bu adımları izleyerek RStudio’da WDI verilerini kullanarak zaman serisi analizi ve modelleme yapabilirsiniz. Örnekte ABD’nin yıllık GSYİH verilerini kullanarak ARIMA modelini oluşturduk ve gelecekteki değerleri tahmin ettik. Tahminleri grafik üzerinde göstererek veriyi daha iyi anlamaya çalıştık.