Hava durumu tahmini için veri madenciliği tabanlı bir model geliştirilmesi
Development of a data mining based model for weather forecasting
Yazar: YUNUS EMRE CEBECİ
Danışman: PROF. DR. ŞULE ÖĞÜDÜCÜ
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Hava durumu tahmini, mevcut meteorolojik veriler kullanılarak gelecek zamana yönelik hava durumunun tahmin edilmesidir.  Hava durumu tahmininde geçmiş zamanlı veri kullanıldığı için bir zaman serisi problemidir. Model oluşturulurken giriş değerlerinin zamana göre ayarlanması için kayan pencere metotu kullanılır. Giriş değerleri bu şekilde ayarlandıktan sonra çıkış değerlerini üretmek için veri madenciliği algoritmaları uygulanabilir.

Yapılan çalışmalar incelendiğinde çözüm olarak lineer veya lineer olmayan algoritmalar hem çok boyutlu veri seti üzerinde hem de tek boyutlu veri seti üzerinde uygulanmıştır. Lineer metotlardan Auto Regressive Moving Average, lineer olmayan metotlardan da Support Vector Regression, Çok Katmanlı Algılayıcılar, Stacked Denoising AutoEncoders, Long Short - Term Memory metotları kullanılmıştır. Bu yöntemlere ek olarak Gated Recurrent Unit, Recursive Feature Elimination ve geliştirilmiş olan topluluk algoritması da veri setine uygulanmış ve elde edilen sonuçlar bu çalışmada gösterilmiştir.  Yapılan hava durumu tahminleri yakın zamanlı tahminler olabileceği gibi daha uzun zamanlı tahminler de olabilmektedir. Sonuçların karşılaştırılması için Kök Ortalama Kare Hatası metriğinden yararlanılmıştır.

Bu çalışmada İstanbul'daki Balabanağa İstasyonu'ndaki 2017 yılına ait olan saatlik meteorolojik veriler kullanılmıştır. Bu veri seti bulutluluk oranı, çiy noktası, nem, ikon, basınç, özet, zaman, rüzgar yönü, rüzgar hızı, sıcaklık özelliklerine sahiptir. 

Ön işleme aşamasında One Hot Encoding ve min max normalizasyonu uygulanırken Recursive Feature Elimination modelinde tek boyutlu veri seti için ön işleme adımında Recursive Feature Elimination uygulandıktan sonra boyutu azaltılmış ve veri Çok Katmanlı Algılayıcılar ile eğitilmiştir. 

Bu çalışmada Long Short - Term Memory gibi derin öğrenme yöntemleri de kullanıldığı için bu modellerin verimli bir şekilde çalışabilmesi için Graphics Processing Unit kullanılması gerektiğinden bu modeller Google Cloud sanal makineleri kullanılarak geliştirilmiştir.

Ön işleme aşamasından sonra ilk olarak tek boyutlu veri seti üzerinde zaman serisi problemi çözümü için lineer sonuçlar üreten Auto Regressive Moving Average algoritması kullanılmıştır. Denenen yöntemler içinde en kötü sonucu Auto Regressive Moving Average vermiştir çünkü veri setindeki örüntü zikzak bir şekle sahipken Auto Regressive Moving Average lineer bir sonuç üretmektedir.

İkinci olarak Support Vector Regression algoritması hem çok boyutlu veri seti üzerinde hem de tek boyutlu veri seti üzerinde kullanılmıştır. Bu algoritma uygulanırken hem radyal fonksiyonlar hem de lineer fonksiyonlar kullanılmıştır. Auto Regressive Moving Average'den farklı olarak lineer olmayan sonuçlar üretildiğinden Auto Regressive Moving Average modelinden daha iyi sonuçlar elde edilmiştir ayrıca bu algoritma tek boyutlu veri setinde daha başarılı sonuçlar vermiştir.

Üçüncü olarak olarak Çok Katmanlı Algılayıcılar modeli oluşturulmuştur. Çok Katmanlı Algılayıcılar modeli Support Vector Regression'dan farklı olarak tek boyutlu veri setinde çok boyutlu veri setine göre daha başarılı sonuç vermiştir.

Dördüncü olarak Stacked Denoising AutoEncoders modeli kullanılmıştır. Bu yöntemde amaç yapay sinir ağının eğitime rastgele ağırlıklarla başlaması yerine Stacked Denoising AutoEncoders modelinin eğitilmiş ağırlıklarıyla başlayarak hatanın daha fazla azaltılmasıdır.

Son yıllarda yapılan çalışmalarda Recurrent Neural Network, Long Short - Term Memory, Gated Recurrent Unit gibi derin öğrenme yöntemleriyle zaman serisi gibi ardışık olan problemlerde iyi sonuçlar elde edilmektedir. Bu modellerde giriş değerleri için bir ağırlık olduğu gibi önceki katmandan gelen veriler için de ağırlıklar bulunmaktadır.
İlk olarak Vanilla Recurrent Neural Network kullanılmıştır ancak bir noktadan sonra hatanının minimize edilmesi durduğundan Long Short - Term Memory modeli denenmiştir. Long Short - Term Memory modeli kapılı bir yapıya sahip olduğu için geri yayılım işlemi sırasında Recurrent Neural Network'daki gibi iteratif bir çarpma işlemine gerektirmemektedir. Bu yüzden Recurrent Neural Network modeline göre daha başarılı sonuçlar üretmiştir. Gated Recurrent Unit, Long Short - Term Memory'e benzer şekilde iki kapılı bir mekanizmaya sahiptir. Bu veri setinde Long Short - Term Memory ile Gated Recurrent Unit'e göre daha başarılı sonuçlar edilmiştir.

Son olarak Recursive Feature Elimination yöntemiyle veri setinin boyutu azaltılıp doğruluk değerinin geliştirilmesi amaçlanmıştır. Çok boyutlu veri seti 168 özelliğe sahip olduğu için bu yöntem bu büyüklükteki veride yavaş kalmış, bu nedenle tek boyutlu veri seti üzerinde uygulanmıştır. Sonuç olarak tek boyutlu Çok Katmanlı Algılayıcılar modelinin başarısı Recursive Feature Elimination ile geliştirilmiştir.

Çok boyutlu veri setinde Long Short - Term Memory ile en iyi sonuç elde edilirken tek boyutlu veri setinde Recursive Feature Elimination ile en iyi sonuç elde edilmiştir. Long Short - Term Memory modelinden elde edilen sonucun geliştirilmesi için Xavier Initilization ve Long Short - Term Memory Encoder Decoder modeli kullanılarak başlangıç ağırlıkları ayarlanmıştır, beklentinin aksine bu doğruluk oranını daha da düşürmüştür. Son olarak modellerin verdiği sonuçların toplamları bir olacak şekilde, her modelin sonucu belirli ağırlık değerleri ile çarpıp hava durumu tahmini yapılmış ve hata düşürülmüştür. Böylece elde edilen hata değerinin 0.6 değerinden daha düşük olması sağlanmıştır. Çalışmada yakın zamanlı hava durumu tahmini yapılmıştır ancak geliştirilen modeller aynı şekilde uzun zamanlı tahminlerde de kullanılabilir.

Abstract:
Weather forecasting is the forecasting of the future weather using available meteorological data. It is a time series problem because past time data is used in weather forecasting. Time series data set consists of  a sequence of variables. Sliding window method is used in order to adjust  these sequence input values based on their time value. Therefore, the data looks like a supervised learning problem. Once the input values are set in this way, data mining algorithms can be applied to generate the output values.

When the studies are examined, linear or nonlinear algorithms are applied both on the multi-dimensional dataset and one dimensional dataset. Auto Regressive Moving Average is used as a linear method and Support Vector Regression, Multilayer Perceptron, Stacked Denoising AutoEncoders, Long Short - Term Memory methods are used as a nonlinear method. In addition to these methods, Gated Recurrent Unit, Recursive Feature Elimination and developed stack generalization algorithm are applied to this data set. The results obtained for both the one-dimensional data set and the multi-dimensional data set are shown and compared in this study. Short-term and long-term weather forecast can be done. Root Mean Square Error metric is used to compare the results.

In this study, hourly meteorological data for 2017 at Balabanağa Station in Istanbul are used. This data set includes cloud rate, dew point, humidity, icon, pressure, summary, time, wind direction, wind speed, temperature features. In the one-dimensional data set, only the temperature feature is used. In the multi-dimensional data set, all features are used and the temperature value is used for forecasting.

One Hot Encoding and min max normalization are applied in the pre-processing stage. In Recursive Feature Elimination model, after applying Recursive Feature Elimination in the pre-processing step for the one-dimensional data set, the size is reduced and the data is trained with Multilayer Perceptron.

Deep learning methods such as Long Short - Term Memory are also used in this study. These models are developed using Google Cloud virtual machines because Graphics Processing Unit must be used in order to work efficiently.

After the preprocessing stage, Auto Regressive Moving Average algorithm, which produces linear results for time series problem solving, is used. Auto Regressive Moving Average gives the worst result because the pattern in the data set has a zigzag shape while Auto Regressive Moving Average produces a linear result.

Secondly, Support Vector Regression algorithm is used on both the multi-dimensional data set and the one-dimensional data set. Both radial and linear kernel functions are used in the implementation of this algorithm. Unlike Autoregressive Moving Average, as non-linear results are produced, better results are obtained than Autoregressive Moving Average model. When the results are examined, it is observed that this algorithm produces more successful results in one dimensional data set.

Thirdly, Multilayer Perceptron model is created. In this model, Rectified Linear Units activation function is used to prevent vanishing gradient problem. Unlike Support Vector Regression, Multilayer Perceptron model is more successful in the one-dimensional data set than the multidimensional data set.

Fourthly, Stacked Denoising AutoEncoders model is used. The objective of this method is to reduce the error by starting with the trained weights of the Stacked Denoising AutoEncoders model instead of starting the artificial neural network with random weights. When the results obtained for this data set are examined, it is observed that the artificial neural network model using trained weights produces more successful results than the artificial neural network model with random weights.

In recent studies, deep learning methods such as Recurrent Neural Network, Long Short Term Memory, and Gated Recurrent Unit yield good results for sequence-to-sequence problems such as time series. Input values have their own weights as well as weights for data from the previous layer. Therefore, it has benefited from the data of the previous time.

First, Vanilla Recurrent Neural Network is used but later Long Short - Term Memory model is applied since minimizing the error stops after one point. Since Long Short - Term Memory model has a gated structure, it does not require an iterative multiplication impact like Recurrent Neural Network during backpropagation process. Therefore, it produces more successful results than Recurrent Neural Network model. It has a two-door mechanism similar to Long Short - Term Memory in Gated Recurrent Unit. Long Short - Term Memory model's results have more successful than Gated Recurrent Unit model's results in this data set.

Finally, Recursive Feature Elimination method is used in order to reduce the size of the data set and improve the accuracy value. Since the multi-dimensional data set has 168 properties, this method has been slow in data of this size, therefore it has been applied on one-dimensional data set. As a result, the success of the one-dimensional Multilayer Perceptorn model has been improved with Recursive Feature Elimination.

In the multidimensional data set, Long Short - Term Memory model has the best result, while in the one-dimensional data set Recursive Feature Elimination has the best result. 

In order to improve the results obtained from Long Short - Term Memory model, the initial weights are first adjusted by Xavier Initilization and Long Short - Term Memory Encoder Decoder method. Contrary to expectations, these methods have further reduced accuracy.

Finally, an algorithm has been developed for stack generalization models to increase the accuracy. Each model has own weight in this algorithm. Sum of these weights equal 1 and their values are updated according to the validation error value as a result of each iteration. As a result, each model's result is multiplied by its own weight and the sum of these results are the final estimate. Thus, the error value obtained is lower than 0.6.

In this study, Short-term weather forecasting models have been created. However, techniques used in this study can be used in order to create long-term weather forecasting models.