Bu bölümde kullanacağımız yöntemler makine öğrenimi konusunun altında da geçmektedir. Eğer elimizde düzenli olarak kaydedilen veriler varsa, bu verileri kullanarak gelecek olan düzenli gözlemi tahmin etmeye çalışabiliriz. Örneğin, GSYH her çeyrekte ve her yıl açıklanmaktadır. Biz bugüne kadar olan, GSYH verilerini kullanarak, gelecek yılın veya gelecek çeyreğin GSYH verisini tahmin etmeye çalışabiliriz. Aynı durum hisse senedi fiyatları, döviz kurları veya benzeri veriler içinde geçerli olabilir.
\[\left[\begin{array} {rrr} 10.8944272 & -0.4472136 \\ -0.4472136 & -0.8944272 \\ \end{array}\right] \left[\begin{array} {rrr} 10 & 0 \\ 0 & 5 \\ \end{array}\right] \]
Bu tahmini yapabilmek için zaman serilerinin yapısını iyi anlamamız gerekir. Zaman serileri 4 ana bileşenden oluşur.
Pek çok zaman serisi zaman içinde değişecektir, iktisadi değişkenler ise zaman içinde artma eğilimindedirler. Trendler özellikle iki zaman serisini karşılaştırıken önemlidir. Eğer zamana göre artan iki zaman serisi alırsanız, ikisi arasında var olmayan bir korelasyon gösterebilirsiniz. Örneğin bir ülkenin GSYH’si sürekli artma eğilimi gösteriyorsa ve siz bu veriyi Afrikaya düşen birikerek artan yağmur suyu oranıyla karşılaştırırsanız var olmayan bir korelasyona ulaşabilirsiniz.
Bir veri seti dönemsel hareket kalıpları gösterebilir. Örneğin, dondurma satışları havalar sıcak olduğunda artıyorsa ve soğuk olduğunda düşüyorsa, dondurma satış sayısı zaman serisinin, yazları artış gösteren, kışları düşen ve bu hareket kalıbını sürekli tekrar eden bir yapıya sahip olduğunu gözlemleyebiliriz.
Eğer zaman serisi düz bir çizgi olsaydı, seviyesinin ne olacağını gösterir.
Zaman serisinde oluşan rastgele dalgalanmaları anlatır. Bu dalgalanmalar rastgeledir ve zaman serisi verileriyle tahmin edilemez ve açıklanamaz.
ARIMA, hareketli ortalama (moving avarege, MA) ile entegre otoregresif (autoregression, AR) model anlamına gelir. Bu tür bir tahmin modelde, açıklayı değişkenler (x’ler) tahmin etmek istediğimiz (y) değişkeninin geçmiş tarihteki verileri ve hareketli ortalamalarıdır. ARIMA’nın AR ve MA’inin ortasında kalan I ise, tahmin değişkeninin kaç kere farkı alındığını belirtir.
Örnek vermemiz gerekirse, enflasyonun, gelecek ay ne kadar olacağını tahmin etmek için 2010-2020 yılları arasında CPI (consumere price index, tüketici fiyat endeksi) datasını aylık olarak TUİK’den indirdiğimizi varsayalım. Fiyat verisinin yüzdelik değişimi, enflasyonu verir, yani enflasyon, \(\pi\) formülünü şu şekilde yazabiliriz.
\[ \pi = \frac {CPI_t - CPI_{t-1}} {CPI_{t-1}} \]
Yüzdelik değişim aynı zamanda logaritma yardımıyla da bulunabilir
\[ \pi = \frac {ln(CPI_t)} {ln(CPI_{t-1})} = ln (CPI_t) - ln(CPI_{t-1}) \]
eğer y değişkeni \((ln(CPI_t))\) tahmin etmek istersek ve I’yı 1 alırsak, aslında y’nin ilk farkını alacağımızda, enflasyonu \(\pi\) ’yi tahmin etmeye çalışırız. İlk farkı almak, ekonomik verilerde genellikle en büyük sorunumuz olan ortak trend sorununu genellikle ortadan kaldırır. Fiyatlar zamana göre atmaktayken, enflasyon zamana göre artar demeyebiliriz.
Mevsimsel Otoregresif Entegre Hareketli Ortalama anlamına gelir. ARIMA modelinin, mevsimsel (seasonal) olarak genişletilmiş halidir.
Vektör Otoregresyon (VAR) yöntemi, bir zaman serisi yerini, bir çok zaman serisinin birbirlerini açıklayarak ortak bir modelde yazılması halidir.
Başlangıç olarak, Yahoo Finance, Google Finance ve Federal Reserve Bank of St. Louis’in Federal Rezerv Ekonomik Verileri (FRED) dahil olmak üzere bazı açık kaynaklardan doğrudan mali verileri indirmek için Quantmod paketini indireceğiz. Paket, Jeffry A. Ryan tarafından oluşturulmuştur.
Quantmod paketi yüklendikten sonra, internet bağlantısı olan kullanıcıların Yahoo ve Google Finance’ten günlük hisse senedi verilerine erişmek için tik sembollerini kullanmalarına ve FRED’den 1000’den fazla ekonomik ve finansal zaman serisine erişmek için getSymbols komutunu kullanmalarına olanak tanır. Paket ayrıca, örneğin kapanış fiyatı ve işlem hacminin zaman serisi grafiklerini elde etmek gibi bazı güzel işlevlere de sahiptir.
Quantmod paketini bir seferlik olmak üzere, sağ alt köşede bulunan kutucuktaki, Packages sekmesinden yükleyin.
library(quantmod)
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
Örnek olarak tesla’nın hisse senedi fiyatlarını indirelim. Yahoo-finance size şirketlerin sembollerini verecektir. Sizde yahoo finance’den tesla’yı ararsanız, sembolünün TSLA olduğunu göreceksiniz. Tesla hisse senedi veri setini indirmek için getSymbols komutunu kullanıyoruz.
getSymbols("TSLA")
## 'getSymbols' currently uses auto.assign=TRUE by default, but will
## use auto.assign=FALSE in 0.5-0. You will still be able to use
## 'loadSymbols' to automatically load data. getOption("getSymbols.env")
## and getOption("getSymbols.auto.assign") will still be checked for
## alternate defaults.
##
## This message is shown once per session and may be disabled by setting
## options("getSymbols.warning4.0"=FALSE). See ?getSymbols for details.
## [1] "TSLA"
Artık teslanın 26 Haziran 2010 sonrası günlük verilerine sahibiz. Dataya bir göz atalım. Datanın boyutuna dim() komutuyla bakalım, ve verinin ilk 6 ve son 6 gözlemine bir göz atalım.
dim(TSLA)
## [1] 2937 6
head(TSLA)
## TSLA.Open TSLA.High TSLA.Low TSLA.Close TSLA.Volume TSLA.Adjusted
## 2010-06-29 3.800 5.000 3.508 4.778 93831500 4.778
## 2010-06-30 5.158 6.084 4.660 4.766 85935500 4.766
## 2010-07-01 5.000 5.184 4.054 4.392 41094000 4.392
## 2010-07-02 4.600 4.620 3.742 3.840 25699000 3.840
## 2010-07-06 4.000 4.000 3.166 3.222 34334500 3.222
## 2010-07-07 3.280 3.326 2.996 3.160 34608500 3.160
tail(TSLA)
## TSLA.Open TSLA.High TSLA.Low TSLA.Close TSLA.Volume TSLA.Adjusted
## 2022-02-17 913.26 918.50 874.10 876.35 18392800 876.35
## 2022-02-18 886.00 886.87 837.61 856.98 22710500 856.98
## 2022-02-22 834.13 856.73 801.10 821.53 27762700 821.53
## 2022-02-23 830.43 835.30 760.56 764.04 31752300 764.04
## 2022-02-24 700.39 802.48 700.00 800.77 45107400 800.77
## 2022-02-25 809.23 819.50 782.40 809.87 25309500 809.87
TSLA.Open, hisse senedinin o günkü açılış fiyatı, Close, kapanış, High, en yüksek, Low, en düşük, Adjuste, Ayarlanmış fiyatlarını vermektedir.Volume, Kaç kişinin işlem yaptığını gösterir.
Bu zaman serisinin grafiğini chartSeries() ile gösterebiliriz.
chartSeries(TSLA, theme="white")
kullanabilirsiniz.
Mesela, Türkiye’nin 16-24 yaş arası işsizlik oranının verisini indirmek istiyorsunuz. FRED, bu veri setinin sembolünü size verir. Bu zaman serisi için sembol LRHU24TTTRM156S’dir.
getSymbols("LRHU24TTTRM156S",src="FRED")
## [1] "LRHU24TTTRM156S"
chartSeries(LRHU24TTTRM156S,theme="white")
Farketiyseniz, src kaynağınızın neresi olacağını yazabilmenizi sağlıyor. Hiçbirşey yazmasanız, sembolü Yahoo’da arayacaktır. Diyelim ki, son bir yıl için TL USD değerini istiyorsunuz. getFX(““) komutunu her döviz kuru için kullanabilirsiniz.
getFX("USD/TRY",from="2020-01-01")
## Warning in doTryCatch(return(expr), name, parentenv, handler): Oanda only
## provides historical data for the past 180 days. Symbol: USD/TRY
## [1] "USD/TRY"
chartSeries(USDTRY,theme="white")
Veritabanı, 217 ekonomi ve 40’tan fazla ülke grubu için 1400 zaman serisi göstergesi içerir ve birçok göstergeye ilişkin veriler 50 yıldan daha eskiye dayanmaktadır. https://data.worldbank.org/ websitesine girdiğinizde, verileri country (ülke) ve indicator (gösterge) olarak gözlemleyebilirsiniz. “Browse by Country or Indicator” seçeneklerinden, indicator’a girerseniz, birçok başlıkta birçok zaman serisine ulaşabilirsiniz. İlk başlık “Agriculture and Rural Development” (Tarım ve Kırsal Kalkınma) “Aid Effectiveness” (Yardım Etkinliği), üçüncü başlık “Climate Change” (İklim Değişikliği) şeklinde toplam 20 başlık altında, 1400 zaman serisiyle istediğiniz bir ülke için elde edebileceğiniz her çeşit veriye ulaşabilirsiniz.
Bu veri setine R’dan ulaşabilmek için WDI paketini yüklemelisiniz. Sağ alt köşede bulunan Packages sekmesinden WDI paketini yükledikten sonra, library yapmalısınız.
library(WDI)
İstediğiniz veri setinin anahtar kelimesine nasıl ulaşabilirsiniz. Diyelim ki göstergeleri okuduğunuz, indicator seçeneğine tıkladınız ve https://data.worldbank.org/indicator sayfasına ulaştınız. Ülkelerin, CO2 emissions (metric tons per capita), karbondioksit emisyonları (kişi başına metrik ton) verilerini merak ediyorsunuz. Bu yüzden Environment (Çevre) başlığı altında bu veri setine tıkladınız ve şu sayfa açıldı.
https://data.worldbank.org/indicator/EN.ATM.CO2E.PC?view=chart
web sayfasının ortasında bulunan EN.ATM.CO2E.PC bu veri setinin anahtar kelimesidir. Siz Meksika, Türkiye ve US’in bu konu hakkındaki verilerini 1960’dan 2018’e kadar indirmek istiyorsunuz. Bu veri setini R’a df olarak kaydedelim.
df = WDI(indicator='EN.ATM.CO2E.PC', country=c('MX','TR','US'), start=1960, end=2022)
Bu veri setini gözlemleyelim.
head(df)
## iso2c country EN.ATM.CO2E.PC year
## 1 MX Mexico NA 2020
## 2 MX Mexico NA 2019
## 3 MX Mexico 3.741478 2018
## 4 MX Mexico 3.781216 2017
## 5 MX Mexico 3.885809 2016
## 6 MX Mexico 3.878195 2015
Veriye verilen isimler ingilizce ve çok uzun, df veri setinde bulunan değişkenlere yeniden isim vermek isterseniz, rename foksiyonu sütünlara göre şu şekilde kullanabilirsiniz.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
##
## first, last
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
df <- df %>%
rename(ulkekodu = 1,
ulke = 2,
karbondioksit = 3,
sene = 4)
rename fonksiyonuyla, değiştirmek istediğiniz değişkenlerin isimlerini, sütünlarına göre yazabilirsiniz. Örneğin, country ikinci sütünda olduğu için, ikinci sütünun ismini ulke yapmak isterseniz, ulke = 2 yazabilirsiniz.
Veri seti alt alta dizilmiş şekilde verilmektedir. En üste Meksika, ortada Türkiye en altta US bulunmakta. Bu veri setini yan yana görmel istersek şu fonksiyonu kullanmalıyız.
Veriyi, ülkelere göre geniş şekilde gözlemlemek istiyoruz.
library(reshape2)
data_genis <- dcast(df, sene ~ ulke, value.var="karbondioksit")
head(data_genis)
## sene Mexico Turkey United States
## 1 1960 1.670990 0.6122715 15.99978
## 2 1961 1.675962 0.6168793 15.68126
## 3 1962 1.587485 0.7502431 16.01394
## 4 1963 1.600528 0.7676379 16.48276
## 5 1964 1.736658 0.8707899 16.96812
## 6 1965 1.705355 0.8842807 17.45173
Veri setinde bulunan bütün ülkelerin 2010 ve 2020 arası GSYH’larını indirmek isterseniz aşağıdaki kodu kullanabilirsiniz.
df2 <- WDI(
country = "all",
indicator = "NY.GDP.PCAP.KD",
start = 2010,
end = 2020,
extra = TRUE,
cache = NULL,
latest = NULL,
language = "tr"
)
## Warning in WDI(country = "all", indicator = "NY.GDP.PCAP.KD", start = 2010, :
## This language is only supported partially.
bütün opsiyonlar isteğe bağlıdır. indicator seçeneğinden sonraki hiçbir opsiyonu yazmasanızda olur. start ve end seçeneklerini yazmasaydınız, verileri 1960’dan günümüze kadar yüklerdiniz. extra, seçeneği size ülkelerin enlem ve boylamlarını verir ve R’da harita çizmek isterseniz işinize yarar. language, seçeneği ülkelerin türkçe adlarını vermek için kullanılabilir. Ama türkçe seçeneği, anlaşılabileceği üzere tam olarak çalışmamaktadır. View(df2) ile veri setini açarsanız, country sütünunda türkçe isimler gözlemlersiniz.
Anahtar kelime aramasını direk, R üzerinden de yapabilirsiniz. Diyelim ki elektrik ile ilgili bir veri arıyorsunuz.
WDIsearch("electricity")
## indicator
## [1,] "1.1_ACCESS.ELECTRICITY.TOT"
## [2,] "1.2_ACCESS.ELECTRICITY.RURAL"
## [3,] "1.3_ACCESS.ELECTRICITY.URBAN"
## [4,] "110400"
## [5,] "2.0.cov.Ele"
## [6,] "2.0.hoi.Ele"
## [7,] "4.1.1_TOTAL.ELECTRICITY.OUTPUT"
## [8,] "4.1.2_REN.ELECTRICITY.OUTPUT"
## [9,] "4.1_SHARE.RE.IN.ELECTRICITY"
## [10,] "9060000"
## [11,] "CC.ESG.EUFE"
## [12,] "CC.ESG.EUMA"
## [13,] "CC.GHG.EMSE.EH"
## [14,] "CC.GHG.SDEG.EH"
## [15,] "EG.ELC.ACCS.RU.ZS"
## [16,] "EG.ELC.ACCS.UR.ZS"
## [17,] "EG.ELC.ACCS.ZS"
## [18,] "EG.ELC.COAL.KH"
## [19,] "EG.ELC.COAL.ZS"
## [20,] "EG.ELC.FOSL.ZS"
## [21,] "EG.ELC.HYRO.KH"
## [22,] "EG.ELC.HYRO.ZS"
## [23,] "EG.ELC.NGAS.KH"
## [24,] "EG.ELC.NGAS.ZS"
## [25,] "EG.ELC.NUCL.KH"
## [26,] "EG.ELC.NUCL.ZS"
## [27,] "EG.ELC.PETR.KH"
## [28,] "EG.ELC.PETR.ZS"
## [29,] "EG.ELC.PROD.KH"
## [30,] "EG.ELC.RNEW.KH"
## [31,] "EG.ELC.RNEW.ZS"
## [32,] "EG.ELC.RNWX.KH"
## [33,] "EG.ELC.RNWX.ZS"
## [34,] "EG.TEG.RNEW.ZS"
## [35,] "EG.TEG.VAR.ZS"
## [36,] "EN.CO2.ETOT.MT"
## [37,] "EN.CO2.ETOT.ZS"
## [38,] "EN.PRD.ELEC"
## [39,] "EN.PRD.ELEC.POP.ZS"
## [40,] "HOU.ELC.ACSN.ZS"
## [41,] "IC.CNS.ELEC.ZS"
## [42,] "IC.ELC.ACES.DFRN.DB1015"
## [43,] "IC.ELC.ACES.DFRN.DB1619"
## [44,] "IC.ELC.ACES.RK.DB19"
## [45,] "IC.ELC.ACS.COST"
## [46,] "IC.ELC.ACS.COST.DFRN"
## [47,] "IC.ELC.COMM.TRFF.CG.01.DB1619"
## [48,] "IC.ELC.GEN.ZS"
## [49,] "IC.ELC.LMTG.OUTG.01.DB1619"
## [50,] "IC.ELC.MONT.OUTG.01.DB1619"
## [51,] "IC.ELC.OUTG.FREQ.DURS.03.DB1619"
## [52,] "IC.ELC.OUTG.MN.DB1619"
## [53,] "IC.ELC.PRI.KH.DB1619"
## [54,] "IC.ELC.PROC.NO"
## [55,] "IC.ELC.PROC.NO.DFRN"
## [56,] "IC.ELC.REGU.MONT.01.DB1619"
## [57,] "IC.ELC.RSTOR.01.DB1619"
## [58,] "IC.ELC.RSTT.XD.08.DB1619"
## [59,] "IC.ELC.RSTT.XD.08.DFRN.DB1619"
## [60,] "IC.ELC.SAID.XD.DB1619"
## [61,] "IC.ELC.SAIF.XD.DB1619"
## [62,] "IC.ELC.TIME"
## [63,] "IC.ELC.TIME.DFRN"
## [64,] "IC.ELEC.COST.PC.ZS"
## [65,] "IC.ELEC.PROC"
## [66,] "IC.ELEC.TIME"
## [67,] "IC.ELEC.XQ"
## [68,] "IC.FRM.ELEC.ZS"
## [69,] "IC.FRM.INFRA.IN10_C"
## [70,] "IC.FRM.INFRA.IN12"
## [71,] "IC.FRM.OBS.OBST8"
## [72,] "IN.ENRGY.ELEC.GEN"
## [73,] "NA.GDP.ELEC.GAS.SNA08.CR"
## [74,] "NA.GDP.ELEC.GAS.SNA08.KR"
## [75,] "NV.IND.GELW.CD"
## [76,] "NV.IND.GELW.CN"
## [77,] "NV.IND.GELW.KN"
## [78,] "SE.PRM.INFR.4"
## [79,] "SE.PRM.INFR.4.R"
## [80,] "SE.PRM.INFR.4.U"
## [81,] "SE.PRM.ISTD.7"
## [82,] "SE.PRM.ISTD.8"
## [83,] "SG.COK.ELEC.ZS"
## [84,] "SI.POV.ELEC.MI"
## [85,] "SL.EMP.ELC"
## [86,] "UIS.SCHBSP.1.WELEC"
## [87,] "UIS.SCHBSP.2.WELEC"
## [88,] "UIS.SCHBSP.3.WELEC"
## name
## [1,] "Access to electricity (% of total population)"
## [2,] "Access to electricity (% of rural population)"
## [3,] "Access to electricity (% of urban population)"
## [4,] "110400:HOUSING, WATER, ELECTRICITY, GAS, AND OTHER FUELS"
## [5,] "Coverage: Electricity"
## [6,] "HOI: Electricity"
## [7,] "Total electricity output (GWh)"
## [8,] "Renewable energy electricity output (GWh)"
## [9,] "Renewable electricity (% in total electricity output)"
## [10,] "9060000:ACTUAL HOUSING, WATER, ELECTRICITY, GAS AND OTHER FUELS"
## [11,] "Employment by sector and gender (% of total) - Electricity and utilities - Female"
## [12,] "Employment by sector and gender (% of total) - Electricity and utilities - Male"
## [13,] "Total GHG emissions by sector (Mt CO2 eq) - Electricity/Heat"
## [14,] "Sectoral drivers of GHG emissions growth in the period 2012-2018 - Electricity/Heat (contribution to total growth, %)"
## [15,] "Access to electricity, rural (% of rural population)"
## [16,] "Access to electricity, urban (% of urban population)"
## [17,] "Access to electricity (% of population)"
## [18,] "Electricity production from coal sources (kWh)"
## [19,] "Electricity production from coal sources (% of total)"
## [20,] "Electricity production from oil, gas and coal sources (% of total)"
## [21,] "Electricity production from hydroelectric sources (kWh)"
## [22,] "Electricity production from hydroelectric sources (% of total)"
## [23,] "Electricity production from natural gas sources (kWh)"
## [24,] "Electricity production from natural gas sources (% of total)"
## [25,] "Electricity production from nuclear sources (kWh)"
## [26,] "Electricity production from nuclear sources (% of total)"
## [27,] "Electricity production from oil sources (kWh)"
## [28,] "Electricity production from oil sources (% of total)"
## [29,] "Electricity production (kWh)"
## [30,] "Electricity production from renewable sources (kWh)"
## [31,] "Renewable electricity output (% of total electricity output)"
## [32,] "Electricity production from renewable sources, excluding hydroelectric (kWh)"
## [33,] "Electricity production from renewable sources, excluding hydroelectric (% of total)"
## [34,] "Share of renewables in total electricity generation (%)"
## [35,] "Share of variable renewables in total electricity generation (%)"
## [36,] "CO2 emissions from electricity and heat production, total (million metric tons)"
## [37,] "CO2 emissions from electricity and heat production, total (% of total fuel combustion)"
## [38,] "Electricity production (million kwh)"
## [39,] "Electricity production (kwh per capita)"
## [40,] "Household Access to Electricity: Total (in % of total household)"
## [41,] "Electricity (% of managers surveyed ranking this as a major constraint)"
## [42,] "Getting electricity (DB10-15 methodology) - Score"
## [43,] "Getting electricity (DB16-20 methodology) - Score"
## [44,] "Rank: Getting electricity (1=most business-friendly regulations)"
## [45,] "Getting electricity: Cost to get electricity (% of income per capita)"
## [46,] "Getting electricity: Cost to get electricity (% of income per capita) - Score"
## [47,] "Getting electricity: Communication of tariffs and tariff changes (0-1) (DB16-20 methodology)"
## [48,] "Electricity from Generator (%)"
## [49,] "Getting electricity: Financial deterrents aimed at limiting outages (0-1) (DB16-20 methodology)"
## [50,] "Getting electricity: Mechanisms for monitoring outages (0-1) (DB16-20 methodology)"
## [51,] "Getting electricity: Total duration and frequency of outages per customer a year (0-3) (DB16-20 methodology)"
## [52,] "Getting electricity: Minimum outage time (in minutes) (DB16-20 methodology)"
## [53,] "Getting electricity: Price of electricity (US cents per kWh) (DB16-20 methodology)"
## [54,] "Getting electricity: Procedures (number)"
## [55,] "Getting electricity: Procedures (number) - Score"
## [56,] "Getting electricity: Regulatory monitoring (0-1) (DB16-20 methodology)"
## [57,] "Getting electricity: Mechanisms for restoring service (0-1) (DB16-20 methodology)"
## [58,] "Getting electricity: Reliability of supply and transparency of tariff index (0-8) (DB16-20 methodology)"
## [59,] "Getting electricity: Reliability of supply and transparency of tariff index (0-8) (DB16-20 methodology) - Score"
## [60,] "Getting electricity: System average interruption duration index (SAIDI) (DB16-20 methodology)"
## [61,] "Getting electricity: System average interruption frequency index (SAIFI) (DB16-20 methodology)"
## [62,] "Time required to get electricity (days)"
## [63,] "Getting electricity: Time (days) - Score"
## [64,] "Cost to get electricity connection (% of income per capita)"
## [65,] "Procedures required to get electricity (number)"
## [66,] "Time required to get electricity (days)"
## [67,] "Getting electricity (rank)"
## [68,] "Electricity (% of firms identifying this as a major constraint)"
## [69,] "If a generator is used, average proportion of electricity from a generator (%)"
## [70,] "Percent of firms identifying electricity as a major constraint"
## [71,] "Percent of firms choosing electricity as their biggest obstacle"
## [72,] "Total-Electricity Generated Gross (GWh)"
## [73,] "GDP on Electricity & Gas Supply Sector (in IDR Million), SNA 2008, Current Price"
## [74,] "GDP on Electricity & Gas Supply Sector (in IDR Million), SNA 2008, Constant Price"
## [75,] "Electricity, gas and water supply, value added (current US$)"
## [76,] "Electricity, gas and water supply, value added (current LCU)"
## [77,] "Electricity, gas and water supply, value added (constant LCU)"
## [78,] "(De Facto) Percent of schools with access to electricity"
## [79,] "(De Facto) Percent of schools with access to electricity - Rural"
## [80,] "(De Facto) Percent of schools with access to electricity - Urban"
## [81,] "(De Jure) Is there a policy in place to require that schools have access to electricity?"
## [82,] "(De Facto) Do you know if there is a policy in place to require that schools have access to electricity?"
## [83,] "Main cooking fuel: electricity (% of households)"
## [84,] "Multidimensional poverty, Electricity (% of population deprived)"
## [85,] "Number of people employed in electricity and utilities sector"
## [86,] "Proportion of primary schools with access to electricity (%)"
## [87,] "Proportion of lower secondary schools with access to electricity (%)"
## [88,] "Proportion of upper secondary schools with access to electricity (%)"
Size elektirik ile ilgili bütün anahtar kelimeleri verecektir. Google translate yardımıyla istediğiniz veriye ulaşabilirsiniz.
Biz data_genis veri setimizi, bir zaman serisine çevirelim. R’da bu tür zaman serilerine, ts denilir.
tsveri <- ts(data_genis, start=1960, frequency=1)
tsveri, artık bir zaman serisi.
head(tsveri)
## sene Mexico Turkey United States
## [1,] 1960 1.670990 0.6122715 15.99978
## [2,] 1961 1.675962 0.6168793 15.68126
## [3,] 1962 1.587485 0.7502431 16.01394
## [4,] 1963 1.600528 0.7676379 16.48276
## [5,] 1964 1.736658 0.8707899 16.96812
## [6,] 1965 1.705355 0.8842807 17.45173
frequency, seçeneği aylık verilerde 12, çeyreklik verilerde 4, haftalık verilerde 52 olarak girilir. Türkiye’nin verisini, zaman serisi grafiği olarak çizmek istersek.
karbondioksit emisyonları (kişi başına metrik ton)
library(ggplot2)
library(ggfortify)
autoplot(tsveri[,"Turkey"]) +
ggtitle("Türkiye'nin kişi başına metrik ton olarak karndioksit emisyonu") +
xlab("Sene") +
ylab("")
## Warning: Removed 2 row(s) containing missing values (geom_path).
ggtitle, xlab ve ylab seçenekleri sadece grafiğinize isimler vermek için kullanılır. autoplot fonksiyonunuza renk katmak isterseniz, aşağıdaki seçenekleri uygulayabilirsiniz.
autoplot(tsveri[,"Turkey"], ts.colour = 'red', ts.linetype = 'dashed')
## Warning: Removed 2 row(s) containing missing values (geom_path).
En basit grafik ise plot fonksiyonuyla çizilebilir. Zaten ts objesine sahip olduğumuz için, sene değişkenini eklememize gerek yoktur. tsveri, veri setinin içinden, Mexico sütünunu yazmak isterseniz, kapalı parantezin içine virgülden sonra sütunun ismi yazılabilir, ya da rakamı yazılabilir. Virgülden önceki kısım, satırları belirtir. Virgülden sonraki kısım sütunları belirtir.
plot(tsveri[,"Turkey"])
Eğer, bütün yılları gözlemlemek istersek, vigülden önceye birşey yazmamıza gerek yoktur. Türkiye, Meksikanın ve US’in verileri, ikinci, üçüncü ve dördüncü sütundadır. 2’den 4’cü sütuna kadar olan verileri grafiklemek istersek şu şekilde yazabiliriz.
plot(tsveri[,2:4])
Aynı grafikte göstermek isterseniz, plot type girebilirsiniz.
plot(tsveri[,2:4], plot.type = "single")
Grafiğinizi geliştirmek isterseniz aşağıdaki kodu inceleyin.
plot(tsveri[,2],
type = "l",
col = 2,
ylim = c(0, 25),
xlab = "Sene",
ylab = "Karbondioksit")
lines(tsveri[,3],
type = "l",
col = 3)
lines(tsveri[,4],
type = "l",
col = 4)
legend("topright",
c("Meksika", "Türkiye", "US"),
lty = 1,
col = 2:4)
Tabiki veri setimizi tekrar uzun formata alıp grafiğini öyle de gösterebiliriz.
Veri setinde sene isimli değişkene göre, veri setini uzun formatına geri getirelim.
data_uzun <- melt(data_genis, id.vars = "sene")
data_uzun veri seti artık variable ve value isimli iki değişkene sahip, variable değişkeni üç ülkeyi sırasıyla gösteriyor, value değişkeni ise bu ülkelerdeki karbondioksit değerlerini veriyor.
ggplot paketini kullanarak aynı grafiği gösterelim.
ggplot(data_uzun,
aes(x = sene,
y = value,
col = variable)) +
geom_line()
## Warning: Removed 6 row(s) containing missing values (geom_path).