ComeçarComece de graça

Prevendo a demanda de eletricidade

Você também pode modelar a demanda diária de eletricidade em função da temperatura. Como você talvez já tenha visto na sua conta de luz, consome-se mais eletricidade em dias quentes por causa do ar-condicionado e em dias frios por causa do aquecimento.

Neste exercício, você vai ajustar um modelo de regressão quadrática com erro ARMA. Um ano de dados diários está armazenado em elecdaily, incluindo a demanda diária total, uma variável indicadora para dias úteis (um dia útil é representado por 1 e um dia não útil por 0) e as temperaturas máximas diárias. Como há sazonalidade semanal, a frequency foi definida como 7.

Vamos olhar as três primeiras linhas:

> elecdaily[1:3, ]
       Demand Temperature Workday
[1,] 174.8963        26.0       0
[2,] 188.5909        23.0       1
[3,] 188.9169        22.2       1

elecdaily já foi pré-carregado no seu ambiente de trabalho.

Este exercício faz parte do curso

Previsão em R

Ver curso

Instruções do exercício

  • Produza gráficos de séries temporais somente da demanda diária e das temperaturas máximas com facetting.
  • Monte uma matriz de regressores para incluir, nessa ordem, MaxTemp para as temperaturas máximas, MaxTempSq, que representa o valor ao quadrado da temperatura máxima, e Workday. Claramente, o segundo argumento de cbind() exigirá um operador matemático simples.
  • Ajuste um modelo de regressão dinâmica da coluna de demanda com erros ARIMA e chame-o de fit.
  • Se o próximo dia for um dia útil (indicador é 1) com temperatura máxima prevista de 20°C, qual é a demanda prevista? Preencha os valores apropriados em cbind() para o argumento xreg em forecast().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Time plots of demand and temperatures
autoplot(elecdaily[, c(___, ___)], facets = ___)

# Matrix of regressors
xreg <- cbind(MaxTemp = elecdaily[, "Temperature"],
              MaxTempSq = ___,
              Workday = ___)

# Fit model
fit <- auto.arima(___, xreg = xreg)

# Forecast fit one day ahead
forecast(___, xreg = cbind(___, ___, ___))
Editar e executar o código