Existe uma maneira de permitir a sazonalidade nos coeficientes de regressão?


8

Digamos que eu tenha uma série de tempo, G t , e uma co-variável B t . Quero encontrar o relacionamento entre eles pelo modelo ARMA:

G t = Z t + β 0 + β 1 B t

em que o residual Z t segue algum processo ARMA.

O problema é: sei com certeza que β 0 e β 1 variam com a época do ano. No entanto, não quero ajustar um modelo separado para cada mês, porque isso introduz descontinuidade em minhas séries temporais, o que significa que não posso calcular a função de autocorrelação dos resíduos finais.

Então, existe um modelo de série temporal (ou família de modelos, eu me pergunto) que permita que os coeficientes de correlação de suas covariáveis ​​mudem sazonalmente?

========================

Edit: Obrigado por quem respondeu aqui. Decidi usar apenas manequins sazonais, mas fiquei ocupado, então não respondi a tempo.


Não, essa não é uma pergunta idiota, quando você quer dizer "mudar a sazonalidade", quer dizer que a sazonalidade muda com o tempo e não é constante? se for esse o caso, você precisa de um modelo que lide com a sazonalidade estocástica, a codificação fictícia não funcionará, pois lida apenas com a sazonalidade determinística. Veja minha pergunta anterior . Simplesmente modele como ARIMA (p, d, q) (P, D, Q), isso deve ser feito. Zt
Forecaster

Respostas:


6

Editar (A mesma idéia foi proposta por Stephan Kolassa alguns minutos antes de eu postar minha resposta. A resposta abaixo ainda pode fornecer alguns detalhes relevantes.)

Você pode usar bonecos sazonais. Por simplicidade, ilustro isso para uma série temporal trimestral. Manequins sazonais são variáveis ​​indicadoras para cada estação. O ésimo manequim sazonal assume o valor 1 para as observações relacionadas às temporadas 0. Para uma série trimestral, os manequins sazonais, , são definidos da seguinte forma:i S DiiSD

SD=[100001000010000110001000010000100001]SDB=[B10000B20000B30000B4B5000Bn30000Bn20000Bn10000Bn]

Você pode multiplicar cada coluna no pela sua variável explicativa e obter o da matriz definido acima.B t S D BSDBtSDB

Em seguida, você pode especificar seu modelo da seguinte maneira:

Gt=Zt+β0,sSDt+β1,sSDBt,

onde o índice indica a estação. Observe que agora temos quatro coeficientes (12 em sua série mensal) , um para cada coluna no .β 1 , s S D Bsβ1,sSDB

O mesmo para a interceptação exceto que devemos remover uma coluna no para evitar colinearidade perfeita. Em uma série mensal, você incluiria, por exemplo, as 11 primeiras interceptações sazonais no . S D S Dβ0SDSD

Ajustar o modelo, por exemplo, pela máxima probabilidade, fornecerá uma estimativa de coeficiente para cada estação. Você também pode testar se são iguais para todos os ou da mesma forma se são constantes ao longo das estações. s β 1 , sβ0,ssβ1,s


1
+1. Embora você não queira ajustar usando Mínimos Quadrados Ordinários, se você tiver erros ARMA.
Stephan Kolassa

1
Zt

1
BtGtβs,1β1Btβ1β1Ztpor meio de um modelo ARIMA sazonal.
Javlacalle

1
@Frank A interceptação é definida como zero para a temporada que é deixada de fora. Os coeficientes das interceptações relacionadas aos coeficientes restantes são interpretados como uma alteração em relação ao valor médio da estação excluída (que não é necessariamente zero, mas o valor determinado pelos coeficientes e valores das variáveis ​​restantes nessa estação).
Javlacalle

1
SDBαGt=α+Zt+β0,sSDt+β1,sSDBtGtα+β1,12SDBtβ0,ss=1,,11α

5

BtMtmtm

Gt=βMt+γBtMt+Zt

Ztβγ

Você pode fazer o ajuste real usando R com o nlmepacote, usando a gls()função e especificando uma corARMA()estrutura de correlação .


E se você não tiver muitos pontos de dados e quiser preservar parâmetros? Existe uma maneira de subtrair uma temporada, mantendo os parâmetros no mínimo?
22419 Frank

1
@Frank: se tivermos poucos dados para suportar um modelo complexo, eu pessoalmente consideraria a regularização, como o laço, a rede elástica ou as abordagens bayesianas.
Stephan Kolassa

βMtγBtMtβMtβYt=βMt+γBtMt+f(t)+Zt
Frank

1
@ Frank: sim, ambos devem ter 12 termos, pois não há interceptação . Se você remover um termo, digamos , isso significa que a média no mês para deve ser zero, o que geralmente não faz sentido. Como alternativa, você pode incluir uma interceptação e um termo para como efeito principal (sem interação com ) e deixar uma entrada de e - o que resultaria em parâmetros, exatamente tantos quanto o modelo que proponho. É apenas uma reparameterização. O modelo que você propõe em seu comentário funciona (assumindo um determinístico ). β11Bt=0BtMβγ1+1+11+11=24f
Stephan Kolassa

1
Devem ser, sim #
Stephan Kolassa

4

Se você não quiser discretizar o efeito sazonal, pode assumir que os coeficientes de regressão variam de maneira cíclica em função da época do ano, ou seja, e , se você os substituir em seu modelo linear, deverá obter algo da formaβ0(t)=w0+w1sinnt+w2cosntβ1(t)=w3+w4sinnt+w5cosnt

Gt=Zt+wo+w1sinnt+w2cosnt+w3Bt+w4Btsinnt+w5Btcosnt

sinntcosntBtsinntBtcosntn2π/365

Isso não introduziria descontinuidades no modelo, pois a sazonalidade nos coeficientes de regressão são funções suaves do tempo. Suspeito que se você adicionou componentes seno e cosseno representando harmônicos do ciclo anual, você pode modelar desvios da variação sinusoidal simples nos coeficientes de regressão (abordagem do tipo série de Fourier).

Advertência: Faz um longo dia, então eu posso ter cometido um erro estúpido em algum lugar.


2π/12

Uma desvantagem que vejo é que a interpretação é menos direta no contexto de um modelo de regressão. A interpretação dos manequins sazonais 0-1 pode ser feita em termos de meses, em vez de ciclos de periodicidade sazonal. Podemos concluir, por exemplo, que o efeito da temperatura nas vendas de um determinado produto é o mais alto em agosto e não tem grande efeito em março. Na abordagem trigonométrica, concluiríamos, por exemplo, que o efeito da temperatura nas vendas segue um ciclo que é repetido a cada 6 meses. A interpretação anterior pode ser mais informativa.
Javlacalle

β0β1

1
Até onde eu entendi, a preocupação do OP era com descontinuidades nos resíduos, o ajuste de 12 modelos de regressão (um para cada mês) levaria a 12 séries de resíduos em vez de uma série de resíduos onde realizar alguns diagnósticos, observando suas autocorrelações. Os manequins 0-1 e os manequins trigonométricos seriam uma maneira apropriada de lidar com esse problema. Qual é uma abordagem mais natural dependeria, como você diz, do objetivo da análise e do tipo de informação desejada.
javlacalle

Vamos sublinhar que a pergunta é geral e apenas a tag econometricsdivulga o interesse do OP nesse lado. Para dados de séries temporais ambientais, a abordagem trigonométrica costuma ser altamente bem-sucedida e natural, enquanto meses por outro lado têm pouco ou nenhum significado, mesmo que os dados sejam relatados dessa maneira.
Nick Cox

2

Ajuste a média e os harmônicos do ciclo sazonal às séries temporais de x e y. Eles fornecem os termos de interceptação. Subtraia-os de x e y para criar anomalias. Use essas anomalias x 'e y' para calcular coeficientes de inclinação de regressão sazonalmente variáveis: Ajuste o produto da matriz entre x 'e y' com as harmônicas média e principal no ciclo sazonal. Faça o mesmo para a variação do x '. Em seguida, divida o ajuste do ciclo sazonal para a covariância pelo ajuste do ciclo sazonal para a variação para fornecer coeficientes de declive em constante evolução. Para detalhes, consulte http://onlinelibrary.wiley.com/doi/10.1002/qj.3054/full

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.