EmpezarEmpieza gratis

Evaluación de la precisión de pronósticos sin estacionalidad

En ciencia de datos, un conjunto de entrenamiento es un conjunto de datos que se usa para descubrir posibles relaciones. Un conjunto de prueba es un conjunto de datos que se usa para comprobar la solidez de esas posibles relaciones. Cuando separas un conjunto de datos en estas partes, normalmente asignas más datos al entrenamiento y menos a la prueba.

Una función que puede usarse para crear conjuntos de entrenamiento y de prueba es subset(), que devuelve un subconjunto de una serie temporal donde los argumentos opcionales start y end se especifican usando valores de índice.

> # x es un vector numérico o una serie temporal
> # Para extraer las observaciones de la 101 a la 500
> train <- subset(x, start = 101, end = 500, ...)

> # Para extraer las primeras 500 observaciones
> train <- subset(x, end = 500, ...)

Como viste en el vídeo, otra función, accuracy(), calcula varias métricas de precisión de pronóstico dado el objeto de pronóstico y las observaciones reales correspondientes. Es lo bastante inteligente como para encontrar las observaciones relevantes si le pasas más de las que estás pronosticando.

> # f es un objeto de clase "forecast"
> # x es un vector numérico o una serie temporal
> accuracy(f, x, ...)

Las medidas de precisión incluyen el error cuadrático medio de la raíz (RMSE), que es la raíz cuadrada del error cuadrático medio (MSE). Minimizar el RMSE, lo que implica aumentar la precisión, equivale a minimizar el MSE.

La serie temporal precargada gold contiene precios diarios del oro durante 1108 días. Aquí usarás los primeros 1000 días como conjunto de entrenamiento y calcularás pronósticos para los 108 días restantes. Estos se compararán con los valores reales de esos días usando las funciones de pronóstico simples naive(), que ya usaste en este capítulo, y meanf(), que genera pronósticos iguales a la media de todas las observaciones. Tendrás que especificar el parámetro h (que indica cuántos valores quieres pronosticar) en ambas funciones.

Este ejercicio forma parte del curso

Forecasting en R

Ver curso

Instrucciones del ejercicio

  • Usa subset() para crear un conjunto de entrenamiento de gold con las primeras 1000 observaciones. Llámalo train.
  • Calcula los pronósticos del conjunto de prueba, que contiene los datos restantes, usando naive() y asígnalos a naive_fc. Ajusta h en consecuencia.
  • Ahora, calcula los pronósticos del mismo conjunto de prueba usando meanf() y asígnalos a mean_fc. Ajusta h en consecuencia.
  • Compara las métricas de precisión de los dos métodos usando la función accuracy().
  • Con base en los resultados anteriores, guarda los pronósticos con mayor precisión como bestforecasts.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Create the training data as train
train <- subset(___, end = ___)

# Compute naive forecasts and save to naive_fc
naive_fc <- naive(___, h = ___)

# Compute mean forecasts and save to mean_fc
mean_fc <- meanf(___, h = ___)

# Use accuracy() to compute RMSE statistics
accuracy(___, gold)
___(___, gold)

# Assign one of the two forecasts as bestforecasts
bestforecasts <- ___
Editar y ejecutar código