Saturday, 31 December 2016

Compute Moving Average Sas

J'ai inclus une capture d'écran pour aider à clarifier mon problème: Im essaie de calculer une sorte de moyenne mobile et de déplacer l'écart type. La chose est que je veux calculer les coefficients de variation (stdev / avg) 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 de 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 vais pas le trouver moi-même. Sur 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 dans 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. Commençant dans la version 6.08 du système SAS, PROC EXPAND dans SAS / ETS Logiciel peut être utilisé pour effectuer une variété de transformations de données. Ces transformations incluent: les prospects, les retards, les moyennes mobiles pondérées et non pondérées, les sommes mobiles et les sommes cumulatives, pour n'en nommer que quelques-unes. De nombreuses nouvelles transformations ont été ajoutées dans la version 6.12, incluant des spécifications distinctes pour les moyennes mobiles centrées et arrières. Ces nouvelles transformations ont obligé à modifier la syntaxe de certaines des transformations prises en charge avant la version 6.12. Des exemples de la façon de spécifier la syntaxe des moyennes mobiles centrées et arrières utilisant la version 6.11 et antérieure et la version 6.12 et plus tard sont donnés ci-dessous. PROC EXPAND peut calculer soit une moyenne mobile centrée, soit une moyenne mobile en arrière. Une moyenne mobile centrée sur 5 périodes est calculée en faisant la moyenne d'un total de 5 valeurs consécutives de la série (la valeur de la période courante en plus des deux valeurs immédiatement précédentes et deux valeurs immédiatement après la valeur actuelle). Une moyenne mobile en arrière de 5 périodes est calculée en faisant la moyenne de la valeur de la période courante avec les valeurs des 4 périodes immédiatement précédentes. La syntaxe suivante illustre comment utiliser la spécification TRANSFORM (MOVAVE n) pour calculer une moyenne mobile centrée sur 5 périodes à l'aide de la version 6.11 ou antérieure: Pour calculer une moyenne mobile en arrière de période n en utilisant la version 6.11 ou antérieure, utilisez TRANSFORM (MOVAVE) N LAG k), où k (n-1) / 2 si n est impair ou où k (n-2) / 2 si n est pair. La syntaxe suivante illustre comment utiliser la spécification TRANSFORM (CMOVAVE n) pour calculer une moyenne mobile centrée sur 5 périodes en utilisant la version 6.12 ou plus récente: Plus tard, la syntaxe suivante illustre comment utiliser la spécification TRANSFORM (MOVAVE n) pour calculer une moyenne mobile en arrière de 5 périodes en utilisant la version 6.12 ou ultérieure: Pour plus d'informations, voir Opérations de transformation dans le chapitre EXPAND du Guide de l'utilisateur SAS / ETS . Si vous n'avez pas accès à SAS / ETS, vous pouvez calculer une moyenne mobile dans l'étape DATA comme illustré dans cet exemple de programme. Informations sur le système d'exploitation et les versions


No comments:

Post a Comment