|
R ile Enerji Analizi Bölüm 9- Türkiye Aylık Doğal gaz Talep Modeli ve 2025e 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.orgdan) 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 m3leri görürken, yazın tüketimler 110 milyon m3ler civarında olsa da bunun yaklaşık 14-15i 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 Ustanı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 İstanbulda hava sıcaklığı 16 Cnin 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. JODInin en güzel özelliklerinden biri ise aylık verilerin bulunması ve bir çok model için yeterli veriyi içermesidir. Öncelikli olarak websitesine giriyoruz. Sitede sol taraftaki JODI-Gas dizinine tıkladığımızda JODI Gas World veri seti kümesi açılacaktır.
JODI Gas Worlde 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 Ordera 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.
Applya 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 Countrye tıklayarak, yada aynı çerçevedeki sağ-sol oklarına basarak Türkiyeyi 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 Xe tıklayarak tüm seçenekleri kaldıralım. Sonra da alfabetik sıradaki ülkelerden Turkeyi seçelim.
Türkiyeyi seçtikten sonra(altta solda) sadece en yukarıdaki Show Tablea tıklayabiliriz(altta sağda).
Karşımıza Türkiyenin 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.
Downloada 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 ASCIIyi seçin çünkü Türkçede 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 intleri 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 Ocaktan başlayarak(2009 Ocak-2009 Aralık arasında Jodidbde veri yoktu, hücre değerleri 0 idi) , 12 aylık verileri seçmiştik. Ama Rda 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ğustosta ç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 Studioda ise ekranın sağ alttaki kısmına tbatsi açar. Tbatsda 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 mstste 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ürkiyenin doğalgaz tüketimi artışını sürdürüyor. - Season1, 6 aylık veriydi, kış ve yaz aylarındaki elektrik üretimindeki doğalgazdan 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.05ten %10lara 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%80lik veya üst %95lik kısım ve alt %80lik veya alt %95lik 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)
Verilerde 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.
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. 2010dan 2015 2.aya uzanıyordu.
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 Ocaktan 2024e 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 Rda 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 Excelin 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") |