[PYTHON] Vorhersagemodellkonstruktion ①

Erstellen Sie nach und nach ein nachfrageprognostizierendes Algo, während Sie mit der Formel spielen. Während ich verschiedene Mathematiken berühre und entgleise, strebe ich etwas an, das irgendwann zu einem Papier wird.

Vorzeichenkurvenschätzung mit Taylor-Expansion

Die Teylor-Expansion wird durch die folgende Formel ausgedrückt.

f\left(x\right)=\sum_{n=0}\frac{f^{\left(n\right)}\left(a\right)}{n!}\left(x-a\right)^{n}

Angenommen, $ x = a + 1 $ in der obigen Gleichung. Dann wird es wie folgt.


f\left(a+1\right)=\sum_{n=0}^{\infty}\frac{f^{\left(n\right)}\left(a\right)}{n!}\left(a+1-a\right)^{n}\\=f\left(a\right)+\sum_{n=1}^{\infty}\frac{f^{\left(n\right)}\left(a\right)}{n!}

Wenn Sie dieser Funktion $ f $ $ a $ geben, erhalten Sie $ f $ von $ a + 1 $. Mit anderen Worten, wenn der Wert der vorherigen Zeit erhalten wird, ist es so, als würde man den Wert der nächsten Zeit vorhersagen. Geben Sie als Versuch eine Sinuskurve an. Es wird die folgende Formel.

\sin\left(a+1\right)=\sin\left(a\right)+\cos\left(a\right)-\frac{\sin\left(a\right)}{2!}-\frac{\cos\left(a\right)}{3!}+\frac{\sin\left(a\right)}{4!}+\cdots

Lassen Sie uns mit Python planen.

from numpy import *
from pylab import *
%matplotlib inline

x = arange(100) / 10 * pi
y = sin(x) #Aktuell


n = 1
z =0 #Prognose
for i in range(10):
    if ((i + 2) // 2) % 2:
        op = 1
    else:
        op = -1
    
    n *= i if  i else 1
    if i % 2:
        z += op * cos(x) / n
    else:
        z += op * sin(x) / n
  
plot(x, y,"r",label="now");plot(x,z,"b", label="pred");legend();show()

Unknown.png

Die Zukunft (blau: pred) in der Gegenwart (rot: jetzt) Da ich voraussage, scheint es, dass Blau von Rot leicht nach links verschoben ist.

Diese Phasenverschiebung sollte 1 sein. Versuchen Sie also, Blau um 1 zu verschieben.

x2 = arange(100) / 10 * pi + 1 #Verschieben Sie die Phase um 1
plot(x, y,"r",label="now");plot(x2,z,"b", label="pred");legend();show()

Unknown.png

Es überlappte sich genau. Ich kann vorhersagen. Mit willkürlicher Genauigkeit (aber nur, wenn es kontinuierlich differenziert werden kann), solange ** Funktionsform ** definiert werden kann Es sieht so aus, als könnten Sie es vorhersagen. Aber weder Finanzdaten noch Einkaufsdaten haben im Voraus ein funktionierendes System. (Ich bin froh, wenn ich es habe), Sie müssen eine Art Vorhersagemodell (Formel) erstellen.

Recommended Posts

Vorhersagemodellkonstruktion ①
Echtzeit-Personalschätzung (neuer Modellbau)
Sprachvorhersagemodell von TensorFlow
[Kaggle] Basismodellkonstruktion, Pipeline-Verarbeitung
Zeitreihenanalyse 4 Konstruktion des SARIMA-Modells
Temperaturvorhersagemodell läuft auf Edgetpu (Koralle)