Makalemizde, Scikit-learn kütüphanesi ile zaman serisi analizi yapmanın en iyi pratiklerini anlatıyoruz Python dilinde yazılan bu yazılım, zaman serilerinin analizinde üst düzey bir araçtır Makalemizde, bu kütüphane kullanılarak zaman serileri modellemesi, tahmini ve yorumlanması hakkında her şeyi bulabilirsiniz

Scikit-learn kütüphanesi, zaman serisi analizi için en etkili araçlardan biridir. Bu makalede, zaman serisi analizi için en iyi pratiklerle ilgili ayrıntılı bilgiler verilecektir. Scikit-learn kütüphanesi ile, zaman serilerindeki anomalilerin tespiti, özellik seçimi ve ön işleme, özellik ölçeklendirme, sıralı verilerin kullanımı, model seçimi ve değerlendirme, hiperparametre islah etme ve model performansının değerlendirilmesi adımları için kullanılabilecek farklı teknikler açıklanacaktır.
Zaman serisi analizi, bir veri setindeki değişikliklerin belirli zaman aralıklarında nasıl değiştiğini inceleyen bir istatistiksel analiz yöntemidir. Bu analiz yöntemi, özellikle finans, meteoroloji, trafik ve stok yönetimi gibi farklı sektörlerde yaygın olarak kullanılmaktadır. Scikit-learn kütüphanesi, zaman serisi analizi için birçok makine öğrenimi modelinin yanı sıra, bu modellerin kullanımını kolaylaştıran bir dizi araç da sunar.
Zaman Serilerindeki Anomalilerin Tespiti
Zaman serilerindeki anomalilerin tespiti, zaman serisi analizi için önemli bir adımdır. Anomaliler, verilerdeki öngörülemeyen veya istenmeyen değişimleri ifade eder. Bu değişimler, ayrık veriler, aykırı değerler veya hatalı ölçümler olarak ortaya çıkabilir. Anomalilerin tespiti için farklı yöntemler kullanılabilir.
Biriken sapma yöntemi, zaman serisi verilerindeki sapmaları hesaplamak için kullanılır. Bu yöntem, biriken standart sapma hesaplamasına dayanmaktadır. Eşik değeri yöntemi ise, belirlenmiş bir eşik değerinin üzerinde veya altındaki verileri aykırı olarak tanımlar. Bu yöntemler, zaman serilerindeki anomali tespitinde yaygın olarak kullanılmaktadır.
Anomali Tespit Yöntemleri | Avantajları | Dezavantajları |
---|---|---|
Biriken Sapma | Yüksek hassasiyetli sonuçlar elde edebilir | Uzun süreli veriler için hesaplamalar yavaş olabilir |
Eşik Değeri | Basit ve hızlı bir yöntemdir | Hassasiyeti düşük olabilir |
Anomali tespit yöntemlerinin avantajları ve dezavantajları göz önünde bulundurularak, hangi yöntemin kullanılacağına karar vermek önemlidir. Zaman serisi analizi için daha uygun olan yöntem, verilerin niteliği ve analiz amacına göre değişebilir.
Özellik Seçimi ve Ön İşleme
Zaman serisi analizinde, veri setlerinin özellik seçimi ve ön işleme, model performansını arttırmak açısından oldukça önemlidir. Özellik seçimi ve ön işleme, veri setinin düzenlenmesi ve model için uygun hale getirilmesi sürecidir. Skikit-learn kütüphanesi ile veri setlerinin özellik seçimi ve ön işleme yöntemleri oldukça kolaydır.
Özellik seçimi için, bazı özelliklerin model performansına katkısı daha fazla olabilir. Bu nedenle, özellik seçiminde özelleştirilmiş özellik seçimi veya filtreleme yöntemleri kullanılabilir. Ön işleme aşamasında, eksik verilerin (missing data) doldurulması, veri dönüşümleri, özelliklerin ölçeklendirilmesi gibi işlemler uygulanabilir.
Scikit-learn kütüphanesi ile özellik seçimi ve ön işleme işlemleri oldukça basittir. Veri setlerindeki eksik verileri doldurmak için, scikit-learn kütüphanesi ile hazırlanan imputer kullanılabilir. Özellik ölçeklendirme için de scikit-learn kütüphanesi ile hazırlanan StandardScaler veya MinMaxScaler kullanılabilir.
Bazı durumlarda, veri setindeki özellikler yetersiz olabilir ve yeni özellikler (feature) oluşturulması gerekebilir. Bu işlem için, scikit-learn kütüphanesi ile hazırlanan PolynomialFeatures kullanılabilir. Ön işleme işlemi sırasında, veri seti zamana göre sıralanır ve geçmiş verilerin kullanımı, model performansını arttırabilir.
Özetle: Zaman serisi analizinde model performansını arttırmak için, özellik seçimi ve ön işleme işlemleri oldukça önemlidir. Scikit-learn kütüphanesi ile bu işlemler oldukça basittir ve veri setlerinin model için uygun hale getirilmesi sürecini kolaylaştırır.
Özellik Ölçeklendirme
Zaman serisi verilerinin analizi için özellik ölçeklendirme oldukça önemlidir. Zira, farklı özelliklerin farklı birimlerde ölçülmesi durumunda, bu özellikler arasında doğru bir karşılaştırma yapılamaz. Örneğin, bir zaman serisi analizinde hava sıcaklığı (°C) ve nem oranı (g/m³) verileri aynı özellik olarak kullanılmamalıdır. Bunun yerine, özellikler aynı birimde ölçeklendirilmeli, böylece yanlış yorumlamaların ya da model performansının düşük olmasının önüne geçilmelidir.
Bunun için, scikit-learn kütüphanesi içerisinde yer alan StandardScaler sınıfı kullanılabilir. Bu sınıf, her bir özelliğin ortalamasının sıfır ve standart sapmasının birim olduğu bir dağılım oluşturur. Böylece, her bir özelliğin aynı ölçekte olduğu bir veri seti elde edilir. Ayrıca, ölçeklendirme işlemi için farklı sınıflar ve yöntemler de mevcuttur. Özelleştirmek ve ölçeklendirme işlemine uygun hale getirmek için de özelleştirilebilir "Transformer" sınıfları kullanılabilmektedir. Bu sayede, veri setini istenilen şekilde ölçeklendirme imkanı sağlanır.
Özetle, zaman serisi verilerinin analizi için özellik ölçeklendirme işlemi oldukça önemlidir. Bu işlem sayesinde, farklı birimlerde ölçülen özellikler arasında doğru bir karşılaştırma yapılabilir ve model performansı düşürücü faktörlerin önüne geçilebilir.
Zaman Serileri için Özelliklerin Çıkarılması
Zaman serisi verilerinden özelliklerin doğru bir şekilde çıkarılması, değişkenlikleri ve eğilimleri tanımlamayı sağlar. Zaman serisi verilerinden elde edilen özellikler, makinelere öğrenme için kullanılır. Bu veriler üzerinde, scikit-learn kütüphanesinde yer alan yöntemler kullanılarak özellikler çıkarılabilir.
Zaman serileri verileri belirli bir aralıkta toplanan verilerdir. Burada özellik çıkarımı için farklı zaman aralıklarındaki değişimleri yakalayacak özellikler belirlenmelidir. Bu noktada, öznitelik mühendisliği önem kazanır. Zaman serisi verilerinden elde edilen özellikler, makinelere öğrenme için kullanılır. Bu veriler üzerinde, scikit-learn kütüphanesinde yer alan yöntemler kullanılarak özellikler çıkarılabilir.
Bu yöntemler arasında, verilerin dönemsel karakteristiği olan Fourier dönüşümü ve örnekleme aralığında ortalama, standart sapma, minimum ve maksimum değer gibi istatistiksel özellikler yer alır. Bu özelliklerle birlikte, veri kümelerinin zaman özellikleri de hesaba katılabilir.
Outlier Tespiti ve Tedavisi
Zaman serileri analizinde outlierları tespit etmek ve düzeltmek, analiz sonuçlarını doğru bir şekilde elde etmek için önemlidir. Outlierlar, verilerin gerçek dağılımını etkileyen anormal değerlerdir. Modelin outlierlara duyarlı olması durumunda, model performansı önemli ölçüde düşebilir.
Bu nedenle, zaman serilerindeki outlier verilerin tespiti ve tedavisi, model performansını iyileştirmek için önemlidir. Outlier tespiti için kullanılabilecek yöntemler arasında z-score, hareketli ortalama veya standart sapma yöntemleri gibi istatistiksel yöntemler yer alır. Ancak, outlier tespitinde tek bir yöntemin kullanılması önerilmez. İstatistiksel yöntemler ile beraber görsel yöntemler de kullanılmalıdır. Örneğin, zaman serilerinin grafikleri çizilerek verilerin anormal noktaları görsel olarak tespit edilebilir.
Outlier tedavisi için ise, verilerin yeniden ölçeklendirilmesi veya outlierların çıkarılması yoluyla işlem yapılabilir. Ölçeklendirme yöntemi, outlierların varlığı durumunda veri dağılımının yeniden ölçeklendirilmesini sağlamaktadır. Diğer bir yöntem ise, outlierların çıkarılmasıdır. Ancak, outlierların çıkarılması verilerin kaybına yol açabileceğinden dikkatli bir şekilde yapılması gereklidir.
Zaman Serilerinde Sıralı Verilerin Kullanımı
Zaman serilerinde verilerin sıralı olması, modelin verilerdeki yapıyı daha iyi anlamasına ve gelecekteki tahminlerin daha doğru olmasına yardımcı olur. Örneğin, bir finansal veri setinde, hisse senedi fiyatları her gün belirli bir sırayla raporlanır ve bu sıralamanın göz ardı edilmesi, trendlerin ve değişimlerin yanlış anlaşılmasına yol açabilir.
Ayrıca, sıralı verilerin kullanımı, bazı modellerde istenen sonuçların elde edilmesi için gerekli bir özelliktir. Gerekli olan bu özelliğin yokluğu, modelin doğruluğunu olumsuz etkileyebilir.
Örnek | Tarih | Değer |
---|---|---|
1 | 2020-01-01 | 10 |
2 | 2020-01-02 | 15 |
3 | 2020-01-03 | 12 |
4 | 2020-01-04 | 18 |
Yukarıdaki örnek, bir finans veri setindeki sıralı verilerin örnek bir listesidir. Bu tür bir veri kümesi, zaman serisi analizinde doğru sonuçlar elde etmek için sıralı olarak takip edilmelidir.
Model Seçimi ve Değerlendirme
Model seçimi, zaman serisi analizinde doğru sonuçlar elde etmek için hayati bir öneme sahiptir. Scikit-learn kütüphanesi birçok farklı model seçeneği sunar. Burada, bazı popüler modellerin özellikleri, avantajları ve dezavantajları ele alınacaktır.
Model | Avantajları | Dezavantajları |
---|---|---|
ARIMA (Otomatik Regresyonlu Entegreleyici Hareketli Ortalama) | Basitlik ve hızlı hesaplama | Yalnızca tek yönlü modellere uygun |
SARIMA (Sezgisel Regresyonlu Entegreleyici Hareketli Ortalama) | Sezgisel parametre ayarlaması ve genişletilmiş ARIMA modeli | Karmaşık parametre seçimi |
Prophet | Kullanımı kolay ve sezgisel modelleme | Karmaşık yapıların modellemesi zordur |
LSTM (Uzun Kısa Süreli Bellek) | Kompleks yapıların modellemesi ve çoklu girdi modellemesi için idealdir | Hesaplama maliyeti yüksektir ve aşırı uyuma (overfitting) eğilimlidir |
- ARIMA: Otomatik Regresyonlu Entegreleyici Hareketli Ortalama, birçok zaman serisi analizinde kullanılan basit bir modeldir. Yalnızca tek yönlü modelleme yapabilir ve sezgisel olmayan parametre tanımlaması gerektirir, ancak hızlı hesaplama özelliği sayesinde büyük veri kümeleri için uygundur.
- SARIMA: Otomatik Regresyonlu Entegreleyici Hareketli Ortalama, sezgisel parametre ayarlaması sayesinde ARIMA modelini genişletir. Karmaşık parametre seçimi nedeniyle, diğer yöntemlere göre daha fazla zaman ve çaba gerektirir, ancak yöntemle, sezgisel olmayan model yapılarının modelleme yeteneği, diğer yöntemlerin başarısız olabileceği birçok durumda faydalıdır.
- Prophet: Facebook tarafından geliştirilen bir zaman serisi modelidir. Kullanımı kolaydır ve sezgisel, sınırlı bir yapıya sahiptir. Ancak, karmaşık yapıların modellemesi zor olduğundan, diğer yöntemlerle karşılaştırıldığında daha az esnek bir çözümdür.
- LSTM: Uzun Kısa Süreli Bellek, tam ölçekli modellerle karmaşık yapıların modellemesi ve çoklu girdi modellemesi için idealdir. Ancak, hesaplama maliyeti yüksektir ve aşırı uyuma (overfitting) eğilimlidir. Bu nedenle, modelin uygun bir şekilde hiperparametre değişkenleri ile eğitildiğinden emin olmak önemlidir.
Hangi modelin kullanılacağı, veri setinin yapısal özelliklerine, analiz amacına ve modelin kullanım amaçlarına bağlıdır. Her modelin kendine özgü avantajları ve dezavantajları vardır, bu nedenle veri seti analizi öncesinde, model seçimiyle ilgili detaylı bir analiz yapmak zaman ve çaba gerektirir. Modellerin performans değerlendirmesi, doğruluk, hatırlama değeri, hassasiyet, gerçek pozitif oranı ve doğru negatif oranı gibi metrikler kullanılarak yapılabilir.
Zaman Serilerinde Hiperparametre Islah Etme
Zaman serilerinde kullanılan modellerin performansı, modelin hiperparametreleriyle doğrudan ilişkilidir. İdeal model parametreleri, zaman serisi analizinde elde edilmesi gereken en önemli sonuçlardan biridir. Bu nedenle, hiperparametre islah etme tekniklerinin kullanımı çok önemlidir.
Hiperparametre islah etmek için birkaç farklı yöntem vardır. Cross-validation ve GridSearchCV en yaygın kullanılan tekniklerdendir. Cross-validation, modelin performansını ölçmek ve optimum hiperparametreleri belirlemek için kullanılır. GridSearchCV, farklı hiperparametre kombinasyonlarının denendiği bir eniyileme işlemidir. Bu iki yöntem, modelin performansını arttırmak için oldukça kullanışlıdır.
Hiperparametre Islahının Adımları |
---|
1. Kullanılacak modelin seçimi |
2. GridSearchCV veya benzer bir teknik ile hiperparametre kombinasyonlarının belirlenmesi |
3. Cross-validation ile veri setinin bölünmesi ve performans ölçümünün gerçekleştirilmesi |
4. En iyi hiperparametre kombinasyonunun seçimi ve final modelinin oluşturulması |
Bununla birlikte, hiperparametre islah teknikleri, zaman serisi analizi için mutlak sonuçlar sağlamaz. Bu yüzden, modelin performansının düzgün bir şekilde değerlendirilmesi gerekir. Ayrıca, farklı hiperparametre kombinasyonlarının denenebilmesi için yeterli veri bulunması önemlidir.
Model Performansının Değerlendirilmesi
Zaman serisi analizinde, model performansı için doğru metriklerin kullanılması oldukça önemlidir. Modelin başarısını ölçmek için kullanılabilecek metrikler, iş probleminin doğasına bağlı olarak değişebilir. Bu nedenle, doğru metrikleri seçmek ve yorumlamak, doğru sonuçlar elde etmek için önemlidir.
Model performansını değerlendirmek için kullanılabilecek farklı metrikler vardır. Bazı yaygın kullanılan metrikler şunlardır:
- Ortalama Kare Hata (MSE): Modelin veriler arasındaki ortalama kare hatasını ölçer.
- Ortalama Mutlak Hata (MAE): Modelin veriler arasındaki ortalam mutlak hatasını ölçer.
- R-kare (R²): Modelin verileri ne kadar iyi açıkladığını ve ne kadar varyansı açıkladığını ölçer.
- Akaike Bilgi Kriteri (AIC): Modelin gözlemlenen veriye ne kadar iyi uymasını ve veri setindeki değişiklikleri ne kadar iyi tahmin ettiğini ölçer.
- Bayesian Bilgi Kriteri (BIC): Modelin veri setindeki değişkenlikleri göz önüne alarak dengelemesini sağlayan bir metriktir.
Bu metrikler, hem eğitim verilerinde hem de test verilerinde kullanılabilir. Model performansını test etmek için, test seti kullanılarak doğruluk, hassasiyet ve özgünlük gibi farklı metrikler de hesaplanabilir.
Bunların yanı sıra, zaman serisi verilerindeki performansın değerlendirilmesi, öngörülen değerlerle gerçek değerler arasındaki farkların gözlenerek yapılabilir. Modelin doğruluğunu arttırmak için, model yeni verilerle test edildiğinde benzer performansı gösterebilmelidir.
Tüm bu metrikler, eğitim sırasında modelin performansını ölçer ve hiperparametre ayarlama prosedüründe rehberlik edebilir. Bu, doğru model seçimini ve en iyi sonuçları elde etmek için gereklidir.