O @Irishstat abordou praticamente o que eu estava prestes a dizer, mas eu responderia com minha própria experiência pessoal na modelagem desses dados com regressão de séries temporais e OLS.
Se for um dado diário, eu faria o seguinte:
Crie uma variável dummy para diferentes sazonalidades:
- Para capturar a sazonalidade do dia da semana, crie 6 variáveis fictícias.
- Para capturar a sazonalidade do dia do mês, crie 30 variáveis fictícias
- Para capturar o mês do ano, crie 11 variáveis fictícias.
Crie uma variável fictícia para variáveis de tendência:
Se a série temporal exibir tendência linear, adicione uma variável de tendência temporal.
Se a série temporal exibir tendência não linear, adicione uma variável de tendência temporal não linear, como quadrático / cúbico / log
Adicionar variáveis independentes Variáveis
Como são dados de séries temporais, deve-se tomar cuidado com os efeitos de chumbo e atraso de varibales independentes. Por exemplo, no seu exemplo, você menciona a bandeira promocional de preço, eles podem não ter efeito imediato em sua resposta, ou seja, pode haver atraso e um efeito decadente / permanente . Por exemplo, se você executar uma promoção hoje, poderá ter um aumento nas vendas hoje, mas o efeito da promoção decairá após alguns dias. Não há uma maneira fácil de modelar isso usando regressão múltipla; você deseja usar a modelagem da função de transferência, que é parsimonoius e pode lidar com qualquer tipo de efeito de avanço e atraso. Veja este exemplo que publiquei anteriormente, onde há uma intervenção (no seu caso, preço) e há um aumento abrupto, seguido de um efeito decadente. Dito isto, se você tiverPara conhecer a priori o efeito lead e lag, crie variáveis adicionais no seu caso, variáveis fictícias antes e depois do preço e mudança de promoção (sim / não).
Você também precisará adicionar variáveis de indicador de feriados em movimento, por exemplo, como o Irishstat indicou que você deseja adicionar Páscoa / Ação de Graças (nos EUA) que estão movendo feriados. Feriados com datas fixas serão resolvidos automaticamente se você estiver usando um esquema de codificação fictícia para capturar a sazonalidade.
Além disso, você precisaria identificar valores discrepantes como aditivo / pulso (evento único) ou mudança de nível (mudança permanente) e adicioná-los como regressores. Identificar outliers em regressão múltipla para dados de séries temporais é quase impossível; você precisaria de métodos de detecção discrepantes de séries temporais, como o procedimento de Tsay ou o procedimento de Chen e Liu, que foi incorporado a softwares como AUTOBOX, SPSS, SAS ou o tsoutlier
pacote em R.
Problemas potenciais:
A seguir, estão os problemas que você encontraria se modelasse dados de séries temporais usando a regressão múltipla do OLS.
- Os erros podem ter correlação automática. Veja este belo site e este site explicando o problema. Uma maneira de evitar isso é usar a abordagem de mínimos quadrados generalizados (GLS) ou ARIMAX vs. regressão múltipla OLS, onde você pode corrigir a correlação automática.
- O modelo OLS não será parsimonoius. Você tem6 + 30 + 11 = 47 variáveis fictícias para sazonalidade.
- Ao usar variáveis fictícias, você assume que sua sazonalidade é determinística, ou seja, não muda com o tempo. Como você tem apenas 3 anos de dados, eu não me preocuparia com isso, mas ainda vale a pena traçar a série e ver se a sazonalidade não muda.
E há muitas mais desvantagens de usar a regressão múltipla. Se a previsão for mais importante para você, eu armazenaria pelo menos 6 meses de dados e testaria a capacidade preditiva de sua regressão múltipla. Se seu objetivo principal é explicar a correlação entre variáveis independentes, eu seria cauteloso usando a regressão múltipla e, em vez disso, usaria uma abordagem de séries temporais, como ARIMAX / GLS.
Se você estiver interessado, consulte o excelente texto de Pankratz , para função de transferência e modelagem de regressão dinâmica. Para previsão geral de séries temporais, consulte Makridakis et al . Além disso, um bom texto de referência seria de Diebold para regressão e previsão baseada em séries temporais.