Zaman Serileri Analizi 2 Ek: Zaman Serilerinin Görselleştirilmesi
Zaman serileri
Author
Murat Öztürkmen
Published
December 17, 2021
Ek 2: Zaman Serilerinin Görselleştirilmesi
Bir zaman serisinin analizine başlamadan önce, serinin geldiği alanın bilmenin yanında, serinin nasıl göründüğünü bilmek, bize birçok ipucu sağlar. Bu ek yazıda, zaman serilerini görselleştirmek için yararlı olabilecek bazı Python çerçevelerini göreceğiz. İlerleyen yazılarda bunlar oldukça işimize yarayacak ve hatta burda giriş yaptığımız düzeyin de ötesine geçmeye çalışacağız.
Bu yazıda görselleştirmek için üç veri üzerinde çalışacağız: Türkiye için 1960-2020 dönemine ait logaritmik dönüşümü yapılmış yıllık GSYH verisi, İstanbul için 2015-01:2021-11 dönemi aylık trafik endeksi ve son 5 yıllık döneme ait günlük Vestel hisse senedi verileri. Bu verileri çalışma ortamına alalım:
Son iki çizimde, ızgara (grid) özelliklerini de ekledik. Son çizimde grafiğe başlık ekledik. Seyrek gözlemli zaman serilerini çizerken, ızgara gibi işaretleyici (marker) eklemek de çizimi okumayı ve yorumlamayı kolaylaştırabilir. Yukarıdaki çizim için bunu marker="o" argümanı ekleyerek yapalım:
Zaman serilerini çizerken, yıllık bazda trendi, aylık/haftalık bazda da mevsimselliği görmek için kutu çizimleri (box plot) yararlı olabilir. Trafik indeksi verisi için ay ve yıl değişkenlerini oluşturup yıllık ve aylık bazda kutu çizimlerini yapalım:
Mevsimselliğin çizilmesiyle eğer varsa mevsimsellik daha net görülebilir, önemli değişimler daha net görülebilir. Trendin çizilmesiyle, yıl ve ay bazında önemli değişimler ve uç durumlar daha açık olarak görülebilir.
E.2.2. Etkileşimli Görselleştirme-1: plotly ve plotly-express
Gerek zaman serilerinde gerekse de farklı veri tiplerinde olsun, özellikler web bazlı grafik çıktılarında etkileşimli çizimler, sunum ve veri inceleme açısından statik çizimlere göre birtakım faydalar sunarlar.
İlk olarak plotly ve plotly-express çerçeveleri ile zaman serileri görselleştirmesini yapacağız. Çerçeveyi, bilgisayarınıza indirmek oldukça kolaydır:
pip install plotly
BİST100 kapanış (Close) fiyatlarını plotly ile görselleştirelim:
Yukarıda çizdiğimiz grafik için, çok daha hızlı ve pratik bir yol, plotly-express modülüdür:
# plotly-express modülünü içeri alalımimport plotly.express as pxfig = px.line(vestel_fiyatlar, x = vestel_fiyatlar.index, y = vestel_fiyatlar.Close)fig.show()
E.2.3. Etkileşimli Görselleştirme-2: bokeh ve holoviews
Python ile, etkileşimli çizimler yapmak için geliştirilmiş bir başka çerçeve de bokeh dir. bokeh üzerine geliştirilmiş bir üst seviye çerçeve de holoviews dir. Aslında holoviews, sadece bokeh ile değil, arkaplanda matplotlib, plotly, vega gibi farklı çerçeveler ile birlikte çalışabilen bir arayüz gibidir.
Her iki çerçeveyi de çalışma ortamına eklemek oldukça kolaydır:
İlk olarak bokeh ile çizim yapalım. Bunun için, eğer jupyter notebook gibi bir ortamda çalışıyorsanız, bu ortamda çizimi göstermek için output_notebook() metodunu kullanmanız gerekir.