Bizim YSA ile analizinden kast ettiğimiz için Zaman serisi üzerinde Yapay Sinir Ağları ile ileri ye doğru tahmin yürütmektir. Bunun için Öncelikle Zaman serisini dönüşrümemiz gerekiyor. Dönüşüm için kullanacağımız varsayımımız da şöyle
"Zaman serisinde bir değer kendinden önce gelen değerlerle ilişkili ve dolayısıyla onlarla tahmin edilebilir"
Mesela Yarınki hava sıcaklığı geçen günlerdeki hava sıcaklıklarıyla İlişkilidir. Bu durumda YSA dizaynı için çıkış değişken saymızı belli zaman serimizin bir sonraki değeri. Giriş değerlerimizde önceki veriler. Örneğimizde dönersek yarınki Hava sıcaklığı bugünki ile ilişkilidir. Bugünkü de dünküyle, dünkü önceki gündeki ilişkili olduğuna göre onlarda Yarınki hava sıcaklığıyla nispeten etkileri azalarakda olsa ilişkilidir. Burada bir seçim yapmamız lazım Giriş değerleri olarak kullanacağımız verileri ne kadar geriye götüreceğiz. Onu seçince artık giriş değişken sayımızda belirlenmiş olur.
Mesela bunu 4 seçersek şöyel bir ilişki kurmuş oluruz
Bundan sonrası elimizdeki verileri bu ilişkiye göre hazırlayıp, Bir YSA dizayn edip eğitmek kalıyor. FannTool'un DataProcessing kısmıyla her satıra bir değer gelecek şekilde hazırladığınız verileri. yukarda bahsettiğimiz şekle kolayca sokabilirsiniz.
Basit bir örnek yaparsak, Şöyle bir Zaman Serimiz olsun
Bu verileri, Çıkışı 1 girişini 9 olan bir YSA ile Modelleyelim. Eğtim aşamasından sonra. Test edelim ve Gerçek sonuçlarla YSA tahminlerinin uyuşmasını kontrol edelim
Grafikdende göreceğiniz gibi YSA gayet de uygun tahminler vermiş. Peki Aynı YSA'yı kullanarak ileriye doğru tahmin yürütmeye devam edersek ne olur. Yani yarınki değeri YSA ile tahmin edip. sonra bu tahmini giriş gibi kullanıp ertesi günkü değeri hesaplasak
( T1 , T2 , T3 , T4) -> T5
( T2 , T3 , T4, T5 ) -> T6
( T3 , T4 , T5, T6 ) -> T7
...
Hemen FannToolu'muzun "Run as TS"* kısmını açıp kaç kere ileriye doğru çalıştıracağını belirtip, sonuçları alıyoruz. Ve Grafiğimize tekrar bakıyoruz
Hiçde iç açıcı bir bir grafik değil. Aslında metodumuzun pek çok eksiliği var. Fakat müekemmel diyebileceğimiz bir sistem bile kursak, tahminlerimizdeki hata payı ileriye doğru yayılıyor. Daha detaylı bilgi için Kelebek etkisi ve Kaos Teorisi konularına bakabilirsiniz. Yok kim okuyacak onu ben filmini seyredeyim diyorsanız, boşuna Kelebek etkisi filimlerine bakmayın. Esas hala izlememişseniz Pi Filmini ** izleyin
Not :
* Boşuna elinizdeki programda aramayın yakın zaman da yayınlamayı umuduğum versiyonda olacak İnşallah
** Filminden bir parça
Restate my assumptions.
-One: Mathematics is the language of nature.
-Two: Everything around us can be represented and understood through numbers.
-Three: If you graph the numbers of any system, patterns emerge. Therefore, there are patterns everywhere in nature.
-Evidence: The cycling of disease epidemics, the wax and wane of caribou populations, sun spot cycles, the rise and fall of the Nile.
So, what about the stock market? The universe of numbers that represents the global economy. Millions of hands at work, billions of minds. A vast network, screaming with life. An organism. A natural organism.
-My hypothesis: Within the stock market,|there is a pattern as well... Right in front of me, hiding behind the numbers. Always has been.
6 yorum:
Hocam super olmus elinize saglik. TS li releasei de bekliyoruz merakla.
Hocam ne yaptınız :)
Çok güzel bir çalışma olmuş. Ellerinize sağlık. Automated Forcastten bahsetmiştiniz. Çok yerinde bir geliştirme olmuş.
Aslında zamanlamanız çok iyi. Tamda benim bu projeme denk gelmiş olması. Ben de projeye başlayınca geri dönüşlerimi sizinle paylaşacağım.
Yaptığınız matematiksel modelleme 4. dereceden Markov zincirine çok benziyor. Acaba YSA ile modellemenin bu şekilde n. dereceden bir Markov zinciri ile modellemeden farkı nedir? Markov modelleri için sadece iyi çözümleme (analysis) değil, iyi üretme (generation) de yaptıkları söylenir. Onun üreteceği sonuç daha iyi olabilir.
Malesef Markov zincirleri hakkında yeterli bilgiye sahip değilim. doğrusuda zaten pratik uygulamayla ortaya çıkabilecek bir konu.
filanca zaman serisiyle yapılan çalışmakda bilmem kaçıncı dereceden Markov zincirinin performansı şu aynı seri için fişmekanca yapıdaki YSA nın performansıda bu gibi
herhalde iyi de bir makale olur ...
YSA nın üreteceği tahminler üzerine bir çalışmada yapmak istiyoruz ama bakalım ne zaman ve ne şekilde kısmet olur...
Tahmin yaparken T-5, T-4, T-3, T-2, T-1 değerlerinden T yi tahmin ettikten sonra eğer T+1 in tahmini yapılmak isteniyorsa T kullanılarak tahmin yapılamaz mı? Zaten T anındaki gerçekleşen değerde elimizde olacak. T-1 anından sonraki iki günü direk tahmin etmek istiyorsak da T-5, T-4, T-3, T-2 kullanılarak direk T tahmini yapılırsa yani "2 lead time prediction" daha tutarlı sonuçlarla karşılaşılmaz mı? Ayrıca sürekli olarak ileriye dönük forecast yapmak istiyorsak en basit yol foruier serisi uydurmak tahminleri yakınsatmamıza yardımcı olmaz mı?
Not: Tüm yazılarınıza göz gezdirmedim sadece bu başlığı görünce sormak istedim. İyi çalışmalar kolay gelsin.
Merhaba Adsız! ...
İleriye doğru tahmin önceki tahminleri kullandığından hatanın yayılımı oluyor hata yükseliyor
Direk ileri doğru olan gün için sistem eğitilemezmi diyorsun ?
Muhtemelen olmaz çünkü arada pas geçtiğimiz değerlerin etkisi ilerki zamandaki değere daha büyüktür.
foruier serisi çok yavan kalır. bakınız niçin wavelet ler var ?
Bütün yazıları okuyun adınızla beraber iletişime geçin...
iletişim bilgilerine hakkında bölümünden ulaşabilirsiniz
Yorum Gönder