Jedną z ważnych kwestii, przed którymi stoją prognozy, jest to, czy daną serię można prognozować, czy nie?
Natknąłem się na artykuł zatytułowany „ Entropia jako wskaźnik Priori przewidywalności ” autorstwa Petera Catta, który wykorzystuje aproksymalną entropię (ApEn) jako miarę względną do określenia danego szeregu czasowego.
Artykuł mówi:
„Mniejsze wartości ApEn wskazują na większą szansę, że po zestawie danych pojawią się podobne dane (prawidłowość). I odwrotnie, większa wartość ApEn wskazuje na mniejszą szansę na powtórzenie podobnych danych (nieregularność). Dlatego większe wartości przenoszą więcej nieporządku , losowość i złożoność systemu. ”
Po nim następują wzory matematyczne do obliczania ApEn. Jest to interesujące podejście, ponieważ zapewnia wartość liczbową, której można użyć do oceny możliwości prognozowania w sensie względnym. Nie wiem, co oznacza przybliżona entropia, czytam o tym więcej.
Jest to pakiet o nazwie pracma w R
który pozwala obliczyć APEN. Dla celów ilustracyjnych wykorzystałem 3 różne szeregi czasowe i obliczyłem liczby ApEn.
- Seria 1: Słynna seria czasowa AirPassenger - jest wysoce deterministyczna i powinniśmy być w stanie łatwo przewidzieć.
- Seria 2: Sunspot Time Series - jest bardzo dobrze zdefiniowana, ale powinna być mniej przewidywalna niż seria 1.
- Seria 3: Liczba losowa Nie ma możliwości przewidzenia tej serii.
Jeśli więc obliczymy ApEn, seria 1 powinna być mniejsza niż seria 2 powinna być bardzo, bardzo mniejsza seria 3.
Poniżej znajduje się fragment kodu R, który oblicza ApEn dla wszystkich trzech serii.
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
Nie tego się spodziewałem. Seria losowa ma niższą liczbę niż dobrze określona seria AirPassenger. Nawet jeśli zwiększę liczbę losową do 100, nadal otrzymuję następujący wynik, który jest mniejszy niż dobrze zdefiniowana seria 2 / Seria Sunspot.yealry.
> series3 <- approx_entropy(rnorm(1:100))
> series3
[1] 0.747275
Poniżej moje pytania:
- Istnieją 2 parametry w obliczaniu ApEn (
m
ir
)? Jak je ustalić. Użyłem wartości domyślnych wR
powyższym kodzie. - Co robię niepoprawnie, to pokazuje, że niepoprawnie ApEn jest niższy dla liczb losowych w porównaniu z dobrze zdefiniowaną serią, taką jak plamka słoneczna. Rok.
- Czy powinienem zdezasonalizować / odrzucić serię, a następnie oszacować ApEn. Autor zastosował jednak ApEn bezpośrednio do serii.
- Czy istnieje inny sposób ustalenia, czy seria jest przewidywalna?