Uno de los problemas importantes que enfrentan los pronosticadores es si las series dadas se pueden pronosticar o no.
Me topé con un artículo titulado "La entropía como un indicador prioritario de previsibilidad " de Peter Catt que utiliza la entropía aproximada (ApEn) como una medida relativa para determinar que una serie temporal dada es previsible.
El artículo dice:
"Los valores más pequeños de ApEn indican una mayor probabilidad de que un conjunto de datos sea seguido por datos similares (regularidad). Por el contrario, un valor mayor de ApEn indica una menor probabilidad de que se repitan datos similares (irregularidad). Por lo tanto, los valores más grandes transmiten más desorden , aleatoriedad y complejidad del sistema ".
Y es seguido por fórmulas matemáticas para calcular ApEn. Este es un enfoque interesante porque proporciona un valor numérico que se puede utilizar para evaluar la capacidad de predicción previa en sentido relativo. No sé lo que significa Entropía aproximada, estoy leyendo más al respecto.
Hay un paquete llamado pracma en R
que le permite calcular ApEn. Con fines ilustrativos, utilicé 3 series temporales diferentes y calculé los números de ApEn.
- Serie 1: La famosa serie temporal de AirPassenger: es altamente determinista y deberíamos poder pronosticar fácilmente.
- Serie 2: Serie temporal de manchas solares: está muy bien definida, pero debe ser menos predecible que la serie 1.
- Serie 3: Número aleatorio No hay forma de pronosticar esta serie.
Entonces, si calculamos ApEn, la Serie 1 debería ser menor que la Serie 2, debería ser muy, muy menor que la Serie 3.
A continuación se muestra el fragmento R que calcula ApEn para las tres series.
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
Esto no es lo que esperaba. La serie aleatoria tiene un número menor que la serie AirPassenger bien definida. Incluso si aumento el número aleatorio a 100, sigo obteniendo lo siguiente, que es menor que la serie bien definida 2 / Sunspot.yealry series.
> series3 <- approx_entropy(rnorm(1:100))
> series3
[1] 0.747275
A continuación están mis preguntas:
- Hay 2 parámetros en el cálculo de ApEn (
m
yr
)? Cómo determinarlos. Usé valores predeterminados en elR
código anterior. - ¿Qué estoy haciendo incorrectamente que muestra que incorrectamente que ApEn es más bajo para números aleatorios frente a una serie bien definida como sunspot.yearly?
- ¿Debo desestacionalizar / eliminar tendencias de la serie y luego estimar ApEn? Sin embargo, el autor aplicó ApEn directamente a la serie.
- ¿Hay alguna otra forma de determinar si la serie es previsible?