Valeur de «fréquence» pour les données d'intervalle de secondes / minutes en R


28

J'utilise R (3.1.1) et les modèles ARIMA pour les prévisions. Je voudrais savoir quel devrait être le paramètre "fréquence", qui est affecté dans la ts()fonction , si je utilise des données de séries chronologiques qui sont:

  1. séparés par des minutes et s'étalent sur 180 jours (1440 minutes / jour)
  2. séparés par des secondes et s'étalent sur 180 jours (86 400 secondes / jour).

Si je me souviens bien la définition, une "fréquence" en ts dans R, est le nombre d'observations par "saison".

Question partie 1:

Quelle est la "saison" dans mon cas?

Si la saison est "jour", la "fréquence" des minutes = 1440 et 86 400 des secondes?

Question partie 2:

La "fréquence" pourrait-elle également dépendre de ce que j'essaie de réaliser / de prévoir? par exemple, dans mon cas, j'aimerais avoir des prévisions à très court terme. Une longueur d'avance de 10 minutes à chaque fois. Serait-il alors possible de considérer la saison comme une heure au lieu d'une journée? Dans ce cas, fréquence = 60 pour les minutes, fréquence = 3600 pour les secondes?

J'ai essayé par exemple d'utiliser la fréquence = 60 pour les données minute et j'ai obtenu de meilleurs résultats par rapport à la fréquence = 1440 (utilisé fouriervoir le lien ci-dessous par Hyndman) http://robjhyndman.com/hyndsight/forecasting-weekly-data/

(La comparaison a été effectuée en utilisant MAPE pour mesurer la précision des prévisions)

Dans le cas où les résultats sont arbitraires complets et que la fréquence ne peut pas être modifiée. Quelle serait en fait l'interprétation de l'utilisation de freq = 60 sur mes données?

Je pense également qu'il convient de mentionner que mes données contiennent une saisonnalité à toutes les heures et toutes les deux heures (en observant les données brutes et la fonction d'autocorrélation)

Réponses:


38

La "fréquence" est le nombre d'observations par "cycle" (normalement un an, mais parfois une semaine, un jour, une heure, etc.). C'est l'opposé de la définition de la fréquence en physique, ou en analyse de Fourier, où "période" est la longueur du cycle, et "fréquence" est l'inverse de période. Lorsque vous utilisez la ts()fonction dans R, les choix suivants doivent être utilisés.

Data      frequency
Annual     1
Quarterly  4
Monthly   12
Weekly    52

En fait, il n'y a pas 52 semaines dans une année, mais 365,25 / 7 = 52,18 en moyenne. Mais la plupart des fonctions qui utilisent des tsobjets nécessitent une fréquence entière.

Une fois que la fréquence des observations est inférieure à une semaine, il existe généralement plus d'une façon de gérer la fréquence. Par exemple, les données observées chaque minute peuvent avoir une saisonnalité horaire (fréquence = 60), une saisonnalité quotidienne (fréquence = 24x60 = 1440), une saisonnalité hebdomadaire (fréquence = 24x60x7 = 10080) et une saisonnalité annuelle (fréquence = 24x60x365,25 = 525960). Si vous souhaitez utiliser un tsobjet, vous devez décider lequel est le plus important.

Une alternative consiste à utiliser un mstsobjet (défini dans le forecastpackage) qui gère plusieurs séries chronologiques de saisonnalité. Ensuite, vous pouvez spécifier toutes les fréquences qui pourraient être pertinentes. Il est également suffisamment flexible pour gérer les fréquences non entières.

Vous ne voudrez pas nécessairement inclure toutes ces fréquences - uniquement celles qui sont susceptibles d'être présentes dans les données. Comme vous ne disposez que de 180 jours de données, vous pouvez probablement ignorer la saisonnalité annuelle. Si les données sont des mesures d'un phénomène naturel (par exemple, la température), vous pourriez également être en mesure d'ignorer la saisonnalité hebdomadaire.

Avec plusieurs saisonnalités, vous pouvez utiliser un modèle TBATS ou des termes de Fourier dans un modèle de régression ou ARIMA. La fourierfonction du package de prévisions gérera les mstsobjets.


Une variation de cette réponse a été publiée sur mon blog: robjhyndman.com/hyndsight/seasonal-periods
Rob Hyndman

Professeur Hyndman, merci beaucoup pour votre message! Je suis heureux d'avoir répondu à mes questions.
Apython
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.