Monday, 13 February 2017

Déménagement Moyen Parcelle Sas

Im un débutant de SAS et Im curieux si la tâche suivante peut être faite beaucoup plus simple comme il est actuellement dans ma tête. J'ai les métadonnées (simplifiées) suivantes dans une table nommée userdatemoney: Utilisateur - Date - Money avec différents utilisateurs et des dates pour chaque jour de calendrier (pour les 4 dernières années). Les données sont commandées par User ASC et Date ASC, les données d'échantillon ressemble à ceci: Je veux maintenant calculer une moyenne mobile de cinq jours pour l'argent. J'ai commencé avec l'apprach assez populaire avec la fonction de lag () comme ceci: comme vous voyez, le problème avec cette méthode se produit si là si l'étape de données exécute dans un nouvel utilisateur. Aron obtiendrait des valeurs retardées d'Anna qui bien sûr ne devrait pas se produire. Maintenant, ma question: Je suis sûr que vous pouvez gérer le commutateur utilisateur en ajoutant des champs supplémentaires comme laggeduser et en réinitialisant les variables N, Somme et Moyenne si vous remarquez un tel changement, mais: Cela peut-il être fait d'une manière plus facile? Par Clause en aucune façon Merci pour vos idées et aide Je pense que la façon la plus simple est d'utiliser PROC EXPAND: Et comme mentionné dans le commentaire de Johns, il est important de se souvenir des valeurs manquantes (et des observations de début et de fin aussi). Ive a ajouté l'option SETMISS au code, car vous avez clairement indiqué que vous voulez zéro les valeurs manquantes, ne les ignorez pas (comportement MOVAVE par défaut). Et si vous voulez exclure les 4 premières observations pour chaque utilisateur (car ils n'ont pas assez de pré-historique pour calculer la moyenne mobile 5), vous pouvez utiliser l'option TRIMLEFT 4 à l'intérieur de TRANSFORMOUT (). L'exemple de code 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 jeu de données, ou sur les dernières N observations dans un BY - groupe. 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 bénéficiaires 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 bénéficiaires 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. Création de diagrammes de moyenne mobile à partir de données brutes Voir MACMA1 dans le SASQC Sample Library In La fabrication d'une pince métallique, l'espace entre les extrémités de la pince est une dimension critique. Pour surveiller le processus de changement de l'intervalle moyen, des échantillons de sous-groupes de cinq clips sont sélectionnés quotidiennement. Les données sont analysées à l'aide d'un graphique de moyenne mobile uniformément pondéré. Les écarts enregistrés pendant les vingt premiers jours sont sauvegardés dans un jeu de données SAS nommé Clips1. Les instructions suivantes produisent l'énumération de l'ensemble de données Clips1 représenté à la figure 9.5.3. Sortie 9.5.3 Liste partielle des jeux de données Clips1 L'ensemble de données Clips1 est dit en forme strung-out, puisque chaque observation contient la mesure de jour et d'écart d'un seul clip. Les cinq premières observations contiennent les mesures d'écart pour le premier jour, les cinq dernières observations contiennent les mesures d'écart pour le deuxième jour, et ainsi de suite. Comme la variable Day classe les observations en sous-groupes rationnels, elle est appelée sous-groupe-variable. La variable Gap contient les mesures d'écart et est appelée la variable de processus (ou processus pour le court terme). On sait que la variabilité intra-sous-groupe des mesures d'écart est stable. Vous pouvez utiliser un graphique de moyenne mobile uniformément pondéré pour déterminer si le niveau moyen est en contrôle. Les instructions suivantes créent le graphique représenté à la figure 9.5.4. Cet exemple illustre la forme de base de l'instruction MACHART. Après le mot-clé MACHART, vous spécifiez le processus à analyser (dans ce cas, Gap) suivi d'un astérisque et de la variable de sous-groupe (Day). L'option SPAN spécifie le nombre de termes à inclure dans la moyenne mobile. Les options telles que SPAN sont spécifiées après la barre oblique () dans l'instruction MACHART. Une liste complète des options est présentée dans la section Syntaxe. Vous devez fournir la portée de la moyenne mobile. Comme alternative à la spécification de l'option SPAN, vous pouvez lire l'étendue à partir d'un jeu de données d'entrée, voir Lire les paramètres de limite de contrôle préétablis. Le jeu de données d'entrée est spécifié avec l'option DATA dans l'instruction PROC MACONTROL. Rendement 9.5.4 Graphique des moyennes mobiles uniformément pondérées pour les données sur les écarts Chaque point du graphique représente la moyenne mobile uniformément pondérée pour un jour donné. La moyenne mobile du jour 1 est simplement la moyenne du sous-groupe pour le jour 1. La moyenne mobile du jour 2 est la moyenne des moyennes du sous-groupe pour le jour 1 et le jour 2. La moyenne mobile au jour 3 est la moyenne du sous-groupe Pour le jour 1, le jour 2 et le jour 3.


No comments:

Post a Comment