Predictive error compensated wavelet neural networks framework for time series prediction
Zaman serisi tahmini için hata tazminli dalgacık dönüşümlü sinir ağları çerçeve yazılımı
- Tez No: 887331
- Danışmanlar: PROF. DR. BURAK BERK ÜSTÜNDAĞ
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2024
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 97
Özet
Makine öğrenmesi algoritmaları ile, zaman serisi tahmin problemlerinin çözümünde önemli bir yol katedilmiştir; ancak, veriler doğrusal olmayan yapıda, kaotik veya stokastik özellikler barındıran çok değişkenli karakterde ve çevresel faktörlere hassas olduğunda, optimal mimari ve hiperparametreler ile doğru bir makine öğrenimi modeli oluşturmak oldukça zorlaşmaktadır. Bu bağlamda, zaman serisi tahmin modelleri ve çerçeve yazılımlarında karşılaşılan yaygın sorunlar arasında; yeterli özellikte girdi verisi fakat sınırlı etiketli veriye sahip durumlarda ortaya çıkan aşırı uyum (overfitting), yetersiz veya uygun olmayan girdi verileri nedeniyle oluşan genelleştirme (underfitting) problemi, yapay sinir ağlarında iç ağırlıkların doğru bir şekilde ayarlanabilmesi için gereken kapsamlı veri özellikleri çıkarımı ihtiyacı; geliştirilen çözümlerde ağ parametrelerine bağımlılık ve farklı problemlere sınırlı adaptasyon; ve hesaplama açısından pahalı ve aşırı zaman maliyeti üretme sayılabilir. Hata Tazminli Dalgacık Dönüşümlü Sinir Ağları (PECNET), zaman serisi tahminleri için yenilikçi bir yapay sinir ağı mimarisidir. PECNET, verileri farklı frekans bantlarına göre ayrı ayrı kaskad ağlarda eğiterek ve üst ağın kalan hatalarını alt ağda hedef veri olarak kullanarak aşırı uyuma engel olur. PECNET mimarisinde, veriler düşük frekans bandında geniş bir zaman penceresindeki ağla eğitime başlar ve sonraki ağ daha dar zaman pencereleri ve yüksek frekanslı verilerle, önceki ağın hatasını hedef veri olarak alıp eğitilir. Bu yöntem, zaman pencereleri boyunca veri özelliklerinin dikliğini artırır ve veri füzyonu uygulamalarında dik özellikleri seçme imkanı sunar. Ayrıca, daha fazla kaskad ağ eklendikçe tahminlerin başarımını artırarak aşırı uyum riskini azaltır. PECNET'te her ağın çeşitli frekans düzeylerindeki girdi verisine özellik çıkarma yöntemi olarak dalgacık dönüşümü uygulanır, bu da verilerdeki çeşitli desenleri ayırt etmeyi ve çıkarmayı mümkün kılar. PECNET ayrıca, adaptif normalizasyon tekniklerini kullanarak durağan olmayan zaman serisi verilerinde ortaya çıkan geleneksel normalizasyon problemlerini çözebilir. Sonuç olarak, PECNET overfit olmadan sağladığı yüksek tahmin doğruluğu, ağ parametrelerinden bağımsız olarak farklı problemlere uyum sağlama yeteneği ve hesaplama açısından ucuz ve az zaman maliyetli olması nedeniyle (sadece iki katmanlı bir yapay sinir ağı kullanır) zaman serisi tahmin problemlerini çözmek için güçlü bir alternatiftir. PECNET modeli, kademeli ağlardan oluşması, modüler özellik çıkarımları ve füzyon mekanizması içermesi nedeniyle, kodlama seviyesinde uygulama zorlukları barındırmaktadır. PECNET birbirlerinin hatalarıyla eğitilen birçok ardışık kaskad sinir ağı içermektedir. Ardışık ağlar kendi girdi veri dizileriyle eğitilirken, hedef veri olarak kullanılacak hata verisi henüz oluşmadığından girdi verilerini önceki zaman penceresine kaydırmak gereklidir. Aksi takdirde, pratikte mümkün olmayan gelecekteki verilerin kullanılması söz konusu olur. Hata veri dizilerinin hem etiket hem de girdi verisi olarak eğitimde sürekli kullanılması ve son hata verisinin zaman serisinin kalan hata değerini tahmin etmek için hata füzyon ağında hem girdi hem hedef veri olarak kullanılması çok sayıda veri kaynağı ve ağ içeren çözümlerde hesaplama karmaşıklığını artırır. Bu durum zaman senkronizasyonu yönetiminde yürütme hatalarına yol açabilir. Bu zorlukların üstesinden gelmek için, bu tez kapsamında PECNET için bir çerçeve yazılımı geliştirilmiştir ve modüler tasarımla birlikte bellek ve işlemci kaynaklarının optimal kullanımı sağlanmıştır. PECNET çerçeve yazılımının geliştirilmesinde C derleyicisi ve Python yorumlayıcısından faydalanılmıştır. Verinin işlenmesi için NumPy, Pandas, PyWavelets ve Matplotlib kütüphaneleri kullanılmıştır. PyTorch kütüphanesi, geniş ayarlanabilir özellikleri ve grafik işleme birimleriyle (GPUs) etkileşim seçenekleri nedeniyle yapay sinir ağı modelinin oluşturulması için seçilmiştir. Tasarımda nesne yönelimli programlama ilkelerine sadık kalınmıştır ve Keras'a benzer bir sözdizimi kullanılmıştır. Ayrıca, makine öğrenimi uygulama döngüsü için sklearn akışı (fit-predict-eval) takip edilmiştir. PECNET çerçevesi yazılımı, birlikte çalışan çeşitli modüllerden oluşmaktadır.“models”modülünde yer alan BasicNN sınıfı sinir ağı mimarisinin temelini oluşturur. Bu sınıf, ağın ilk değerlerini yükleme, verileri eğitime uyarlama, kayıp fonksiyonunu optimize etme ve eğitim sırasında modeli ayarlama gibi temel görevleri yönetir.“network”modülünde bulunan özelleştirilmiş ErrorNetwork, FinalNetwork ve VariableNetwork sınıfları tahmin sürecinin belirli aşamalarını ele alırlar. ErrorNetwork tahmin hatalarını düzeltmeye odaklanır; FinalNetwork önceki ağlardan gelen tahminleri nihai tahmin için birleştirir; VariableNetwork farklı frekanslardaki eğitim giriş verileri için kaskad ağları yönetir ve çok değişkenli veriler için veri füzyonu mekanizmasını entegre eder. Aynı modüldeki Pecnet sınıfı, bu sınıflar arasındaki iş akışını koordine eder. Bütün kaskad ağlar arasındaki genel veri aktarımını, hata tazminini ve nihai tahmin üretimini yönetir. PecnetBuilder sınıfı ise Pecnet nesnesini oluşturmak için kullanıcıya kolay bir arayüz sunar, çeşitli kaskad ağ bileşenlerini ardışıl ekler ve farklı farklı PECNET modellerinin oluşturulması için sorunsuz bir yapılandırma süreci sağlar.“preprocessing”modülündeki DataPreprocessor sınıfı verinin işlenmasi ve hazırlanmasında kritik bir rol oynar. Kullanıcıların, modeldeki tüm kaskad ağlar için uygun olan verileri farklı frekans bantları, örnekleme periyotları ve sekans boyutlarına göre oluşturmasına olanak tanır. Aynı modüldeki diğer sınıfların yardımıyla ölçeklendirme, adaptif normalizasyon, denormalizasyon ve farklı tiplerde dalgacık dönüşümü işlevleri sunar. Bu işlemler giriş verilerinin tahmin süreci için mümkün olan en iyi durumda bulunmasını sağlar.“utils”modülündeki Utility sınıfı hiperparametre optimizasyonunu kolaylaştırır, veri setlerini yükleme ve çizim için araçlar sunar. Genel olarak, PECNET'in kod seviyesindeki işlevselliği, bu sınıflar etrafında döner, her biri çerçeve yazılımının zaman serisi verilerini işleme ve tahmin etme yeteneğine katkıda bulunur. PECNET daha önce ayrık kod şeklinde çeşitli veri setleri üzerinde ARIMA, MLP, CNN, LSTM gibi mevcut makine öğrenmesi modellerine karşı başarılı sonuçlar göstererek etkili olduğunu kanıtlamıştır. Bu çalışmada ise çerçeve yazılımı formunda ilk olarak Apple hisse senetlerinin günlük düzeltilmiş kapanış fiyatlarından oluşan tarihsel bir zaman serisi veri setinde denenmiş ve ardından güçlü hafıza ve sekans anlama yetenekleriyle bilinen LSTM ile karşılaştırılmıştır. Sonuç olarak, RMSE metriği cinsinden LSTM 2.55\$, PECNET 1.24\$ yanılmıştır. R2 metriği cinsinden ise LSTM 0.94, PECNET 0.98 değerlerine ulaşmıştır. Ardından, İstanbul Teknik Üniversitesi (İTÜ) bünyesinde yürütülen deprem tahmini araştırma projesi kapsamında toplanan gerçek zamanlı kaotik Elektrik Alan Verisi (EFD) üzerinde sismik enerji tahminlemesi için yine LSTM ile karşılaştırmalı test edilmiştir. Bu deneyde, RMSE metriği cinsinden, LSTM 300J-400J arası, PECNET 130J-150J arasında yanılmalar göstermiştir. R2 cinsinden ise LSTM sonuçları 0.2-0.3 değerleri arasında seyrederken, PECNET 0.5-0.6 değerlerine ulaşmıştır. Her iki senaryoda da PECNET, LSTM'den daha başarılı performans göstermiştir ve geliştirilen çerçeve yazılımı, gerçek zamanlı deprem tahmini için oluşturulan portal yazılımına entegre edilmektedir. Sonuç olarak, geliştirilen modüler ve özelleştirilebilir çerçeve yazılımı, yüksek performanslı ve aşırı uyuma karşı dayanıklı olan PECNET'in, PECNET'e özgü bir kodlama bilgisi gerektirmeden diğer geliştiriciler tarafından gerçek zamanlı makine öğrenimi sistemlerinde çeşitli zaman serisi tahminleri için kullanımını mümkün kılmıştır.
Özet (Çeviri)
Machine learning algorithms have gotten considerable attention and recognition in the context of addressing time series prediction problems; however, the task of constructing an accurate machine learning model with optimal architecture and hyperparameters becomes highly challenging if the data is non-linear, encompasses multi variable characteristics with chaotic or stochastic properties, and has sensitivity to environmental factors. In this context, common issues encountered in time series prediction models and frameworks include overfitting, a machine learning problem arising in situations with limited labeled data but a large variety of input data; generalization issues due to insufficient or inadequate input data; the need for extensive feature engineering to properly set internal weights in artificial neural networks; dependency on network parameters in developed solutions and limited adaptability to different problems; and being computationally expensive and time-consuming. Predictive Error Compensated Wavelet Neural Networks (PECNET) is an innovative artificial neural network architecture for time series predictions. It avoids overfitting by training the data separately in cascaded networks based on different frequency bands and using the remaining errors of each subsequent network as target data. In the PECNET architecture, data is fed into the networks with a low-frequency band in a wide time window, and the subsequent network is trained with narrower time windows and high-frequency data while using the error from the previous low-frequency network as the target data. This method improves the orthogonality of data features across time windows and lets you choose orthogonal features in data fusion applications. It also makes predictions more accurate as more networks are added, which lowers the risk of overfitting. Additionally, by applying wavelet transform as a feature extraction method to the various frequency components of each network , it is possible to distinguish and extract the variety of patterns present in the data. PECNET also overcomes the traditional normalization problems for non-stationary time series data by using adaptive normalization techniques. In conclusion, PECNET is a very good alternative for solving time series prediction problems due to its high prediction accuracy without overfitting, unique structure that allows adaptation to different problems independently of network parameters, and being computationally cheap and low time-consuming just with two-layer MLP structure. The PECNET model, due to its composition of cascade networks, modular feature extractions, and fusion networks, presents challenges in its implementation at the coding level. PECNET contains many sequential cascaded neural networks that are trained by each other's errors. When training the sequential networks with input data sequences, it is necessary to shift the input values to the previous time window. Otherwise, it would result in using data from the future, which is not feasible in practice. The continuous use of error data sequences as both label and input data in training and the use of the final error in the fusion network for predicting the remaining error value of the time series as both input and target data increase computational complexity for solutions involving numerous data sources and networks. This can lead to execution errors in time synchronization management. To overcome these challenges, PECNET framework software has been developed within the scope of this thesis, ensuring optimal use of memory and processor resources along with the modular design. In the development of the PECNET framework software, the C compiler and Python interpreter were utilized. NumPy, Pandas, PyWavelets, and Matplotlib libraries were used for data processing tasks. The PyTorch library was chosen for constructing the artificial neural network model due to its extensive modification features and options for interacting with the graphics processing units (GPUs). The design adhered strictly to object-oriented programming principles, and a syntax similar to Keras was used. Additionally, the machine learning application cycle followed the sklearn flow (fit-predict-eval). The PECNET framework is made up of various modules that work together. In the“models”module, the BasicNN class forms the core of the neural network architecture. This class manages key tasks like initializing the network, fitting data, computing loss, and adjusting the model during training. In the“network”module, specialized classes like ErrorNetwork, FinalNetwork, and VariableNetwork handle specific stages of the prediction process. ErrorNetwork focuses on correcting prediction errors; FinalNetwork integrates predictions from previous networks for a final output; and VariableNetwork manages training input data across different frequencies and integrates data fusion mechanism for multivariate data. In the same module, PECNET's functionality is encapsulated in the Pecnet class, which coordinates the workflow among different networks. It manages the data flow between cascaded networks, error compensation, and final prediction generation. The PecnetBuilder class provides a fluent interface to construct the Pecnet object. It sequentially adds various network components, ensuring a streamlined building process for the PECNET model. In the“preprocessing”module, the DataPreprocessor class plays a crucial role in data preparation. It lets users change how data is processed into different frequency bands, sampling periods, and sequence sizes that are appropriate for each of cascaded networks in the model. It also does scaling, adaptive normalization, denormalization, and wavelet transform with the help of other classes in the same module. This makes sure that the input data is in the best possible shape for the prediction pipeline. In the“utils”module, the Utility class facilitates hyperparameter optimization, offers tools for loading datasets and plotting results. Overall, PECNET's code-level functionality revolves around these classes, each contributing to the framework's ability to process and predict time series data efficiently. PECNET has already demonstrated successful outcomes on various datasets as a discrete code, showing promising results against existing machine learning models such as ARIMA, MLP, CNN, LSTM. In this study, as a framework form, it is initially tested on a historical time series dataset of daily adjusted close prices of Apple stocks and then compared with LSTM, which is known for its strong memory and sequence comprehension capabilities. As a result, in terms of the RMSE metric, the LSTM model has had an error of \$2.55, while PECNET has had an error of \$1.24. In terms of the R2 metric, the LSTM model has achieved a value of 0.94, whereas PECNET has reached 0.98. Following that, it is comparatively tested with LSTM for seismic energy estimation on real-time chaotic Electric Field Data (EFD) which is collected within the scope of earthquake prediction research project conducted at Istanbul Technical University (ITU). In this experiment, in terms of the RMSE metric, the LSTM model has showed errors ranging between 300J-400J, while PECNET has showed errors ranging between 130J-150J. In terms of the R2 metric, the LSTM results has fluctuated between 0.2-0.3, while PECNET has achieved values between 0.5-0.6. In both scenarios, PECNET outperforms LSTM, and the developed framework is being integrated into the portal software for real-time earthquake prediction. In conclusion, the developed modular and customizable framework facilitates the use of PECNET, which is highly performant and robust against overfitting, for various types of time series predictions by other developers in real-time machine learning systems without requiring specific coding knowledge of PECNET.
Benzer Tezler
- Context-aware remote sensing data processing for improvement of agricultural predictions
Bağlam farkındalıklı uzaktan algılama veri entegrasyonu ile tarımsal tahminlerin iyileştirilmesi
AYDA FITRIYE AKTAŞ
Doktora
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesiİletişim Sistemleri Ana Bilim Dalı
PROF. DR. BURAK BERK ÜSTÜNDAĞ
- Deep wavelet neural network for spatio-temporal data fusion
Uzamsal-zamansal veri füzyonu içinderin dalgacık sinir ağları
AJLA KULAGLIC
Doktora
İngilizce
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. BURAK BERK ÜSTÜNDAĞ
- Orthogonality based feature selection for ai applications
Yapay zeka uygulamaları için ortogonalite tabanlı öznitelik seçimi
MEHMET SELAHADDİN ŞENTOP
Yüksek Lisans
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. BURAK BERK ÜSTÜNDAĞ
- Bimodal leaky prediction for error resilient source-channel coding and its adaptation to video coding
Hataya dayanıklı kaynak-kanal kodlaması için çift modlu kaçaklı tahminleme ve video kodlamaya uyarlanması
UFUK ÇELİKCAN
Doktora
İngilizce
2013
Elektrik ve Elektronik MühendisliğiUniversity of California RiversideElektrik Mühendisliği Ana Bilim Dalı
PROF. DR. ERTEM TUNCEL
- MPEG hareketli görüntü sıkıştırma standardı
Başlık çevirisi yok
ERHAN TELLİOĞLU
Yüksek Lisans
Türkçe
1995
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiDOÇ.DR. MELİH PAZARCI