Wir versuchen, automatisch korrelierte Zufallswerte zu erstellen, die als Zeitreihen verwendet werden. Wir haben keine vorhandenen Daten, auf die wir verweisen, und möchten den Vektor nur von Grund auf neu erstellen.
Einerseits brauchen wir natürlich einen zufälligen Prozess mit Distribution und deren SD.
Andererseits muss die den Zufallsprozess beeinflussende Autokorrelation beschrieben werden. Die Werte des Vektors werden über mehrere Zeitverzögerungen mit abnehmender Stärke autokorreliert. zB hat lag1 0,5, lag2 0,3, lag1 0,1 usw.
Am Ende sollte der Vektor also so aussehen: 2, 4, 7, 11, 10, 8, 5, 4, 2, -1, 2, 5, 9, 12, 13, 10, 8, 4, 3, 1, -2, -5
und so weiter.
quelle
Wenn Sie eine gegebene Autokovarianzfunktion haben, ist das beste Modell (in Bezug auf die Traktabilität), das ich mir vorstellen kann, ein multivariater Gauß-Prozess, bei dem Sie angesichts der Autokovarianzfunktion bei lag leicht die Kovarianzmatrix bilden können ,R(τ) τ
Bei dieser gegebenen Kovarianzmatrix werden Daten aus einem multivariaten Gaußschen mit der gegebenen Kovarianzmatrix , dh ein Vektor aus der Verteilung wobei der mittlere Vektor ist.Σ
quelle
Sie können eine korrelierte Sequenz erzeugen, indem Sie einen autoregressiven Prozess erstellen. Zum Beispiel einen AR (1) -Prozess . Generieren Sie mit einem einheitlichen Zufallszahlengenerator für die von Ihnen gewählte Verteilung. Dann sei Erhalte und so weiter. Die werden nacheinander zufällig unter Verwendung Ihrer einheitlichen Zufallszahlen ausgewählt. Um den gewünschten Mittelwert und die gewünschte Standardabweichung zu geben , können Sie sie aus dem Mittelwert und der Varianz der Rauschsequenz ableiten . Wählen Sie entsprechend aus.X(t)=aX(t−1)+e(t) e(0) X(0)=e(0) X(1)=aX(0)+e(1) e(i) X(i) e(i) e(i)
quelle
arima.sim()
Funktion hinzuweisen .