L'exemple de code de l'onglet Code complet illustre comment calculer la moyenne mobile d'une variable à travers un ensemble de données entier, sur les dernières N observations d'un ensemble de données ou sur les dernières N observations dans un groupe BY. Ces exemples de fichiers et d'exemples de code sont fournis par SAS Institute Inc., sans garantie d'aucune sorte, expresse ou implicite, y compris, mais sans s'y limiter, les garanties implicites de qualité marchande et d'adéquation à un usage particulier. Les récipiendaires reconnaissent et acceptent que SAS Institute ne saurait être tenu pour responsable de tout dommage résultant de l'utilisation de ce matériel. En outre, SAS Institute ne fournira aucun support pour les matériaux contenus ici. Ces exemples de fichiers et d'exemples de code sont fournis par SAS Institute Inc., sans garantie d'aucune sorte, expresse ou implicite, y compris, mais sans s'y limiter, les garanties implicites de qualité marchande et d'adéquation à un usage particulier. Les récipiendaires reconnaissent et acceptent que SAS Institute ne saurait être tenu pour responsable de tout dommage résultant de l'utilisation de ce matériel. En outre, SAS Institute ne fournira aucun support pour les matériaux contenus ici. Calculer la moyenne mobile d'une variable à travers un ensemble de données entier, sur les dernières N observations dans un ensemble de données, ou sur les dernières N observations dans un groupe BY. I inclus une capture d'écran pour aider à clarifier mon problème: Im essayant de calculer certains Type de moyenne mobile et d'écart type en mouvement. La chose est que je veux calculer les coefficients de variation (stdevavg) pour la valeur réelle. Normalement, cela se fait en calculant le stdev et avg pour les 5 dernières années. Cependant, parfois, il y aura des observations dans ma base de données pour lesquelles je n'ai pas les informations des 5 dernières années (peut-être seulement 3, 2 etc). C'est pourquoi je veux un code qui va calculer le AVG et stdev même s'il n'y a aucune information pour l'ensemble 5 ans. En outre, comme vous le voyez dans les observations, parfois j'ai des informations sur plus de 5 ans, quand c'est le cas, j'ai besoin d'une sorte de moyenne mobile qui me permet de calculer le AVG et stdev pour les 5 dernières années. Donc, si une entreprise a des informations pour 7 ans, j'ai besoin d'une sorte de code qui va calculer le AVG et stdev pour, disons, 1997 (1991-1996), 1998 (1992-1997) et 1999 (1993-1998). Comme je ne suis pas très familier avec les commandes sas, il devrait regarder (très très grossièrement) comme: Ou quelque chose comme ça, je n'ai vraiment aucune idée, Im va essayer de comprendre, mais il vaut la peine de l'afficher si je ne le trouve moi-même. Qui peuvent être utilisés dans les options TRANSFORMIN et TRANSFORMOUT sont indiqués dans le Tableau 14.1. Les opérations sont appliquées à chaque valeur de la série. Chaque valeur de la série est remplacée par le résultat de l'opération. Dans le tableau 14.1. Ou x représente la valeur de la série à une période de temps t donnée avant que la transformation soit appliquée, représente la valeur de la série de résultats, et N représente le nombre total d'observations. La notation n indique que l'argument n est facultatif, la valeur par défaut est 1. La fenêtre de notation est utilisée comme argument pour les opérateurs de statistiques mobiles et indique que vous pouvez spécifier un nombre entier de périodes n ou une liste de n poids dans Entre parenthèses. La séquence de notation est utilisée comme argument pour les opérateurs de séquence et indique que vous devez spécifier une séquence de nombres. La notation s indique la longueur de la saisonnalité, et c'est un argument nécessaire. Tableau 14.1 Opérations de transformation Opérateurs de fenêtre de temps de déplacement Certains opérateurs calculent des statistiques pour un ensemble de valeurs dans une fenêtre de temps de déplacement, ceux-ci sont appelés opérateurs de fenêtre de temps de déplacement. Il existe des versions centrées et arrières de ces opérateurs. Les opérateurs de fenêtres temporelles mobiles sont CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVMAX, CMOVMED, CMOVMIN, CMOVPROD, CMOVRANGE, CMOVRANK, CMOVSTD, CMOVSUM, CMOVTVALUE, CMOVUSS et CMOVVAR. Ces opérateurs calculent les statistiques des valeurs pour les observations. Les opérateurs de fenêtre de temps de mouvement vers l'arrière sont MOVAVE, MOVCSS, MOVGMEAN, MOVMAX, MOVMED, MOVMIN, MOVPROD, MOVRANGE, MOVRANK, MOVSTD, MOVSUM, MOVTVALUE, MOVUSS et MOVVAR. Ces opérateurs calculent les statistiques des valeurs. Tous les opérateurs de fenêtre de temps en mouvement acceptent un argument spécifiant le nombre de périodes à inclure dans la fenêtre de temps. Par exemple, l'instruction suivante calcule une moyenne mobile en arrière de cinq périodes de X. Dans cet exemple, la transformation résultante est L'instruction suivante calcule une moyenne mobile centrée sur cinq périodes de X. Dans cet exemple, la transformation résultante est Si la fenêtre avec un opérateur de fenêtre de temps de déplacement centré n'est pas un nombre impair, une valeur décalée plus que la valeur de plomb est incluse dans la fenêtre de temps. Par exemple, le résultat de l'opérateur CMOVAVE 4 est Vous pouvez calculer une opération de fenêtre de temps de déplacement vers l'avant en combinant un opérateur de fenêtre de temps de déplacement vers l'arrière avec l'opérateur REVERSE. Par exemple, l'instruction suivante calcule une moyenne mobile avant de cinq périodes de X. Dans cet exemple, la transformation résultante est Certains des opérateurs de fenêtre de temps de déplacement vous permettent de spécifier une liste de valeurs de poids pour calculer les statistiques pondérées. CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVPROD, CMOVSTD, CMOVTVALUE, CMOVUSS, CMOVVAR, MOVAVE, MOVCSS, MOVGMEAN, MOVPROD, MOVSTD, MOVTVALUE, MOVUSS et MOVVAR. Pour spécifier un opérateur de fenêtre de temps de déplacement pondéré, entrez les valeurs de poids entre parenthèses après le nom de l'opérateur. La largeur de fenêtre est égale au nombre de poids que vous spécifiez ne pas spécifier. Par exemple, l'instruction suivante calcule une moyenne mobile pondérée pondérée sur cinq périodes de X. Dans cet exemple, la transformation résultante est Les valeurs de poids doivent être supérieures à zéro. Si les poids ne totalisent pas 1, les poids spécifiés sont divisés par leur somme pour produire les poids utilisés pour calculer la statistique. Une fenêtre de temps complète n'est pas disponible au début de la série. Pour les opérateurs centrés, une fenêtre complète n'est pas non plus disponible à la fin de la série. Le calcul des opérateurs de fenêtre de temps de déplacement est ajusté comme suit pour ces conditions aux limites. Pour les opérateurs de fenêtres en mouvement vers l'arrière, la largeur de la fenêtre de temps est raccourcie au début de la série. Par exemple, les résultats de l'opérateur MOVSUM 3 sont des valeurs manquantes Vous pouvez tronquer la longueur de la série de résultats à l'aide des opérateurs TRIM, TRIMLEFT et TRIMRIGHT pour définir des valeurs manquantes au début ou à la fin de la série. Vous pouvez utiliser ces fonctions pour découper les résultats des opérateurs de fenêtres de temps en mouvement afin que la série de résultats ne contienne que des valeurs calculées à partir d'une fenêtre de temps pleine largeur. Par exemple, les énoncés suivants calculent une moyenne mobile de cinq périodes centrée de X. Et ils ont mis à des valeurs manquantes aux extrémités de la série qui sont des moyennes de moins de cinq valeurs. Normalement, les opérateurs de fenêtre de temps mobile et de statistique cumulative ignorent les valeurs manquantes et calculent leurs résultats pour les valeurs non-manquantes. Lorsqu'il est précédé de l'opérateur NOMISS, ces fonctions produisent un résultat manquant si aucune valeur dans la fenêtre de temps est manquante. L'opérateur NOMISS n'effectue pas de calculs, mais sert à modifier le fonctionnement de l'opérateur de fenêtre de temps de déplacement qui le suit. L'opérateur NOMISS n'a d'effet que s'il est suivi par un opérateur de fenêtre de temps de déplacement. Par exemple, l'instruction suivante calcule une moyenne mobile de cinq périodes de la variable X mais produit une valeur manquante lorsque l'une des cinq valeurs est manquante. L'instruction suivante calcule la somme cumulée de la variable X mais produit une valeur manquante pour toutes les périodes après la première valeur X manquante. Similaire à l'opérateur NOMISS, l'opérateur MISSONLY n'effectue aucun calcul (sauf si suivi par l'option MEAN), mais il sert à modifier le fonctionnement de l'opérateur de fenêtre de temps de déplacement qui le suit. Lorsqu'ils sont précédés de l'opérateur MISSONLY, ces opérateurs de fenêtre de temps de déplacement remplacent les valeurs manquantes par la statistique de déplacement et laissent inchangées les valeurs de non-observation. Par exemple, l'instruction suivante remplace toutes les valeurs manquantes de la variable X par une moyenne mobile exponentiellement pondérée des valeurs passées de X et laisse les valeurs non-manquantes inchangées. Les valeurs manquantes sont interpolées en utilisant la moyenne mobile exponentielle pondérée spécifiée. (Ceci est aussi appelé lissage exponentiel simple.) L'instruction suivante remplace toutes les valeurs manquantes de la variable X par la moyenne globale de X. Vous pouvez utiliser l'opérateur SETMISS pour remplacer les valeurs manquantes par un nombre spécifié. Par exemple, l'instruction suivante remplace toutes les valeurs manquantes de la variable X par le nombre 8.77. Opérateurs classiques de décomposition S'il s'agit d'une série temporelle saisonnière avec observations par saison, les méthodes classiques de décomposition décomposent les séries chronologiques en quatre composantes: composantes tendances, cycliques, saisonnières et irrégulières. Les composantes de la tendance et du cycle sont souvent combinées pour former la composante cycle-tendance. Il existe deux formes fondamentales de décomposition classique: multiplicative et additive, qui sont montrées ci-dessous. Exemples d'utilisation Les indices saisonniers multiplicatifs sont 0,9, 1,2. 0,8 et 1,1 pour les quatre trimestres. Soit SEASADJ une variable trimestrielle de la série chronologique qui a été corrigée des variations saisonnières d'une manière multiplicative. Pour restaurer la saisonnalité à SEASADJ, utiliser la transformation suivante: Les indices saisonniers additifs sont 4,4, -1,1, -2,1 et -1,2 pour les quatre trimestres. Soit SEASADJ une variable trimestrielle de la série chronologique qui a été corrigée des variations saisonnières. Pour restaurer la saisonnalité à SEASADJ, utilisez la transformation suivante: Set Operators Pour les opérateurs set, le premier paramètre,, représente la valeur à remplacer et le second paramètre,, représente la valeur de remplacement. Le remplacement peut être localisé au début, milieu ou fin de la série. Exemples d'utilisation Supposons qu'un magasin ait été ouvert récemment et que l'historique des ventes soit stocké dans une base de données ne reconnaissant pas les valeurs manquantes. Même si la demande a pu exister avant l'ouverture des magasins, cette base de données attribue la valeur zéro. La modélisation de l'historique des ventes peut être problématique car l'historique des ventes est pour la plupart nul. Pour compenser cette carence, les valeurs zéro initiales doivent être définies comme manquantes, les valeurs zéro restant étant inchangées (ce qui représente une absence de demande). De même, supposons qu'un magasin est fermé récemment. La demande peut encore être présente et donc une valeur enregistrée de zéro ne reflète pas exactement la demande réelle. Opérateur d'échelle
No comments:
Post a Comment