L'action 'esm' (Exponential Smoothing Models) du jeu d'actions 'uniTimeSeries' permet de modéliser et de prévoir des séries chronologiques univariées à l'aide de méthodes de lissage exponentiel. Elle prend en charge diverses techniques, notamment le lissage simple, double, linéaire, de Holt-Winters (additif et multiplicatif) et les modèles de tendance amortie. L'action peut sélectionner automatiquement le meilleur modèle en fonction d'un critère statistique (comme le RMSE) ou appliquer une méthode spécifiée par l'utilisateur. Elle gère également la transformation des données et le traitement des valeurs manquantes.
| Paramètre | Description |
|---|---|
| table | Spécifie la table d'entrée CAS contenant les données de la série chronologique. Requis. |
| timeId | Spécifie la variable d'horodatage (date ou datetime) qui identifie les périodes de temps. Requis. |
| interval | Spécifie la fréquence d'accumulation des données (par exemple 'DAY', 'MONTH', 'YEAR'). Requis. |
| forecast | Liste spécifiant les variables cibles à prévoir et les paramètres de prévision associés (méthode, horizon 'lead', niveau de confiance 'alpha', etc.). Requis. |
| casOut | Spécifie la table de sortie qui contiendra les séries originales et les valeurs prévues. |
| outEst | Spécifie la table de sortie contenant les estimations des paramètres du modèle. |
| outStat | Spécifie la table de sortie contenant les statistiques d'ajustement du modèle (RMSE, AIC, MAPE, etc.). |
| seasonality | Spécifie la longueur du cycle saisonnier (entier). Par défaut, elle est déduite de l'intervalle de temps. |
| method | (Sous-paramètre de forecast) Définit la méthode de lissage (ex: 'SIMPLE', 'DOUBLE', 'LINEAR', 'DAMPTREND', 'SEASONAL', 'WINTERS', 'ADDWINTERS', 'MULTSEASONAL', 'BEST'). |
Chargement du jeu de données 'Air' (passagers aériens internationaux) dans la bibliothèque CAS pour les exemples.
| 1 | PROC CAS; |
| 2 | SESSION casauto; |
| 3 | /* Chargement depuis la bibliothèque locale sashelp vers CAS */ |
| 4 | TABLE.loadTable / path="air.sas7bdat" caslib="samples" casout={name="air", replace=true}; |
| 5 | /* Note: Si 'samples' n'est pas dispo, utiliser un data step sas vers cas */ |
| 6 | DATA casuser.air; SET sashelp.air; RUN; |
| 7 | QUIT; |
Génère une prévision sur 12 mois pour la série 'AIR' en laissant l'action choisir automatiquement le meilleur modèle de lissage exponentiel.
| 1 | PROC CAS; |
| 2 | uniTimeSeries.esm / |
| 3 | TABLE={name="air", caslib="casuser"} |
| 4 | timeId={name="date"} |
| 5 | interval="MONTH" |
| 6 | forecast={{name="air", lead=12, method="BEST"}} |
| 7 | casOut={name="air_forecast", replace=true}; |
| 8 | RUN; |
Applique le modèle de Holt-Winters multiplicatif (approprié pour une saisonnalité croissante), définit un horizon de 24 mois, et génère les tables de statistiques et d'estimations.
| 1 | PROC CAS; |
| 2 | uniTimeSeries.esm / |
| 3 | TABLE={name="air", caslib="casuser"} |
| 4 | timeId={name="date"} |
| 5 | interval="MONTH" |
| 6 | forecast={{ |
| 7 | name="air", |
| 8 | method="WINTERS", |
| 9 | lead=24, |
| 10 | alpha=0.05 |
| 11 | }} |
| 12 | outStat={name="air_fit_stats", replace=true} |
| 13 | outEst={name="air_params", replace=true} |
| 14 | casOut={name="air_forecast_winters", replace=true}; |
| 15 | RUN; |