Enterpolasyon, yaklaşıklık ve diğerleri (paket alglib) - sayfa 8

 
Bütün bu dönüşümler işime uygun değil, kütüphaneler işe yaramaz (incelendi). Diğer yoldan gidelim. Ama o zamandan beri kimse konunun esası hakkında bir şey anlamıyor, nasıl olduğunu söylemeyeceğim.
 
Maxim Dmitrievsky :
Bütün bu dönüşümler işime uygun değil, kütüphaneler işe yaramaz (incelendi). Diğer yoldan gidelim. Ama o zamandan beri kimse konunun esası hakkında bir şey anlamıyor, nasıl olduğunu söylemeyeceğim.

Bu konu için teşekkürler Max. Şahsen ben seninle ilgileniyorum. Yaratıcı sürecinizi takip edeceğim.

Daima yapay zekanın uçurumuna çekilir.
Uçurum daralıyor.

 
Evet, okumak çok ilginçti. @Nikolai Semko'ya özel teşekkürler
 
Maxim Dmitrievsky :
Tüm bu dönüşümler görevime uymuyor, kütüphaneler işe yaramaz (öğrenilmiş). Başka bir yoldan gidelim. Ama kimse bir şey anlamadığından, nasıl olduğunu söylemeyeceğim.

Esası bir dereceye kadar anlıyorum ve sorunun genel teorik kısmını bir dereceye kadar anladığım için kesinlikle soruna yardım etmek ve çözmek istiyorum, ancak MQL5 kodunda pratik uygulama söz konusu olduğunda, kodu tam olarak anlamadan nerede takılıp kaldınız, sorunun nasıl çözüleceği veya sorunun tam olarak nerede olduğu konusunda bir fikir vermek için doğru anlamak benim için zorlaşıyor. Yani MQL5'te ne ölçüde uygulamışsınız ve MQL5 kodu veya formülü veya işlevi vs. açısından tam olarak ne arıyorsunuz?

MQL5 kodunun takıldığınız yerde düşüncelerinizi veya sorunu birkaç satıra çevirebilirseniz, en azından bir fikir vermek için elimden geleni yapacağım.

 
Nikolai Semko :

Üzgünüm, ne demek istediğini anlayamadım. Görünüşe göre sınırlamaları nedeniyle. Ama yorgunum.
Ama şu örneğe bakın ve kullanın:
https://www.mql5.com/ru/forum/216298/page5#comment_6484839


Herhangi bir periyodik fonksiyonun harmonik olarak ilişkili bir dizi sinüs ve kosinüs olarak temsil edilebileceği fikri Baron Jean Baptiste Joseph Fourier ( 1768-1830 ) tarafından önerildi .


Fourier Serisinin Tanımı

işlevi olduğunu söylüyorlar   f ( x )   bir dönemi var   P ,   Eğer   f ( x + P ) = f ( x )   tüm değerler için   x .   fonksiyonun periyodu olsun   f ( x )   eşittir   2 pi .   Bu durumda fonksiyonun aralıktaki davranışını dikkate almak yeterlidir.   [ - π , π ] .
  1. Diyelim ki fonksiyon   f ( x )   bir dönem ile   2 pi   aralıkta kesinlikle integrallenebilir   [ - π , π ] .   Aynı zamanda sözde   Dirichlet integrali : π π | f ( x ) | dx < ; _

  2. fonksiyonunun da olduğunu varsayıyoruz.   f ( x )   tek değerli, parçalı-sürekli (yani sonlu sayıda süreksizlik noktasına sahiptir) ve parçalı monotondur (sonlu sayıda maksimum ve minimuma sahiptir).

eğer koşullar   1   ve   2   yerine getirildi, sonra   Fourier serisi   fonksiyon için   f ( x )   var ve verilen fonksiyona yakınsıyor

Periyodik olmayan bir fonksiyonu bir Fourier serisine genişletmek mümkün müdür? Mümkün - bunun için genişlemeyi elde etmeniz gereken aralığın periyot olduğunu varsayıyoruz ve bunu
[ π , π ] olarak ölçeklendiriyoruz. . Ancak, genişleme segmentinin ötesinde (sağ kenarın ötesinde) ekstrapolasyon yaparken, limitte periyodik fonksiyonun değerlerini almalısınız ve bunlar sol kenarın değerleridir. karşılık gelen vardiya - P periyodu.
Tembellik çizmek, üniversitelerde sayısal yöntemler dersinde, yaklaşık olarak okudukları ikinci veya üçüncü yıldadır. Daha kesin olmak gerekirse, daha önce (benim zamanımda) okudular - şimdi olduğu gibi hiçbir fikrim yok.
 
Vladyslav Goshkov :

Herhangi bir periyodik fonksiyonun harmonik olarak ilişkili sinüsler ve kosinüsler dizisi olarak temsil edilebileceği fikri Baron Jean Baptiste Joseph Fourier ( 1768-1830 ) tarafından önerildi .

Fourier Serisinin Tanımı

işlevi olduğunu söylüyorlar   f ( x )   bir dönemi var   P ,   Eğer   f ( x + P ) = f ( x )   tüm değerler için   x .   fonksiyonun periyodu olsun   f ( x )   eşittir   2 pi .   Bu durumda fonksiyonun aralıktaki davranışını dikkate almak yeterlidir.   [ - π , π ] .
  1. Diyelim ki fonksiyon   f ( x )   bir dönem ile   2 π   aralıkta kesinlikle integrallenebilir   [ - π , π ] .   Aynı zamanda sözde   Dirichlet integrali : π π | f ( x ) | dx < ; _

  2. fonksiyonunun da olduğunu varsayıyoruz.   f ( x )   tek değerli, parçalı-sürekli (yani sonlu sayıda süreksizlik noktasına sahiptir) ve parçalı monotondur (sonlu sayıda maksimum ve minimuma sahiptir).

eğer koşullar   1   ve   2   yerine getirildi, sonra   Fourier serisi   fonksiyon için   f ( x )   var ve verilen fonksiyona yakınsıyor

Periyodik olmayan bir fonksiyonu bir Fourier serisine genişletmek mümkün müdür? Mümkün - bunun için genişlemeyi elde etmeniz gereken aralığın periyot olduğunu varsayıyoruz ve bunu
[ π , π ] olarak ölçeklendiriyoruz. . Ancak, genişleme segmentinin ötesinde (sağ kenarın ötesinde) ekstrapolasyon yaparken, limitte periyodik fonksiyonun değerlerini almalısınız ve bunlar sol kenarın değerleridir. karşılık gelen vardiya - P periyodu.
Tembellik çizmek, üniversitelerde sayısal yöntemler dersinde, yaklaşık olarak okudukları ikinci veya üçüncü yıldadır. Daha kesin olmak gerekirse, daha önce (benim zamanımda) okudular - şimdi olduğu gibi hiçbir fikrim yok.

Görünüşe göre fonksiyonun harmoniklere genişlemesinin anlamını yanlış anlamışsınız.
Sağ kenarı geçerek hangi sol kenarı geçeceğiz? Neden bahsediyorsun?

Fourier açılımının anlamının, farklı frekans, genlik ve faz kaymasına sahip bir dizi harmonik (sinüs dalgaları) elde etmek olduğunu anlıyorsunuz, böylece bunlar eklendiğinde, veri setinden orijinal fonksiyona benzer bir şey elde edersiniz.

Her sinüzoid sonsuz bir fonksiyon gibidir ve ne sol ne de sağ kenarı vardır. Ekstrapolasyon için, devam etmeniz ve "sol" kenarı "sağ" olana bağlamamanız yeterlidir.

Ve bu harmonik toplamının frekansı, başlangıçtaki yaklaşık verilerin örnekleme aralığına eşit olmayacak, ancak farklı frekanslardaki harmoniklerin tüm faz kaymalarının aynı anda başlangıç değerlerine döndüğü anlar arasındaki mesafeye eşit olacaktır ve Bunun olabileceği bir gerçek değil, çünkü bu sadece tüm harmoniklerin frekanslarının aynı değerin katları olması durumunda gerçekleşebilir.

mavi çizgi - yaklaşıklık, kırmızı - ekstrapolasyon.

Dosyalar:
 
Nikolai Semko :

Görünüşe göre fonksiyonun harmoniklere genişlemesinin anlamını yanlış anlamışsınız.
Sağ kenardan hangi sol kenarı geçiyoruz? Neden bahsediyorsun?

Fourier açılımının anlamının, farklı frekans, genlik ve faz kaymasına sahip bir dizi harmonik (sinüs dalgaları) elde etmek olduğunu anlıyorsunuz, böylece bunlar eklendiğinde, veri setinden orijinal fonksiyona benzer bir şey elde edersiniz.

Her sinüzoid sonsuz bir fonksiyon gibidir ve ne sol ne de sağ kenarı vardır. Ekstrapolasyon için, devam etmeniz ve "sol" kenarı "sağ" olana bağlamamanız yeterlidir.

Ve bu harmonik toplamının frekansı, başlangıçtaki yaklaşık verilerin örnekleme aralığına eşit olmayacak, ancak farklı frekanslardaki harmoniklerin tüm faz kaymalarının aynı anda başlangıç değerlerine döndüğü anlar arasındaki mesafeye eşit olacaktır ve Bunun olabileceği bir gerçek değil, çünkü bu sadece tüm harmoniklerin frekanslarının aynı değerin katları olması durumunda gerçekleşebilir.

mavi çizgi - yaklaşıklık, kırmızı - ekstrapolasyon.

Fourier serisindeki bu "tüm fazların değiştiği anlar arasındaki mesafe ..." tam olarak döneme eşittir, çünkü içindeki trigonometrik fonksiyonların argümanları x, 2x, 3x, .. nx'dir ve periyotları uygundur. toplamda sırasıyla 1, 2, 3...n kez. Bu nedenle, böyle bir trigonometrik fonksiyon seti, Fourier serisindeki genişleme katsayılarının birbirinden ve genişleme için kullanılan frekans sayısından bağımsızlığını üreten ortogonallik özelliğine sahiptir. n=1 (a1 ve b1) için genişleme katsayılarını hesapladıktan sonra, 5 frekanslı genişlemede ai ve bi kümesini bulursak bu değerlerin değişmeyeceğini zaten biliyoruz. Bu güzellik.

Neyi yanlış yapıyorsun? İlk genleşme katsayılarının değerleri dikkate alınan harmonik sayısı değiştiğinde değişir mi?

 
Vladyslav Goshkov :

...

Özel bir Fourier ekstrapolasyon tekniği vardır. Harmoniklere ayrıştırma yapılır, genlikler tahmin edilir, ardından bu değişen genlik dikkate alınarak harmonikler toplanır. Tam hatırlamıyorum ama buna benzer bir şey. İşte kod tabanında bu yöntemin bir örneği var.

 
Maxim Dmitrievsky :

Evet herkes anladı zaten ama nasıl yapacaklarını bilmiyorlar

yeni verilerin ikame edilebilmesi için, çıktıda bir fonksiyon şeklinde sinir ağı için özelliklerin rastgele dönüşümü

Çok ilginç)) "sinir ağı için özellik dönüşümü". Sinir ağının işaretleri nerede? Bir sinir ağının girdileri ve çıktıları vardır. Tümdengelim yöntemiyle, sinir ağının girişine bu işaretlerin sağlanması anlamına geldiği sonucuna varılmaktadır. Ancak!!! "... çıktıdaki bir fonksiyonun formu" ... tam pc

Bu bir fiyasko, Marivanna, bir fiyasko!

 
Vladimir :

Fourier serisindeki bu "tüm fazların değiştiği anlar arasındaki mesafe ..." tam olarak döneme eşittir, çünkü içindeki trigonometrik fonksiyonların argümanları x, 2x, 3x, .. nx'dir ve periyotları uygundur. toplamda sırasıyla 1, 2, 3...n kez. Bu nedenle, böyle bir trigonometrik fonksiyon seti, Fourier serisindeki genişleme katsayılarının birbirinden ve genişleme için kullanılan frekans sayısından bağımsızlığını üreten ortogonallik özelliğine sahiptir. n=1 (a1 ve b1) için genişleme katsayılarını hesapladıktan sonra, 5 frekanslı genişlemede ai ve bi kümesini bulursak bu değerlerin değişmeyeceğini zaten biliyoruz. Bu güzellik.

Neyi yanlış yapıyorsun? İlk genleşme katsayılarının değerleri dikkate alınan harmonik sayısı değiştiğinde değişir mi?

Hayır, harmonikleri bulmaya yönelik bu algoritma hızlı Fourier dönüşümünü kullanmaz , Queen-Fernandez frekans hesaplama algoritmasını kullanır . ( orijinal kod kaynağı ) Bu arada, bir saatliğine yazar değil misin? İsim aynı ama profiller farklı.

Frekanslar sırayla hesaplanır ve birbirinin katı değildir. Bu, hem animasyonlu gif'ten hem de yukarıda ve şimdi sunduğum koddan görülebilir.
İşte bu örnekten harmonik frekans faktörlerine bir örnek (sadece w yazdırıldı):

 2018.08 . 24 00 : 22 : 11.921 !Fourier (EURUSD,M1)    Гармоника 1 = 0.00492908
2018.08 . 24 00 : 22 : 11.921 !Fourier (EURUSD,M1)    Гармоника 2 = 0.01176861
2018.08 . 24 00 : 22 : 11.921 !Fourier (EURUSD,M1)    Гармоника 3 = 0.02124126
2018.08 . 24 00 : 22 : 11.921 !Fourier (EURUSD,M1)    Гармоника 4 = 0.02651676
2018.08 . 24 00 : 22 : 11.921 !Fourier (EURUSD,M1)    Гармоника 5 = 0.03511149
2018.08 . 24 00 : 22 : 11.922 !Fourier (EURUSD,M1)    Гармоника 6 = 0.01191667
2018.08 . 24 00 : 22 : 11.922 !Fourier (EURUSD,M1)    Гармоника 7 = 0.00586503
2018.08 . 24 00 : 22 : 11.922 !Fourier (EURUSD,M1)    Гармоника 8 = 0.04684633
2018.08 . 24 00 : 22 : 11.923 !Fourier (EURUSD,M1)    Гармоника 9 = 0.07585431
2018.08 . 24 00 : 22 : 11.923 !Fourier (EURUSD,M1)    Гармоника 10 = 0.05593456
Dosyalar:
6Fourier.mq5  16 kb
Neden: