uniTimeSeries

esm

Description

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.

uniTimeSeries.esm / table={name="nom_table"} timeId={name="variable_temps"} interval="intervalle_temps" forecast={{name="variable_cible", method="BEST", lead=12}} casOut={name="table_sortie"};
Paramètres
ParamètreDescription
tableSpécifie la table d'entrée CAS contenant les données de la série chronologique. Requis.
timeIdSpécifie la variable d'horodatage (date ou datetime) qui identifie les périodes de temps. Requis.
intervalSpécifie la fréquence d'accumulation des données (par exemple 'DAY', 'MONTH', 'YEAR'). Requis.
forecastListe 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.
casOutSpécifie la table de sortie qui contiendra les séries originales et les valeurs prévues.
outEstSpécifie la table de sortie contenant les estimations des paramètres du modèle.
outStatSpécifie la table de sortie contenant les statistiques d'ajustement du modèle (RMSE, AIC, MAPE, etc.).
seasonalitySpé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').
Préparation des Données Voir la fiche de ce code dataprep
Chargement des données de test

Chargement du jeu de données 'Air' (passagers aériens internationaux) dans la bibliothèque CAS pour les exemples.

Copié !
1PROC 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;
7QUIT;

Exemples

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.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC 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};
8RUN;
Résultat :
Une table 'air_forecast' est créée contenant l'historique et 12 mois de prévisions calculés avec le modèle optimal.

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.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC 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};
15RUN;
Résultat :
La table 'air_forecast_winters' contient les prévisions. 'air_fit_stats' fournit les mesures de précision (RMSE, MAPE). 'air_params' détaille les paramètres de lissage estimés.

FAQ

Quelle est la fonction principale de l'action esm ?
À quel ensemble d'actions (Action Set) l'action esm appartient-elle ?
Quels sont les paramètres obligatoires pour exécuter cette action ?
Quelles sont les différentes tables de sortie que l'on peut générer ?
Comment spécifier la méthode de prévision à utiliser ?
Comment gérer les valeurs manquantes dans la série ?
Est-il possible d'appliquer une transformation à la série temporelle ?
À quoi sert le paramètre 'alignId' ?
Comment définir la fenêtre temporelle de l'analyse ?
Quel paramètre permet de définir le critère de sélection du modèle ?