Baslangic
R Studio ve ilk kodlar
Elektrik Talep Analizi - (Histogram)
Elektrik Talep Analizi - (Filtreleme)
Elektrik Talep Analizi - (Verinin Bilesenleri)
Elektrik Talep Analizi - (Programlamaya Giris)
Dogrusal Regresyon ile Elektrik Talebi
Ussel Duzgunlestirme ve STL ile Elektrik Talebi
Elektrik Talebinde Farkli Periyodlar (ARIMA ve TBATS)
2015-2024 - Aylik Dogalgaz Talebi
NOAA'dan gunluk sicaklik verilerine erisim
TCMB(Merkez Bankasi) verilerine erisim
EIA (ABD Eneji Bilgi Dairesi) verilerine erisim
Dunya Bankasi verileri, otomatik modelleme, ggplot2 ve tema
Merkez Bankasi ile EIA verileri birarada: Akaryakit fiyatlari
Enflasyon ve Akaryakit Iliskisini inceleme
R ile Do─čal gaz talep tahmini

R ile Enerji Analizi ┬ľ B├Âl├╝m 9- T├╝rkiye Ayl─▒k Do─čal gaz Talep Modeli ve 2025┬ĺe Projeksiyonun Yap─▒lmas─▒

Bar─▒┼č Sanl─▒

├ľzet: Bu b├Âl├╝mde, 8nci b├Âl├╝mde g├Ârd├╝─č├╝m├╝z TBATS y├Ântemi ile T├╝rkiye ayl─▒k do─čalgaz talep tahmin modeli olu┼čturmaya ├žal─▒┼čaca─č─▒z. ─░lk k─▒s─▒mda t├╝m ├╝lkelerin ayl─▒k petrol ve do─čal gaz istatistiklerine ula┼čabilece─činiz JODIDB.org websitesini de kullanmay─▒ g├Âstermeye ├žal─▒┼čaca─č─▒m. Bu web sitesinden istedi─činiz veriyi se├žip, CSV olarak indirdikten sonra dersimizin 8. B├Âl├╝m├╝nde oldu─ču gibi ├Ânce bile┼čenlerine ay─▒r─▒p sonra da 2015-2025 tahminini alaca─č─▒z. Bu tahmin %95 ve %80 kesinlikli aral─▒klar ile ├ž─▒kar─▒lacakt─▒r. Sonra ayl─▒k verilerden y─▒ll─▒k toplamlara ge├žerek onu da grafiklemeye ├žal─▒┼čaca─č─▒z.

 

Bu B├Âl├╝mdeki Fonksiyonlar

setwd(┬ô├žal─▒┼čma dizini┬ö)

dir()

read.csv

ts(veri, start=ba┼člad─▒─č─▒ tarih, frequency= periyodu)

msts(veri$ortalama_tuketim, seasonal.periods = c(periyod1, periyod2))

tbats(zaman serisi)

plot(veri, main=┬öGrafik Ba┼čl─▒─č─▒┬ö)

x11()

palette(palet_ismi(renksay─▒s─▒))

forecast(model, h=projeksiyon s├╝resi)

cbind()

rbind()

aggregate(veri, frekans,FUN=”fonksiyon”)

 

 

Veri Dosyalar─▒:

T├╝rkiye 2010-2015 ayl─▒k do─čalgaz t├╝ketimi (JodiDB.org┬ĺdan)

http://www.barissanli.com/calismalar/dersler/r/dogalgaz-jodi.csv

Projeksiyon sonu├žlar─▒:

http://www.barissanli.com/calismalar/dersler/r/sonuc-dg.csv

 

 

9.0. Do─čalgaz Talep Tahmini

Daha ├Ânce elektrikte g├Ârd├╝─č├╝m├╝z gibi, T├╝rkiye do─čal gaz talebinde de ├Ânemli bir mevsimsellik/sezonsall─▒k vard─▒r. ├ľrne─čin k─▒┼č─▒n en ├╝st t├╝ketimler 240 milyon m3┬ĺleri g├Âr├╝rken, yaz─▒n t├╝ketimler 110 milyon m3┬ĺler civar─▒nda olsa da bunun yakla┼č─▒k 14-15┬ĺi de depoya konulan gaz oluyor. Yani nihai t├╝ketime giden gaz 90 milyon m3 olmaktad─▒r. Bu yaz k─▒┼č fark─▒ ┼čehirlerin geli┼čmi┼člik d├╝zeylerine g├Âre de─či┼čmektedir. ├ľrne─čin o ┼čehirde sanayi yo─čun ise yaz-k─▒┼č t├╝ketimi birbirine yak─▒n, ┼čehir ne kadar az sanayiye sahipse yaz-k─▒┼č dengesizli─či y├╝ksek olmaktad─▒r.

Elektrikte t├╝ketimin s─▒cakl─▒kla de─či┼čimi paraboliktir, do─čalgaz da ise daha do─črusal ili┼čkiler g├Ârmekteyiz. Bu da do─čalgaz─▒n nihai t├╝ketiminden gelmektedir. ─░stanbul ├Âzelinde bakarsak, k─▒┼č aylar─▒ndaki yo─čun t├╝ketim a┼ča─č─▒daki grafikte verilmektedir (Kaynak : U─čur Usta, ICCI, http://enerjipostasi.com/haber_resim/files/dosyalar/icci/O4_Ugur_Usta.pdf)

 

Grafik 1 ┬ľ ─░stanbul do─čal gaz t├╝ketiminin alt t├╝ketim gruplar─▒na ve aylara g├Âre da─č─▒l─▒m─▒ (U─čur Usta)

─░GDA├×┬ĺtan U─čur Usta┬ĺn─▒n sunumundaki bir di─čer grafik var ki, bu grafik bir ├žok do─čalgaz talep tahmini i├žinde s─▒kl─▒kla ba┼čvurdu─čumuz bir ili┼čkiyi empirik olarak g├Âstermektedir. Konut ve ─▒s─▒tma t├╝ketiminin s─▒cakl─▒─ča g├Âre de─či┼čiminin BBS (Ba─č─▒ms─▒z Birim Say─▒s─▒ ┬ľ EPDK birimi ┬ľ ilk 200 m2 bir birim kabul edilmektedir) ba┼č─▒na g├Âsterimi grafi─či a┼ča─č─▒dad─▒r.

 

Grafik 2 ┬ľ ─░stanbul i├žin BBS ba┼č─▒na gaz t├╝ketimi (U─čur Usta)

┬áBu grafik ─░stanbul┬ĺda hava s─▒cakl─▒─č─▒ 16 C┬ĺnin alt─▒na d├╝┼čt├╝k├že do─črusal olarak do─čalgaz talebinin artt─▒─č─▒n─▒ g├Âstermektedir.

Fakat bu daha ├žok konut t├╝ketimini vermektedir. Bir de dikkat edilmesi gereken nokta s─▒cakl─▒─č─▒n yaz─▒n nem ile, k─▒┼č─▒n r├╝zgar ile d├╝zeltilmesi gerekti─čidir. Yaz i├žin hava s─▒cakl─▒─č─▒ artt─▒k├ža konut t├╝ketimi azalmas─▒na ra─čmen, sanayi ve elektrik santrallerinin do─čalgaz t├╝ketimi artmaktad─▒r. Asl─▒nda yaz─▒n do─čal gaz talebi iki sebepten artar. Birincisi artan elektrik t├╝ketiminin do─čalgaz santrallerinden kar┼č─▒lanmas─▒ndan dolay─▒, ikincisi de do─čalgaz depolar─▒na gaz at─▒lmas─▒ndan dolay─▒d─▒r.

Bu kadar teknik bilgiden sonra bir de olay─▒n matematiksel boyutuna bakal─▒m.

9.1. Veri Kayna─č─▒

JODI (https://www.jodidata.org), t├╝m ├╝lkelerin petrol, petrol ├╝r├╝nleri ve do─čal gaz ile ilgili istatistiklerini bir araya getiren bir websitesidir. JODI┬ĺnin en g├╝zel ├Âzelliklerinden biri ise ayl─▒k verilerin bulunmas─▒ ve bir ├žok model i├žin yeterli veriyi i├žermesidir.

├ľncelikli olarak

http://www.jodidb.org

websitesine┬á giriyoruz. Sitede sol taraftaki JODI-Gas dizinine t─▒klad─▒─č─▒m─▒zda ┬ôJODI Gas World┬ö veri seti k├╝mesi a├ž─▒lacakt─▒r.

JODI Gas World┬ĺe girdi─čimiz zaman bir anda ├Ân├╝m├╝zde olduk├ža karma┼č─▒k bir veri ekran─▒ g├Âr├╝lecektir. Bu ekrandan istedi─čimiz, T├╝rkiye i├žin milyon m3 olarak ├╝retim/t├╝ketim vs verileridir.

Yukar─▒daki verilere bakt─▒─č─▒m─▒zda, sol tarafta(turuncu k─▒s─▒m) Arjantin i├žin ┬ôBalance┬ö alt─▒nda, ├╝retim,ithalat, LNG vs gibi sat─▒rlarda, ay ve y─▒l s├╝tunlar─▒nda de─či┼čik birimlerde (milyon m3, TJ ve 1000 ton LNG) veri h├╝creleri bulundu─čunu g├Ârebiliriz. Burada istedi─čimiz verileri se├žmek i├žin ise ┬ôSet Dimension order┬ö olan ┬ôtablo ├╝zerinde d├Ârt y├Ân├╝ g├Âsteren ok┬ö simgesi se├žilir. (A┼ča─č─▒daki resimde k─▒rm─▒z─▒ daire i├žinde)

┬ôSet Dimension Order┬ö┬ĺa t─▒klayarak, verimizi ├Ânce ┼čekle sokal─▒m, ├Âncelikli olarak s├╝tunlar─▒n tarih olmas─▒, sat─▒rlar─▒nda veri dizisi yani ┬ôBalance┬ö olmas─▒n─▒ istiyoruz, sat─▒r ve s├╝tunlarda yer almayacak se├ženeklerde ├╝lke(┬ôCountry┬ö) ve┬á birimler(┬ôProduct). Oklar─▒ kullanarak se├žene─či a┼ča─č─▒daki hale getirebilirsiniz.

┬ôApply┬ö┬ĺa bas─▒nca ekran─▒m─▒z a┼ča─č─▒daki ┼čekle gelecektir. Fakat ├╝lkeyi T├╝rkiye yapmam─▒z gerekiyor.

 

Bunun i├žin a┼ča─č─▒da g├Âr├╝ld├╝─č├╝ ┼čekilde ya ┬ôCountry┬ö┬ĺe t─▒klayarak, yada ayn─▒ ├žer├ževedeki sa─č-sol oklar─▒na basarak T├╝rkiye┬ĺyi bulmaya ├žal─▒┼čabiliriz. Benim ├Ânerim ┬ôCountry┬ö yani ├╝lkeye t─▒klay─▒n.

Burada ├╝lkeye bast─▒─č─▒m─▒z anda kar┼č─▒m─▒za a┼ča─č─▒ soldaki ekran a├ž─▒lacak. ├ľnce a┼ča─č─▒daki k─▒rm─▒z─▒ daire i├žinde X┬ĺe t─▒klayarak t├╝m se├ženekleri kald─▒ral─▒m. Sonra da alfabetik s─▒radaki ├╝lkelerden ┬ôTurkey┬ö┬ĺi se├želim.

T├╝rkiye┬ĺyi se├žtikten sonra(altta solda) sadece en yukar─▒daki ┬ôShow Table┬ö┬ĺa t─▒klayabiliriz(altta sa─čda).

 

Kar┼č─▒m─▒za T├╝rkiye┬ĺnin verilerinin oldu─ču, milyon m3 ├╝zerinden aylara g├Âre alt k─▒r─▒l─▒ml─▒ do─čalgaz verileri ekrana gelecektir. Bu veriyi a┼ča─č─▒daki ┼čekilde ┬ôa├ž─▒k dizin-Download┬ö simgesine t─▒klayarak indirebilirsiniz.

┬ôDownload┬ö┬ĺa t─▒klay─▒nca ├Ân├╝m├╝ze birka├ž indirme se├žene─či geliyor. Benim ├Ânerim Excel indirin, dosyay─▒ d├╝zenleyip sonra csv olarak saklay─▒n. Ama direkt indirip CSV kullanaca─č─▒m derseniz de CSV olarak indirme se├žene─či mevcut. T├╝rk├že excel kullan─▒yorsan─▒z en altta yer alan ┬ôSemicolon-delimited ASCII┬ö┬ĺyi se├žin ├ž├╝nk├╝ T├╝rk├že┬ĺde ondal─▒k say─▒larda ┬ô.┬ö Veya ┬ô,┬ö kullan─▒m─▒ konusundaki farkl─▒l─▒k dosya okumalar─▒nda soruna yol a├žabiliyor.

Ben kendi indirdi─čim dosyay─▒ bu linke yerle┼čtirdim.

http://www.barissanli.com/calismalar/dersler/r/dogalgaz-jodi.csv

 

├×imdi dosya ├╝zerinde i┼člemlere ba┼člayal─▒m.

9.2. ─░lk Analizler

Her┼čeyden ├Ânce csv dosyas─▒n─▒n oldu─ču dizinde oldu─čumuzdan emin olal─▒m. Bence csv dosyalar─▒n─▒ harddiskte do─čalgaz diye bir dizin a├ž─▒p oraya yerle┼čtirin. Program─▒n─▒zda

 

setwd("C:/dogalgaz-projeksiyon/")

# dir komutu dizindeki dosyalar─▒ ekrana yazar

dir()

komutlar─▒ ile csv dosyas─▒n─▒n dizinine gidip.┬ö dir() ┬ô komutu ile bulundu─čunuz dizindeki dosyalar─▒ kontrol edin. ┬ôdogalgaz-jodi.csv┬ö dosyas─▒n─▒ g├Ârmeye ├žal─▒┼č─▒n. Dosyay─▒ g├Ârd├╝kten sonra dosyay─▒ veri de─či┼čkenine y├╝kleyelim.

dg=read.csv(“dogalgaz-jodi.csv”,sep=”;”)

 

Dosyay─▒ dizinde g├Ârd├╝kten sonra

str(dg)

ile dosyadaki yap─▒ya bakal─▒m. ├ç├╝nk├╝ mesela ondal─▒k ay─▒rac─▒ ┬ô.┬ö Veya ┬ô,┬ö dosyam─▒zda farkl─▒ kullan─▒lm─▒┼č ise, veri yap─▒s─▒nda ┬ôint┬ö┬ĺleri g├Âremeyiz. Yukar─▒daki do─čru ┼čekil┬ů Verilerimiz tamsay─▒ oldu─čundan okunan veriler de ┬ôint┬ö yani tamsay─▒ olarak g├Âsterilmi┼č olmas─▒ ├Ânemlidir.

Verimiz bir ┬ôdata.frame┬ö ve burada 15 s├╝tun veri var (en ├╝stte ┬ô62 obs of 15 variables┬ö). 15 s├╝tunda 62 veri sat─▒r─▒ var. S├╝tunlardan biri ┬ôGross. Inland.Deliveries..Observed.┬ö. Bu kavram─▒ i├ž t├╝ketim olarak d├╝┼č├╝nelim. ├ç├╝nk├╝ anlam─▒ : ┬ôBr├╝t i├ž piyasaya arz edilen┬ö ┬ľ k─▒saca ┬ôt├╝ketim┬ö denilecek bundan sonra- do─čalgaz verisi olarak d├╝┼č├╝nebiliriz. Verileri g├Ârmek i┼čin

head(dg)

yazar─▒z. ├×imdi de 13. S─▒rada olan t├╝ketim verisini ├žizdirip, ┬ôT├╝ketim Geli┼čimi┬ö ba┼čl─▒─č─▒ atal─▒m.

plot(dg[,13],type="l",main="T├╝ketim Geli┼čimi")

 

Yukar─▒daki grafi─či ├žizdirdik ama veride zaman serisi yani tarih verileri g├Âz├╝km├╝yor. Oysa verilerimiz 2010-2015 aras─▒ verileri i├žermekteydi.

9.3. Zaman Serisi

Yukar─▒daki grafikte her┼čey do─čru olmas─▒na ra─čmen, x ekseninden tarihler yer almamaktad─▒r. Bunun i├žin ├Ânce zaman serilerini kullanmak i├žin ┬ôforecast┬ö k├╝t├╝phanesi y├╝kl├╝yoruz. ┬á(┬ôforecast┬ö y├╝klemeden de ┬ôts┬ö komutu ile yapabiliriz, ilerde g├Ârece─čiz) . E─čer daha ├Ânceki derslere bakmad─▒ysan─▒z komut sat─▒r─▒ndan install.packages(┬ôforecast┬ö) ile ┬ôforecast┬ö paketini y├╝kleyebilirsiniz.

library(forecast)

Forecast k├╝t├╝phanesini i┼čaret edince otomatik olarak zoo k├╝t├╝phanesini de ekliyor. O da yoksa gene

install.packages(“zoo”)

ile y├╝kleyebilirsiniz.

Verimizi se├žerken 2010 Ocak┬ĺtan ba┼člayarak(2009 Ocak-2009 Aral─▒k aras─▒nda Jodidb┬ĺde veri yoktu, h├╝cre de─čerleri 0 idi) , 12 ayl─▒k verileri se├žmi┼čtik. Ama R┬ĺda tarih ve zaman i┼čleri bazen arapsa├ž─▒ olabildi─či i├žin s├╝tundan tarih okumad─▒k. Fakat bunu da okumak m├╝mk├╝nd├╝.

Bunun yerine

t_dg=msts(dg[,13],start=2010,seasonal.periods=c(6,12*354.37/365,12))

plot(t_dg,main="Zaman Eklenmi┼č T├╝ketim Geli┼čimi")

┼čeklindeki komutu kullanabiliriz.

Burada ├Ânce┬á t_dg diye bir de─či┼čken tan─▒ml─▒yoruz. Yani do─čal gaz (dg)┬ĺnin t(time series) hali. Bu t_dg de─či┼čkeni ise, daha ├Ânceki t├╝ketim verimiz olan dg[,13] yani 13.s├╝tundaki t├╝m verilerin ba┼člang─▒c─▒ 2010 olmak ├╝zere zaman serisi ┼čekline dizilmi┼č halidir. Ayn─▒ ┼čekilde

ts.frequency = 12

parametresini ekleyerek de, verinin frekans─▒n─▒n 12 oldu─čunu bildirebiliriz. O zaman komutumuz a┼ča─č─▒daki gibi olur.

 t_dg=msts(dg[,13],start=2010,seasonal.periods=c(6,12*354.37/365,12),ts.frequency = 12)

msts komutunda dikkat ├žeken en ├Ânemli noktalardan biri ise daha ├Ânce elektrikte yapt─▒─č─▒m─▒z gibi, veride tahmin etti─čimiz ┬ômevsimsel periyodlar─▒┬ö eklemek olacak. Bu da seasonal.periods parametresine ┬ôc(┬ô ile vekt├Âr ┼čeklinde ├╝├ž periyodu ekleyerek elde ediyoruz.

-          ─░lk periyot 6, ├ž├╝nk├╝ do─čalgaz talebinde elektrik ├╝retimi santralleri 6┼čar ayl─▒k periyotlara sebep vermektedir. Bu tam 6 olmayabilir, internette optimum d├Ânemsel periyodlar─▒ bulmak i├žin kodlar mevcut. Elektrik santralleri ├Ârne─čin ├×ubat ve A─čustos┬ĺta ├žok do─čalgaz┬á t├╝ketiyor, Nisan ve Ekim de az t├╝ketiyor olabilir.

-          ─░kinci periyot 12*354.37/365.12 yani 11.64 gibi bir ┼čey ki, bu da Hyndmann┬ĺ─▒n T├╝rkiye elektrik talebindeki hicri takvim (┼čeker-kurban bayramlar─▒) etkilerini analiz etmek i├žin kullan─▒lan periyod.

-          ├ť├ž├╝nc├╝ ve son periyod ise 12 yani y─▒ll─▒k d├Âng├╝d├╝r. Zaten grafi─če bakt─▒─č─▒n─▒zda y─▒ll─▒k bir d├Âng├╝n├╝n oldu─ču ├žok a├ž─▒kt─▒r.

├×imdi geriye kalan tek ┼čey, grafi─čimizi ├žizdirmek:

plot(t_dg,main="Zaman Eklenmi┼č T├╝ketim Geli┼čimi")

 

9.4. Veriyi Mevsimsel Bile┼čenlerine Ay─▒rma

Verimizi msts komutu ile alt sezonlar─▒ ile tan─▒mlad─▒k. Ard─▒ndan daha ├Ânce elektrikte oldu─ču gibi ┬ôtbats┬ö komutunu kullanarak par├žalar─▒na ve modele ay─▒raca─č─▒z.

?tbats

Komutu yazd─▒─č─▒m─▒zda zaten e─čer ┬ôforecast┬ö paketini y├╝kledi iseniz, bir yard─▒m ekran─▒ g├Âz├╝kecektir. R Studio┬ĺda ise ekran─▒n sa─č alttaki k─▒sm─▒na tbats┬ĺi a├žar. Tbats┬ĺda modelleme i├žin veri serimizi mutlaka msts ile tan─▒mlamal─▒y─▒z.

TBATS asl─▒nda bir ├žok modelleme sistemini bir arada kullanan ve genelde model parametrelerini test ederek otomatik se├žen bir algoritmad─▒r. En ba┼čar─▒l─▒s─▒ m─▒? Tabii ki hay─▒r, say─▒lar sadece ba┼čka say─▒lar ile ili┼čki kurarlar, alt─▒nda yatan fiziksel nedenleri bilemezler, o y├╝zden daima iyi uzmanlar─▒n say─▒lar─▒n i┼členmesinden gelen sonu├žlar─▒ yorumlamas─▒n─▒ isteyin.

Dolay─▒s─▒yla hi├žbir parametre girmeden (zaten msts┬ĺte bir grup sezon parametresi girmi┼čtik) komutu do─črudan ├žal─▒┼čt─▒r─▒yoruz. Komutun ├žal─▒┼čmas─▒ biraz zaman al─▒yor (15sn-1.5 dk). Sab─▒rla bekleyin, sonra ekrana imle├ž gelince de sonucu ekrana ├žizdirin. Ekrana ├žizdirirken, grafi─čimizin ba┼čl─▒─č─▒n─▒ da ┬ôSezonsal yap─▒ta┼člar─▒na ayr─▒┼čt─▒r─▒lm─▒┼č TBATS modeli┬ö olarak belirlemek i├žin ┬ômain┬ö parametresini kullanal─▒m.

 

model_dg<-tbats(t_dg)

plot(model_dg,main="Sezonsal yap─▒ta┼člar─▒na ayr─▒lm─▒┼č TBATS Modeli")

Yukar─▒dan a┼ča─č─▒ bakt─▒─č─▒m─▒zda, sezonsal bile┼čenlerine ayr─▒lm─▒┼č ana t├╝ketim verimizi g├Ârebiliriz. Bu verilerin analizi k─▒saca

-          Level: verimizde bir y├╝kseli┼č trendi var. Yani T├╝rkiye┬ĺnin do─čalgaz t├╝ketimi art─▒┼č─▒n─▒ s├╝rd├╝r├╝yor.

-          Season1, 6 ayl─▒k veriydi, k─▒┼č ve yaz aylar─▒ndaki elektrik ├╝retimindeki do─čalgaz┬ĺdan kaynaklanan bile┼čendi

-          Season 2, hicri takvimden kaynaklanan bile┼čendi, burada baz─▒ dik tepeler ve plato tepeler var, bunlar─▒ da ancak s─▒cakl─▒k ile ay─▒rabilirsiniz.

-          Season 3 ise bildi─čimiz senelik d├Âng├╝ ki g├Ârd├╝─č├╝n├╝z gibi k─▒┼č─▒n en ├╝st t├╝ketimi yap─▒yor

9.5 Do─čal Gaz Projeksiyonu Yapmak

Teknik olarak do─čalgaz talep tahmin modelleri yapmak, biraz daha fazla veri ve bak─▒┼č ister, mesela alt k─▒r─▒l─▒mlar ne, nelerden etkileniyor, ekonomik b├╝y├╝me ne, s─▒cakl─▒k ne, r├╝zgar, nem vs┬ů Fakat modelinizde ne kadar ├žok parametre olursa o parametreleri de ileri ta┼č─▒mak zorunda kalaca─č─▒n─▒zdan onlar─▒ da tahmin etmeniz gerekir. Mesela her parametre de %5 hata yapsan─▒z, ilk y─▒l i├žin hata marj─▒n─▒z 1.05*1.05┬ĺten %10┬ĺlara ula┼č─▒r. E─čer 10 parametreniz olsa ve her birinde %5 hatan─▒z olsa sadece ilk y─▒l i├žin %60┬ĺ─▒n ├╝zerinde hata yapma ihtimaliniz olabilir. O y├╝zden basit ve anla┼č─▒labilir bir modeliniz olsun, bu modeli T cetveli gibi kullanarak daha karma┼č─▒k modellere ┼čablon haz─▒rlay─▒n.

O y├╝zden basit tutal─▒m, forecast k├╝t├╝phanesinin ├žok basit bir komutu var: ┬ôforecast┬ö.

K─▒saca

forecast(model_verisi, h=ileri_gidilecek_periyod_say─▒s─▒*periyoddaki_verisay─▒s─▒)

asl─▒nda t├╝m hesaplamalar─▒ yap─▒yor. Sonu├žlar─▒ say─▒sal gelece─činden ekrana ├žizdirmek daha faydal─▒ olacakt─▒r.

plot(forecast(model_dg,h=120),main="2015-2025 Ayl─▒k Do─čalgaz Projeksiyonu")

 

Yukar─▒da g├Âr├╝ld├╝─č├╝ gibi, sadece bir komut ve ileri gidilecek ay say─▒s─▒n─▒ girerek t├╝m bir projeksiyonu olu┼čturduk. Burada

-          model_dg: tbats komutundan elde etti─čimiz otomatik bir model dosyas─▒ (yani sistem en iyi modeli se├žti)

-          ┬ôh=120┬ö k─▒sm─▒ ise 120 ay ileriye gidilmesini belirtti.

-          main=┬á ile de ba┼čl─▒─č─▒ olu┼čturduk.

Dikkat edilirse gelece─če do─čru giden k─▒s─▒m 3 renkli

-          mavi renk: ortalama

-          gri renk: %80 kesinlikli k─▒s─▒m

-          a├ž─▒k gri renk ise %95 kesinlikli s─▒n─▒r─▒ g├Âstermektedir.

Mavi renk ortada olmak ├╝zere alt ve ├╝st k─▒s─▒mlarda gri ve a├ž─▒k gri k─▒s─▒mlar, ├╝st%80┬ĺlik veya ├╝st %95┬ĺlik k─▒s─▒m ve alt %80┬ĺlik veya alt %95┬ĺlik k─▒s─▒m─▒ g├Âstermektedir.

9.6 T├╝m Projeksiyon Sonu├žlar─▒n─▒ G├Ârmek

Evet, bir projeksiyon yapt─▒k ve t├╝m sonu├žlar─▒ ekrana ├žizdirdik. Peki ya say─▒sal verileri almak istersek ne yapmam─▒z gerek.

├ľncelikle projeksiyonu ekrana yazd─▒rmak yerine bir de─či┼čkene almam─▒z gerekiyor.

veriler=forecast(model_dg,h=120)

komutu bu i┼č i├žin yeterli olacakt─▒r. ├×imdi t├╝m model kestirim sonu├žlar─▒m─▒z bir de─či┼čkene atanm─▒┼č durumdad─▒r. ┬ôveriler┬ö de─či┼čkeni olduk├ža veri yo─čun bir de─či┼čkendir. Bunu yap─▒s─▒ndan da g├Ârebiliriz.

str(veriler)

Veriler┬ĺde modelin t├╝m parametreleri ve sonu├žlar, hatalar vs bir ├žok veri bulunmaktad─▒r. ├ľnce modelimizin hangi aral─▒klarda hesap yapt─▒─č─▒na bakal─▒m. Bunun i├žin:

veriler$level

Komutu bize %80 ve %95 alt ve ├╝st s─▒n─▒rlarda hesap yapt─▒─č─▒n─▒ g├Âstermektedir.

Yani sadece projeksiyon yapmay─▒p, ayn─▒ zamanda alt ve ├╝st kesinlik aral─▒klar─▒ ile kestirim sonu├žlar─▒ bulunmaktad─▒r.

Bu %80 ve %95 s─▒n─▒rlar ┬ôveriler┬ö parametresi i├žinde:

upper ve lower dizilerinde bulunmaktad─▒r. Her iki dizi de iki s├╝tundan olu┼čmaktad─▒r. Bir de ortalama oldu─čunu d├╝┼č├╝n├╝rsek, toplamda elimizde 5 senaryo┬á olacakt─▒r. T├╝m bunlar─▒ dosyaya yazd─▒rabiliriz.

9.7 T├╝m senaryolar─▒ bir araya getirmek

%80 ve %95 hesaplar─▒ maalesef zaman serisinin orijinal elemanlar─▒na sahip de─čildir. Bu y├╝zden i┼čimiz biraz Lego vari bir i┼če d├Ânmektedir. Verilerimizin bulundu─ču dizi de─či┼čkenleri a┼ča─č─▒da verilmi┼čtir.

 

%95 ├╝st s─▒n─▒r

%80 ├╝st s─▒n─▒r

ortalama

%80 alt s─▒n─▒r

%95 ├╝st s─▒n─▒r

Veri noktas─▒

veriler$upper[,2]

veriler$upper[,1]

veriler$mean

veriler$lower[,1]

veriler$lower[,2]

 

Bu verilerdeki de─či┼čkenleri ┼ču ┼čekilde dizmeye ├žal─▒┼čaca─č─▒z. En ba┼čta s├Âyledi─čimiz gibi dg[,13] bizim t├╝ketim tarihsel verileriydi. 2010┬ĺdan 2015 2.aya uzan─▒yordu.

s├╝tunlar

%95 ├╝st s─▒n─▒r

%80 ├╝st s─▒n─▒r

ortalama

%80 alt s─▒n─▒r

%95 ├╝st s─▒n─▒r

2010

2015

dg[,13]

dg[,13]

dg[,13]

dg[,13]

dg[,13]

2015-2024

veriler$upper[,2]

veriler$upper[,1]

veriler$mean

veriler$lower[,1]

veriler$lower[,2]

 

Bu y├╝zden

- rbind: yani sat─▒rlar─▒ alt alta yap─▒┼čt─▒rma

- cbind : s├╝tunlar─▒ yan yana yap─▒┼čt─▒rma

Komutunu kullanaca─č─▒z,

├ľnce ├╝st-alt s─▒n─▒r ve ortalamay─▒ yan yana s├╝tun s├╝tun bir araya getirece─čiz.

a1=cbind(veriler$upper[,2],veriler$upper[,1],veriler$mean,veriler$lower[,1],veriler$lower[,2])

bir ┬ôa1┬ö verimiz oldu. ├×imdi 5 tane de tarihsel t├╝ketimi yan yana yap─▒┼čt─▒ral─▒m.

a2=cbind(dg[,13],dg[,13],dg[,13],dg[,13],dg[,13])

┼čimdi iki veriyi alt alta yap─▒┼čt─▒ral─▒m. ├ľnce a2 sonra alt─▒na a1 gelecek ┼čekilde veri tablomuzu olu┼čtural─▒m.

a=rbind(a2,a1)

 

Verimize bakarsak ┬ôhead(a)┬ö komutu ile a┼ča─č─▒daki tabloyu buluruz.

 

Ard─▒ndan da yeni olu┼čan veri tablomuzu (2010 Ocak┬ĺtan 2024┬ĺe kadar olan verimizi) zaman serileri ile zaman damgalar─▒n─▒ olu┼čtural─▒m. Sonra da ┬ôsonuc-dg.csv┬ö dosyas─▒na yazal─▒m. Burada unutabilirsiniz diye tekrar library(zoo) komutunu ekledim. ├ç├╝nk├╝ zaman serisi ile yazmak i├žin en zahmetsiz komut zoo k├╝t├╝phanesindeki ┬ôwrite.zoo┬ö komutudur.

Burada dikkat edilmesi gereken ┬ôa┬ö ad─▒yla tan─▒mlad─▒─č─▒m─▒z veri tablosunun ├╝zerinde

a<-ts(a,start=c(2010,1),frequency=12)

 

ile 2010 Ocak ay─▒ndan ba┼člayan ve 12┬ĺ┼čer ayl─▒k frekansl─▒ veriyi tan─▒ml─▒yoruz. Elde etti─čimiz zaman serisi haline getirilmi┼č bir a tablosudur.

a<-ts(a,start=c(2010,1),frequency=12)

library(zoo)

write.zoo(a,"sonuc-dg.csv",sep=";")

┬ôsonuc-dg.csv┬ö dosyas─▒n─▒ a├žarsak da a┼ča─č─▒daki ┼čekilde sonu├žlar─▒ g├Âr├╝r├╝z.

 

9.7 Ayl─▒k ├ľng├Âr├╝leri Y─▒ll─▒─ča ├çevirmek

Asl─▒nda R┬ĺda her┼čey kolay gibi g├Âz├╝kmesine ra─čmen zaman serilerinde i┼čler ger├žekten ├žok kar─▒┼čabiliyor. Bu y├╝zden, bu k─▒sm─▒ internetteki kaynaklardan tekrar g├Âzden ge├žirin. ├ç├╝nk├╝ veri serilerinin zamansal ba─člant─▒lar─▒ do─čru okunamaz ise sonu├žlar ├žok kar─▒┼čabilir.

Bu sebeple i┼člerimizi kolayla┼čt─▒racak ┬ôzoo┬ö k├╝t├╝phanesini kullan─▒yoruz.. library(zoo) ile k├╝t├╝phaneyi se├žiyoruz.

├ľnce verilerimizi y─▒ll─▒k toplamlar haline getirmeye ├žal─▒┼č─▒yoruz. Bunun i├žin ┬ôaggregate┬ö komutunu kullan─▒yoruz. Bu komutta iki parametre ├Ânemli birincisi ┬ônfrequency=1┬ö, yani verimizde 12 ay da bir d├Ânem at─▒yordu ya, d├Ânemsel hale getir, ikincisi olan ┬ôFUN=sum┬ö ise, her d├Ânem sonunda ┬ôsum┬ö yani toplam komutu ile d├Ânemdeki t├╝m verilerin toplam─▒n─▒ elde edelim.

 

Senaryolar─▒m─▒z─▒n y─▒ll─▒k toplamlar─▒ da g├Âr├╝lmektedir. Bu en ├╝st ve en alttaki ├žizgiler, do─čal gaz t├╝ketiminin %95 ihtimal ile bu iki aradan birinde olaca─č─▒n─▒ s├Âylemektedir.

Her grafi─či birbirinden ayr─▒ ekranlarda g├Âstermek i├žin ise

x11()

komutunu kullanabilirsiniz. B├Âylelikle ├žizdi─činiz t├╝m grafikler ayr─▒ ekranlarda yer al─▒r.

Sonu├ž

Bu b├Âl├╝mde s─▒ras─▒ ile:

-          JodiDB.org sitesinden T├╝rkiye gaz t├╝ketimi ile ilgili verileri nas─▒l indirece─čimizi,

-          Bu verileri nas─▒l zaman serisi haline getirece─čimizi,

-          Do─čal gaz verilerinde bulunan 3 d├Ânemselli─či (6 ayl─▒k, 11.64 ayl─▒k, 12 ayl─▒k) nas─▒l sisteme ekleyerek, verimizi alt bile┼čenlere ay─▒raca─č─▒m─▒z─▒,

-          Forecast komutu ile elde etti─čimiz otomatik modeli nas─▒l belirli bir d├Ânem ileri g├Ât├╝rebilece─čimizi,

-          Forecast sonucundan $upper ve $lower alt dizileri ile %80 ve %95 kesinlikli alt s─▒n─▒rlar─▒ alabilece─čimizi,

-          rbind┬á ve cbind ile veri serilerini birbirine ekleyerek b├╝y├╝k veri tablolar─▒ olu┼čturabildi─čimizi,

-          Veri setimizi d├╝zene sokarak csv yani Excel┬ĺin okuyabilece─či hale getirebilece─čimizi,

-          Veri setimizdeki d├Ânemsellikleri de─či┼čtirerek (ayl─▒k-> y─▒ll─▒k) ile ayl─▒k verilerden y─▒ll─▒k toplamlara nas─▒l gidebilece─čimizi

g├Ârd├╝k.

Do─čal gaz talep tahminlerinde ise :

-          On g├╝nl├╝k Dogalgaz ve Elektrik Modeli, http://www.barissanli.com/calismalar/2013/ODET-v01.pdf

Gibi yay─▒nlarda daha farkl─▒ de─či┼čkenler ve daha analitik ├žal─▒┼čmalar yapmak m├╝mk├╝nd├╝r. Bu ├žal─▒┼čma da ise otomatik model se├žiminin de asl─▒nda fena sonu├žlar do─čurmad─▒─č─▒n─▒ g├Ârd├╝k.

Veri sonu├žlar─▒m─▒z ise bu adrestedir:

http://www.barissanli.com/calismalar/dersler/r/sonuc-dg.csv

 

 

 

Komutlar

#├Ânce do─čalgaz verilerinin oldu─ču dizine gidelim

#bu dizin siz de masa├╝st├╝ de olabilir

setwd("C:/dogalgaz-projeksiyon/")

# dir komutu dizindeki dosyalar─▒ ekrana yazar

dir()

 

#do─čru dizindeysek csv dosyas─▒n─▒ y├╝kleyelim

dg=read.csv("dogalgaz-jodi.csv",sep = ";")

 

#verinin yap─▒s─▒na bakal─▒m, neden? E─čer verileri do─čru okudu ise verileri numeric

#g├Âsterecektir. Mutlaka plot ile ekrana ├žizin, verileri say─▒sal olarak okudunuz mu diye

str(dg)

 

# 13. S├╝tundaki verinin t├╝m sat─▒rlar─▒n─▒n ( dg[sat─▒r, s├╝tun]) ├žizdirip ba┼čl─▒k atal─▒m

plot(dg[,13],type="l",main="T├╝ketim Geli┼čimi")

 

library("forecast")

library(zoo)

 

 

plot(model_dg,main="Sezonsal yap─▒ta┼člar─▒na ayr─▒lm─▒┼č TBATS Modeli")

t_dg=msts(dg[,13],start=2010,seasonal.periods=c(12*354.37/365,12))

model_dg<-tbats(t_dg)

#x11()

plot(model_dg)

x11()

plot(forecast(model_dg,h=120),main="2015-2025 Ayl─▒k Do─čalgaz Projeksiyonu")

veriler=forecast(model_dg,h=120)

a1=cbind(veriler$upper[,2],veriler$upper[,1],veriler$mean,veriler$lower[,1],veriler$lower[,2])

a2=cbind(dg[,13],dg[,13],dg[,13],dg[,13],dg[,13])

a=rbind(a2,a1)

a<-ts(a,start=c(2010,1),frequency=12)

write.zoo(a,"sonuc-dg.csv",sep=";")

verigraf=aggregate(a,nfrequency = 1,FUN=sum)

x11()

plot(verigraf,plot.type="s")

x11()

palette(rainbow(7))

plot(verigraf,plot.type="s",col=as.integer(time(verigraf)),main="Ayl─▒k verilerin Y─▒ll─▒k Toplamlar Cinsinden G├Âsterilmesi")