Monday 13 February 2017

Déménagement Moyenne Stata Ucla

J'ai une liste de personnes, les temps d'inscription, et les scores. Dans Stata je veux calculer une moyenne mobile de score basée sur une fenêtre de temps autour de chaque observation (pas une fenêtre basée sur laggingleading nombre d'observations). Par exemple, en supposant - 2 jours de chaque côté et sans inclure l'observation en cours, Im essayant de calculer quelque chose comme ceci: Ive a tenté de définir l'ensemble de données avec tsset, puis utiliser tssmooth. Mais ne pouvait pas le faire fonctionner. Puisqu'il peut y avoir plusieurs observations pour une période donnée, je ne suis pas sûr que ce soit même la bonne approche. De plus, en réalité, la variable day est un tc timestamp. A demandé Dec 6 13 à 16:04 tsset ne peut pas aider ici, même si vous avez fait vos heures régulièrement espacées, comme vous avez quelques valeurs répétées pour le temps, mais vos données ne sont pas admissibles comme des données de panel en sens Statas. Mais le problème devrait céder à une boucle sur les possibilités. Tout d'abord, prenons votre exemple littéralement en utilisant des jours entiers. Ici, nous supposons aucune valeur manquante. Le principe à reporter est la moyenne des autres (somme de tous - cette valeur) (nombre de valeurs - 1) En pratique, vous ne voulez pas boucler toutes les dates possibles en millisecondes. Donc, essayez une boucle sur les observations de cette forme. Notez les éléments ltpseudocodegt. Cet article est également pertinent: si des erreurs sont possibles, une ligne doit être plus compliquée: si la valeur courante est absente, on soustrait 0 de la somme et 0 du nombre d'observations. EDIT: Pendant 2 jours en millisecondes, exploiter la fonction intégrée et utiliser cofd (2).Cette structure de données est tout à fait impropre à l'objet. En supposant un ID identifiant que vous devez refaire. par exemple. Ensuite, une moyenne mobile est facile. Utiliser tssmooth ou simplement générer. par exemple. Plus sur pourquoi votre structure de données est tout à fait impropre: Non seulement le calcul d'une moyenne mobile nécessite une boucle (ne nécessitant pas nécessairement d'egen), mais vous créerez plusieurs nouvelles variables supplémentaires. L'utilisation de ceux dans toute analyse ultérieure serait quelque part entre difficile et impossible. EDIT Ill donner une boucle d'échantillon, tout en ne se déplaçant pas de ma position que c'est une mauvaise technique. Je ne vois pas une raison derrière votre convention de dénomination par laquelle P1947 est un moyen pour 1943-1945 Je suppose que c'est juste une faute de frappe. Supposons que nous ayons des données pour 1913-2012. Pour des moyens de 3 ans, nous perdons un an à chaque extrémité. Cela pourrait être écrit de manière plus concise, au détriment d'une vague de macros dans les macros. Utiliser des poids inégaux est facile, comme ci-dessus. La seule raison d'utiliser egen est qu'il ne renonce pas si il ya des fautes, ce qui va faire. Comme une question d'exhaustivité, notez qu'il est facile de gérer les fautes sans recourir à egen. Et le dénominateur Si toutes les valeurs sont manquantes, cela se réduit à 00 ou manquant. Sinon, si une valeur manque, on ajoute 0 au numérateur et 0 au dénominateur, ce qui équivaut à l'ignorer. Naturellement, le code est tolérable comme ci-dessus pour les moyennes de 3 ans, mais soit pour ce cas ou pour la moyenne sur plus d'années, nous remplacerions les lignes ci-dessus par une boucle, ce qui est egen does. Stata: Data Analysis and Statistical Software Nicholas J , Et ses limitations Statarsquos commande la plus évidente pour le calcul des moyennes mobiles est la fonction ma () de egen. Étant donné une expression, il crée une moyenne mobile de cette expression. Par défaut, la valeur 3. doit être impaire. Cependant, comme l 'entrée manuelle indique, egen, ma () ne peut pas être combiné avec varlist:. Et, pour cette seule raison, elle ne s'applique pas aux données des groupes spéciaux. En tout cas, il se trouve en dehors de l'ensemble des commandes spécifiquement écrites pour les séries chronologiques, voir les séries temporelles pour plus de détails. Autres approches Pour calculer les moyennes mobiles pour les données de panel, il y a au moins deux choix. Les deux dépendent de l'ensemble de données ayant été tsset à l'avance. Cela vaut vraiment la peine de le faire: non seulement vous pouvez vous épargner à plusieurs reprises en spécifiant variable de panneau et variable de temps, mais Stata se comporte intelligemment compte tenu des lacunes dans les données. 1. Écrivez votre propre définition à l'aide de la génération en utilisant des opérateurs de série chronologique tels que L. et F.. Donner la définition de la moyenne mobile comme argument à une déclaration generate. Si vous faites cela, vous n'êtes naturellement pas limité aux moyennes mobiles pondérées (non pondérées) également pondérées calculées par egen, ma (). Par exemple, des moyennes mobiles à pondération égale à trois périodes seraient données par et certains poids peuvent être facilement spécifiés: Vous pouvez bien sûr spécifier une expression telle que log (myvar) au lieu d'un nom de variable tel que myvar. Un avantage majeur de cette approche est que Stata fait automatiquement la bonne chose pour les données de panel: les valeurs de départ et de retard sont élaborées au sein des panneaux, tout comme la logique dicte qu'ils devraient l'être. L'inconvénient le plus notable est que la ligne de commande peut être assez longue si la moyenne mobile implique plusieurs termes. Un autre exemple est une moyenne mobile unilatérale fondée uniquement sur les valeurs précédentes. Cela pourrait être utile pour générer une anticipation adaptative de ce qu'une variable sera fondée uniquement sur l'information à ce jour: que pourrait-on prévoir pour la période en cours sur la base des quatre dernières valeurs, en utilisant un système de pondération fixe (un délai de 4 périodes pourrait être Surtout utilisé avec les séries trimestrielles). 2. Utilisez egen, filter () de SSC Utilisez le filtre de fonction egen écrit () de l'ensemble egenmore sur SSC. Dans Stata 7 (mis à jour après le 14 novembre 2001), vous pouvez installer ce paquet après par lequel l'aide egenmore indique des détails sur filter (). Les deux exemples ci-dessus seraient rendus (dans cette comparaison, l'approche de génération est peut-être plus transparente, mais nous verrons un exemple du contraire dans un instant). Les retards sont un numlist. Les conducteurs sont des retards négatifs: dans ce cas, -11 se dilate à -1 0 1 ou conduit 1, retard 0, décalage 1. Les coefficients, un autre nombre, multiplient les éléments retardés ou principaux correspondants: dans ce cas, ces éléments sont F1.myvar . Myvar et L1.myvar. L'effet de l'option de normalisation consiste à mettre à l'échelle chaque coefficient par la somme des coefficients de telle sorte que coef (1 1 1) normalise soit équivalente à des coefficients de 13 13 13 et coef (1 2 1) normale est équivalente à des coefficients de 14 12 14 Vous devez spécifier non seulement les décalages, mais aussi les coefficients. Parce que egen, ma () fournit le cas également pondéré, la raison principale pour egen, filter () est de soutenir le cas pondéré inégalement, pour lequel vous devez spécifier des coefficients. On pourrait également dire que l'obligation faite aux utilisateurs de spécifier des coefficients est un peu plus de pression sur eux pour penser à quels coefficients ils veulent. La principale justification pour des poids égaux est, nous devinons, la simplicité, mais des poids égaux ont de mauvaises propriétés de domaine fréquentiel, pour ne citer qu'une seule considération. Le troisième exemple ci-dessus pourrait être l'un ou l'autre est à peu près aussi compliqué que l'approche générer. Il ya des cas où egen, filter () donne une formulation plus simple que generate. Si vous voulez un filtre binomial à neuf termes, que les climatologues trouvent utile, il semble peut-être moins horrible et plus facile à obtenir que, tout comme avec l'approche generate, egen, filter () fonctionne correctement avec les données du panneau. En fait, comme indiqué ci-dessus, cela dépend du jeu de données ayant été tsset à l'avance. Une astuce graphique Après avoir calculé vos moyennes mobiles, vous voudrez probablement regarder un graphique. La commande tsgraph utilisateur-écrit est intelligente au sujet des ensembles de données de tsset. Installez-le dans un Stata 7 à jour par ssc inst tsgraph. Qu'en est-il sous-ensemble avec si aucun des exemples ci-dessus ne font usage de restrictions si. En fait, egen, ma () ne permettra pas si elle doit être spécifiée. Occasionnellement, les gens veulent utiliser si lors du calcul des moyennes mobiles, mais son utilisation est un peu plus compliquée qu'il est habituellement. Qu'attendriez-vous d'une moyenne mobile calculée avec if. Identifions deux possibilités: Faible interprétation: Je ne veux pas voir de résultats pour les observations exclues. Interprétation forte: Je ne veux même pas que vous utilisiez les valeurs pour les observations exclues. Voici un exemple concret. Supposons que, comme conséquence de certaines conditions if, les observations 1-42 sont incluses, mais pas les observations 43 sur. Mais la moyenne mobile de 42 dépendra, entre autres choses, de la valeur d'observation 43 si la moyenne s'étend vers l'arrière et vers l'avant et est de longueur au moins 3, et elle dépendra également de certaines des observations 44 dans certaines circonstances. Notre conjecture est que la plupart des gens iraient pour l'interprétation faible, mais si cela est correct, egen, filter () ne supporte pas si soit. Vous pouvez toujours ignorer ce que vous donrsquot voulez ou même définir des valeurs indésirables à manquer par la suite en utilisant remplacer. Une note sur les résultats manquants aux extrémités de la série Puisque les moyennes mobiles sont des fonctions de lags et de leads, egen, ma () produit manquant où les lags et les leads n'existent pas, au début et à la fin de la série. Une option nomiss oblige à calculer des moyennes mobiles plus courtes et non centralisées pour les queues. En revanche, ni générer ni egen, filter () ne, ou permet, quelque chose de spécial pour éviter les résultats manquants. Si l'une des valeurs requises pour le calcul est manquante, ce résultat est manquant. Il appartient aux utilisateurs de décider si et quelle chirurgie corrective est nécessaire pour ces observations, vraisemblablement après avoir examiné l'ensemble de données et en considérant toute science sous-jacente qui peut être apportée.


No comments:

Post a Comment