L'un des problèmes importants auxquels sont confrontés les prévisionnistes est de savoir si la série donnée peut être prévue ou non?
Je suis tombé sur un article intitulé " L'entropie comme indicateur a priori de la prévisibilité " de Peter Catt qui utilise l' entropie approximative (ApEn) comme mesure relative pour déterminer qu'une série chronologique donnée est prévisible.
L'article dit,
"Des valeurs ApEn plus petites indiquent une plus grande chance qu'un ensemble de données soit suivi de données similaires (régularité). Inversement, une valeur plus élevée d'ApEn indique une probabilité plus faible de répétition de données similaires (irrégularité). Par conséquent, des valeurs plus grandes véhiculent plus de désordre , le caractère aléatoire et la complexité du système. "
Et est suivi de formules mathématiques pour calculer ApEn. Il s'agit d'une approche intéressante car elle fournit une valeur numérique qui peut être utilisée pour évaluer la prévisibilité au sens relatif. Je ne sais pas ce que signifie Entropie approximative, j'en lis plus à ce sujet.
Il y a un paquet appelé pracma en R
qui vous permet de calculer EnAp. À des fins d'illustration, j'ai utilisé 3 séries chronologiques différentes et calculé les nombres ApEn.
- Série 1: La célèbre série chronologique AirPassenger - est hautement déterministe et nous devrions être en mesure de prévoir facilement.
- Série 2: Sunspot Time Series - est très bien définie mais devrait être moins prévisible que la série 1.
- Série 3: nombre aléatoire Il n'y a aucun moyen de prévoir cette série.
Donc, si nous calculons ApEn, la série 1 devrait être inférieure à la série 2 devrait être très très inférieure à la série 3.
Ci-dessous, l'extrait R qui calcule ApEn pour les trois séries.
library("pracma")
> series1 <- approx_entropy(AirPassengers)
> series1
[1] 0.5157758
> series2 <- approx_entropy(sunspot.year)
> series2
[1] 0.762243
> series3 <- approx_entropy(rnorm(1:30))
> series3
[1] 0.1529609
Ce n'est pas ce à quoi je m'attendais. La série aléatoire a un nombre inférieur à la série AirPassenger bien définie. Même si j'augmente le nombre aléatoire à 100, j'obtiens toujours ce qui suit qui est inférieur à la série bien définie série 2 / Sunspot.yealry.
> series3 <- approx_entropy(rnorm(1:100))
> series3
[1] 0.747275
Voici mes questions:
- Il y a 2 paramètres dans le calcul de ApEn (
m
etr
)? Comment les déterminer. J'ai utilisé les valeurs par défaut dans leR
code ci-dessus. - Qu'est-ce que je fais de manière incorrecte qui montre que de manière incorrecte, ApEn est inférieur pour les nombres aléatoires par rapport à une série bien définie telle que sunspot.yearly.
- Dois-je désaisonnaliser / décourager la série, puis estimer ApEn. L'auteur a cependant appliqué directement ApEn à la série.
- Existe-t-il un autre moyen de déterminer si la série est prévisible?