Existe-t-il un moyen de permettre la saisonnalité des coefficients de régression?

8

Disons que j'ai une série chronologique, G t , et une covariable B t . Je veux trouver la relation entre eux par le modèle ARMA:

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

où le Z t résiduel suit un processus ARMA.

Le problème est: je sais avec certitude que β 0 et β 1 varient avec la période de l'année. Pourtant, je ne veux pas adapter un modèle distinct à chaque mois car cela introduit une discontinuité dans ma série chronologique, ce qui signifie que je ne peux pas calculer la fonction d'autocorrélation des résidus finaux.

Alors, existe-t-il un modèle de série chronologique (ou une famille de modèles, je me demande) qui permet aux coefficients de corrélation de ses covariables de changer de façon saisonnière?

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

Edit: Merci pour ceux qui ont répondu ici. J'ai décidé de n'utiliser que des mannequins saisonniers, mais je me suis occupé, donc je n'ai pas répondu à temps.

eddieisnutty
la source
Non, ce n'est pas une question stupide, quand vous voulez dire "changer la saisonnalité", voulez-vous dire les changements de saisonnalité au fil du temps et n'est pas constant? si tel est le cas, vous avez besoin d'un modèle qui gère la saisonnalité stochastique, le codage factice ne fonctionnera pas car il ne gère que la saisonnalité déterministe. Voir ma question précédente . simplement comme ARIMA (p, d, q) (P, D, Q), cela devrait le faire. Zt
prévisionniste

Réponses:

6

Edit (La même idée a été proposée par Stephan Kolassa quelques minutes avant de poster ma réponse. La réponse ci-dessous peut encore vous donner quelques détails pertinents.)

Vous pouvez utiliser des mannequins saisonniers. Par souci de simplicité, j'illustre cela pour une série chronologique trimestrielle. Les variables indicatrices saisonnières sont des variables indicatrices pour chaque saison. Le ème mannequin saisonnier prend la valeur 1 pour les observations liées à la saison et 0 sinon. Pour une série trimestrielle, les variables fictives saisonnières, , sont définies comme suit:iiSD

SD=[100001000010000110001000010000100001]SDB=[B10000B20000B30000B4B5000Bn30000Bn20000Bn10000Bn]

Vous pouvez multiplier chaque colonne en par votre variable explicative et obtenir la matrice définie ci-dessus.SDBtSDB

Ensuite, vous pouvez spécifier votre modèle comme suit:

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

où l'indice indique la saison. Notez que nous avons maintenant quatre coefficients (12 dans votre série mensuelle) , un pour chaque colonne dans .sβ1,sSDB

pour l'ordonnée à l'origine sauf que nous devons supprimer une colonne en afin d'éviter une parfaite colinéarité. Dans une série mensuelle, vous incluriez par exemple les 11 premières interceptions saisonnières en .β0SDSD

Ajuster le modèle par exemple par maximum de vraisemblance vous donnera une estimation de coefficient pour chaque saison. Vous pouvez également tester si sont les mêmes pour tous les ou de manière similaire si sont constants d'une saison à l'autre.β0,ssβ1,s

javlacalle
la source
1
+1. Bien que vous ne souhaitiez pas utiliser les moindres carrés ordinaires si vous avez des erreurs ARMA.
Stephan Kolassa
1
@javlacalle +1, pouvons-nous simplement utiliser comme ARIMA (p, d, q) (P, D, Q) au lieu de saisonnières pour saisir la saisonnalité? De cette façon, vous tenez également compte de la saisonnalité stochastique en plus de la saisonnalité déterministe. Bien que cela ne règle pas la question du PO sur la saisonnalité en tant que coefficients de régression, il pourrait être utile de souligner la différence. Zt
prévisionniste
1
@forecaster Je pense que l'objectif de l'OP est de mesurer l'influence de sur à différentes saisons. Cela pourrait être capturé en autorisant des coefficients variant selon les saisons, . Si est constant pour toutes les saisons, nous ne pouvons pas mesurer l'effet de à chaque saison et tester si les différences sont significatives. De plus, si est fixe, l'observation de la saisonnalité dans les résidus pourrait signifier qu'il y a un effet saisonnier non capté par un seul coefficient , plutôt que la nécessité d'étendre le modèle pour au moyen d'un modèle ARIMA saisonnier. BtGtβs,1β1Btβ1β1Zt
javlacalle
1
@Frank L'interception est définie sur zéro pour la saison qui est laissée de côté. Les coefficients des intersections liées aux coefficients restants sont interprétés comme un changement par rapport à la valeur moyenne de la saison supprimée (qui n'est pas nécessairement nulle, mais la valeur déterminée par les coefficients et les valeurs des variables restantes à cette saison).
javlacalle
1
@Frank Si 11 colonnes sont utilisées dans , alors vous incluriez en principe une constante (une colonne de uns); sinon, les résidus peuvent ne pas être nuls en moyenne: . À la 12e saison (celle qui a été ), la valeur attendue de est . Les coefficients , sont interprétés comme des changements par rapport à l'estimation de . SDBαGt=α+Zt+β0,sSDt+β1,sSDBtGtα+β1,12SDBtβ0,ss=1,,11α
javlacalle
5

Certainement. Incluez simplement les nuls mensuels dans une interaction avec . Soit un mannequin qui vaut 1 si l'instant correspond au mois et 0 sinon. Ajustez ensuite la régression suivante avec des erreurs ARMA:BtMtmtm

Gt=βMt+γBtMt+Zt

où est ARMA (p, q) et et sont des vecteurs de paramètres de longueur 12.Ztβγ

Vous pouvez effectuer l'ajustement réel en utilisant R avec le nlmepackage, en utilisant la gls()fonction et en spécifiant une corARMA()structure de corrélation .

Stephan Kolassa
la source
Et si vous n'avez pas beaucoup de points de données et que vous souhaitez conserver les paramètres? Existe-t-il un moyen de soustraire une saison tout en gardant les paramètres au minimum?
Frank
1
@Frank: si nous avons trop peu de données pour supporter un modèle complexe, alors je chercherais personnellement à la régularisation, comme le lasso, le filet élastique ou les approches bayésiennes.
Stephan Kolassa
Merci d'avoir répondu à une question aussi ancienne. Puis-je demander si et chacun avoir 12 termes? Ou devrait avoir 11 termes? J'ai appris «le piège variable factice», mais je ne peux pas trouver une référence qui discute clairement de ce cas. Par exemple, ce modèle fonctionnerait-il? Ou dois-je réduire la longueur du vecteur de 1? βMtγBtMtβMtβYt=βMt+γBtMt+f(t)+Zt
Frank
1
@Frank: oui, les deux devraient avoir 12 termes car il n'y a pas d'interception . Si vous supprimez un terme, par exemple , cela signifie que la moyenne du mois pour devrait être zéro, ce qui n'a généralement pas de sens. Alternativement, vous pouvez inclure une interception et un terme pour comme effet principal (sans interaction avec ), puis laisser une entrée à la fois et - ce qui vous donnerait paramètres, exactement autant que le modèle que je propose. Ce n'est qu'une reparamétrie. Le modèle que vous proposez dans votre commentaire fonctionne (en supposant un déterministe ). β11Bt=0BtMβγ1+1+11+11=24f
Stephan Kolassa
1
Ils devraient l'être, oui
Stephan Kolassa
4

Si vous ne voulez pas discrétiser l'effet saisonnier, vous pouvez supposer que les coefficients de régression varient de manière cyclique en fonction de la période de l'année, c'est-à-dire et , alors si vous les remplacez dans votre modèle linéaire, vous devriez obtenir quelque chose de la formeβ0(t)=w0+w1sinnt+w2cosntβ1(t)=w3+w4sinnt+w5cosnt

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

Vous pouvez adapter ce modèle en utilisant la régression OLS (ou la méthode que vous utilisez déjà) avec les covariables supplémentaires , , et , où est la constante dont vous avez besoin pour représenter un année ( pour une série chronologique quotidienne).sinntcosntBtsinntBtcosntn2π/365

Cela n'introduirait aucune discontinuité dans le modèle, car la saisonnalité des coefficients de régression est une fonction lisse du temps. Je soupçonne que si vous ajoutiez des composantes sinus et cosinus représentant les harmoniques du cycle annuel, vous pourriez modéliser les écarts par rapport à la simple variation sinusoïdale des coefficients de régression (approche de type série de Fourier).

Avertissement: ça a été une longue journée, donc j'ai peut-être fait une erreur stupide quelque part.

Dikran Marsupial
la source
(+1) Une approche trigonométrique est une alternative intéressante. Un autre attrait de l'approche trigonométrique est qu'elle peut nécessiter moins de paramètres. Votre équation utilise 6 paramètres contre 11 + 12 = 23 dans l'approche que j'ai discutée dans ma réponse. En pratique, nous aurions probablement besoin d'inclure en plus de la fréquence saisonnière fondamentale ( dans une série mensuelle) certaines de ses harmoniques, qui nécessiteront plus de paramètres. Mais nous pouvons obtenir un ajustement raisonnable sans inclure toutes les harmoniques et donc le nombre de paramètres à estimer peut être réduit. 2π/12
javlacalle
Un inconvénient que je vois est que l'interprétation est moins simple dans le contexte d'un modèle de régression. L'interprétation des mannequins saisonniers 0-1 peut être faite en termes de mois plutôt qu'en cycles de périodicité saisonnière. Nous pouvons conclure par exemple que l'effet de la température sur les ventes d'un certain produit est le plus élevé en août et n'a pas d'effet majeur en mars. Dans l'approche trigonométrique, nous conclurions par exemple que l'effet de la température sur les ventes suit un cycle qui se répète tous les 6 mois. La première interprétation peut être plus informative.
javlacalle
Vous pouvez toujours le faire avec cette approche, vous pouvez tracer la variation de chaque et par une somme pondérée des composants sinus et cosinus, et vous pouvez discrétiser cela pour voir comment les ventes varient par mois. La question initiale suggérait que des discontinuités n'étaient pas souhaitées, ce qui implique une variation douce. À la fin de la journée, la bonne approche dépend de ce que vous essayez de découvrir. β0β1
Dikran Marsupial
1
Pour autant que je sache, le PO était préoccupé par les discontinuités dans les résidus, l'ajustement de 12 modèles de régression (un pour chaque mois) conduira à 12 séries de résidus au lieu d'une série de résidus où effectuer des diagnostics en regardant leur autocorrélations. Les mannequins 0-1 et les mannequins trigonométriques seraient un moyen approprié de résoudre ce problème. Laquelle est une approche plus naturelle dépendrait, comme vous le dites, du but de l'analyse et du type d'information recherchée.
javlacalle
Soulignons que la question est générale et que seule la balise econometricsrévèle l'intérêt du PO pour ce côté. Pour les données de séries chronologiques environnementales, l'approche trigonométrique est souvent très réussie et naturelle, tandis qu'à l'inverse les mois n'ont que peu ou pas de sens même si les données sont rapportées de cette manière.
Nick Cox
2

Ajustez la moyenne et les harmoniques du cycle saisonnier aux séries chronologiques de x et y. Ceux-ci fournissent les termes d'interception. Ensuite, soustrayez-les de x et y pour créer des anomalies. Utilisez ces anomalies x 'et y' pour calculer les coefficients de pente de régression variant selon les saisons: ajustez le produit du tableau entre les x 'et y' avec la moyenne et les harmoniques principales au cycle saisonnier. Faites de même pour la variance des x '. Divisez ensuite l'ajustement du cycle saisonnier à la covariance par l'ajustement du cycle saisonnier à la variance pour fournir des coefficients de pente en évolution continue. Pour plus de détails, voir http://onlinelibrary.wiley.com/doi/10.1002/qj.3054/full

Paul Roundy
la source