L'implémentation de la méthode de Brown, Durbin et Evans via PROC IML permet d'aller bien au-delà des régressions standards en analysant la stabilité des paramètres dans le temps. La force de cette macro réside dans l'utilisation du calcul matriciel pour mettre à jour récursivement les coefficients : au lieu de recalculer tout le modèle à chaque itération, elle ajuste l'inverse de la matrice et les résidus pas à pas. Les statistiques CUSUM (sommes cumulées des résidus récursifs) et CUSUMSS (sommes des carrés) sont des outils de diagnostic essentiels pour identifier des ruptures structurelles ou des changements de régime dans vos séries temporelles, signalant précisément le moment où le modèle cesse d'être stable.
Type : EXTERNE
La macro attend une table SAS en entrée (paramètre &data, défaut _last_) contenant la variable cible (&yvar) et les régresseurs (&xvars).
| 1 | %macro cusum( |
| 2 | DATA=_last_, /* name of input data set */ |
| 3 | yvar=, /* response variable */ |
| 4 | xvars=, /* predictor variables */ |
| 5 | out=cusum /* name of output data set */ |
| 6 | ); |
| 7 | |
| 8 | PROC IML; |
| 9 | use &DATA; |
| 10 | read all var {&xvars} into x[ colname=xname ]; |
| 11 | read all var {&yvar} into y[ colname=yname ]; |
| 12 | close &DATA; |
| 13 | /* ... Calculs matriciels et récursivité ... */ |
| 14 | create &out from x [ colname=rnames ]; |
| 15 | append from x; |
| 16 | QUIT; |
| 17 | |
| 18 | DATA &out; |
| 19 | SET &out; |
| 20 | label |
| 21 | residual='Recursive residual' |
| 22 | cusum='CUSUM value' |
| 23 | cusumss ='Cumulative SS'; |
| 24 | %mend; |