Betrachten Sie einen eindimensionalen, reellen Vektor x , der Beobachtungen eines Prozesses darstellt, die in zeitlich gleichmäßigen Abständen gemessen werden. Wir nennen x eine Zeitreihe .
Lassen n die Länge bezeichnen x und x bezeichnen das arithmetische Mittel der x . Die Probe Autokovarianz - Funktion definiert ist als
für alle - n < h < n . Dies misst die lineare Abhängigkeit zwischen zwei Punkten derselben Reihe, die zu unterschiedlichen Zeiten beobachtet wurden.
Die Probe Autokorrelationsfunktion oder ACF, ist definiert als
Dies misst die lineare Vorhersagbarkeit der Reihe x zum Zeitpunkt t , die wir mit x t bezeichnen , wobei nur der Wert x t + h verwendet wird .
Beachten Sie, dass diese Stichprobenschätzungen nicht mit den naiven Berechnungen auf der Grundlage der theoretischen Eigenschaften übereinstimmen. Das heißt, die Autokorrelationsfunktion der Probe ist nicht gleich dem Pearson-Korrelationskoeffizienten von x mit der h- Schritt-Verzögerung von x .
Aufgabe
Wenn ein Array x und eine nichtnegative ganze Zahl h gegeben sind , drucken oder geben Sie die ersten h + 1- Verzögerungsautokorrelationen von x zurück , beginnend mit der Verzögerung 0. Die Verzögerungsautokorrelationen sind diejenigen, die negativen Eingaben in den obigen Formeln entsprechen.
Sie können annehmen, dass 0 < h < n , wobei n die Länge von x ist , und dass 2 < n <256.
Die Ausgabe sollte innerhalb von 1E-4 korrekt sein. Es gibt keine Einschränkungen hinsichtlich der Verwendung integrierter Funktionen oder der Laufzeit.
Beispiele
h, x -> output
--------------
5, [2.4, 2.4, 2.4, 2.2, 2.1, 1.5, 2.3, 2.3, 2.5, 2] -> [1.00000000, 0.07659298, -0.06007802, -0.51144343, -0.02912874, -0.10468140]
1, [2134, 1863, 1877, 1877, 1492, 1249] -> [1.0000000, 0.3343041]
2, [13067.3, 13130.5, 13198.4] -> [1.0000000000, -0.0002854906, -0.4997145094]