Modélisation de séries chronologiques inégalement espacées

12

J'ai une variable continue, échantillonnée sur une période d'un an à intervalles irréguliers. Certains jours ont plus d'une observation par heure, tandis que d'autres périodes n'ont rien pendant des jours. Il est donc particulièrement difficile de détecter les tendances dans les séries chronologiques, car certains mois (par exemple octobre) sont fortement échantillonnés, tandis que d'autres ne le sont pas.

entrez la description de l'image ici

Ma question est quelle serait la meilleure approche pour modéliser cette série chronologique?

  • Je crois que la plupart des techniques d'analyse de séries chronologiques (comme ARMA) ont besoin d'une fréquence fixe. Je pourrais agréger les données, afin d'avoir un échantillon constant ou choisir un sous-ensemble de données très détaillé. Avec les deux options, il me manquerait certaines informations de l'ensemble de données d'origine, qui pourraient dévoiler des modèles distincts.
  • Au lieu de décomposer la série en cycles, je pouvais alimenter le modèle avec l'ensemble de données entier et m'attendre à ce qu'il capte les modèles. Par exemple, j'ai transformé l'heure, le jour de la semaine et le mois en variables catégorielles et j'ai essayé une régression multiple avec de bons résultats (R2 = 0,71)

J'ai l'idée que les techniques d'apprentissage automatique telles que ANN peuvent également sélectionner ces modèles dans des séries chronologiques inégales, mais je me demandais si quelqu'un avait essayé cela et pourrait me fournir des conseils sur la meilleure façon de représenter les modèles temporels dans un réseau neuronal.

double octet
la source

Réponses:

4

ARIMA, lissage exponentiel et autres nécessitent en effet des points d'échantillonnage régulièrement espacés. Au fur et à mesure que vous écrivez, vous pouvez regrouper vos données (par exemple en jours), mais en écrivant également, vous perdriez des informations. De plus, vous pouvez vous retrouver avec des valeurs manquantes, vous devrez donc imputer, car ARIMA n'est pas très bon pour gérer les valeurs manquantes.

Une alternative, comme vous l'écrivez à nouveau, consiste à introduire des variables temporelles dans un cadre de régression. Personnellement, je n'aime pas vraiment les mannequins catégoriques, car cela implique une coupure nette entre les catégories voisines. Ce n'est généralement pas très naturel. Je préfère donc regarder les splines périodiques avec différentes périodicités. Cette approche a l'avantage de traiter votre échantillonnage inégal et également les valeurs manquantes.

R2

Enfin, n'exagérez pas la modélisation. Juste en regardant vos données, il est évident que quelque chose s'est produit en juin, un jour d'août et en septembre / octobre. Je vous suggère d'abord de découvrir ce qu'était ce quelque chose et de l'inclure dans votre modèle, par exemple, en tant que variables explicatives (que vous pouvez inclure dans ARIMAX si vous le souhaitez). Ce qui s'est passé là-bas n'est évidemment pas saisonnier.

Stephan Kolassa
la source
0

Puisque votre question et la belle réponse de @Stephan Kolassa discutent d'ARIMA et des réseaux de neurones en particulier, je voulais mentionner que vous pouvez donner le forecastpackage à Rla fois - il a une nnetarfonction qui forme un simple réseau de neurones à action directe avec 1 couche cachée et entrées décalées.

Vous pourriez peut-être essayer quelque chose comme:

  • extraire de nombreuses fonctionnalités pour chacune de vos observations comme le jour de la semaine, le jour du mois, le jour de la semaine / le week-end, etc. (seul datetime est mentionné comme une dépendance potentielle dans votre question, c'est pourquoi j'ai inclus cela - mais vous pouvez inclure toutes les choses possibles que vous pourrait influencer votre variable d'intérêt).
  • les valeurs décalées de votre variable d'intérêt ainsi que les informations datetime (comme le jour de la semaine, etc.) seraient vos entrées. vous pouvez par exemple inclure les variables datetime comme régresseurs externes ( xreg).

et prédire les valeurs futures de votre var d'intérêt en fonction de ces entrées. De plus, vous pouvez également penser à inclure la moyenne observée et la variance / déviation pour chaque jour donné de la valeur que vous souhaitez prédire. Cela signifierait que vous devriez d'abord prévoir votre moyenne et votre variance attendues avec, par exemple, ARIMA, puis ajouter cela comme entrée supplémentaire à l'approche mentionnée ci-dessus.

hth.

davidski
la source