Moving average stata ucla
Bem-vindo ao Instituto de Pesquisa e Educação Digital SAS Perguntas freqüentes: Como criar variáveis de atraso e de chumbo em dados longitudinais Ao olhar os dados em unidades consistentes de tempo (anos, trimestres, meses), muitas vezes há interesse em criar variáveis com base em como Dados para um dado período compara com os períodos antes e depois. Se você tem dados longitudinais, você deseja olhar através de unidades de tempo dentro de um único assunto. Quando seus dados estão em forma longa (uma observação por ponto de tempo por assunto), isso pode ser facilmente manipulado no Stata com etapas de criação de variáveis padrão devido à maneira pela qual Stata processa conjuntos de dados: armazena todo o conjunto de dados e pode facilmente se referir a qualquer Ponto no conjunto de dados ao gerar variáveis. O SAS funciona de forma diferente. As variáveis SAS são tipicamente criadas através de uma etapa de dados em que o SAS se move através do conjunto de dados, observação por observação, realizando os cálculos para a observação dada e acessando apenas uma observação de cada vez. Esse sistema de armazenamento e acesso de dados possibilita que o SAS analise grandes conjuntos de dados, mas também muito difícil criar variáveis de séries temporais no SAS usando um passo de dados. No entanto, proc expand fornece uma alternativa fácil de usar para a etapa de dados. Vamos começar com um conjunto de dados de exemplo contendo apenas um assunto. O conjunto de dados abaixo contém as taxas de desemprego dos EUA de setembro de 2006 a agosto de 2008. Para cada mês, queremos saber a diferença entre sua taxa ea taxa do mês anterior (r (i) - r (i-1)), (R (i1) - r (i)) - (r (i) - r (i-1), e sua taxa e a taxa do próximo mês ) Para isso, usaremos proc expand para gerar um novo conjunto de dados incluindo estas variáveis. Na linha de expansão proc, vamos nomear o novo dataset unemplaglead. Indicamos que não desejamos transformar os valores (usando um spline, Por exemplo), mas simplesmente para pegar os dados não transformados a partir do registro especificado. Nós indicamos que nossa série de tempo é definido por data na linha de id e nas três linhas de conversão, criamos os três valores que desejamos ter para cada ponto de tempo em Nossos dados: a taxa, a taxa anterior (ratelag1) e a próxima taxa (ratelead1). Em cada linha, dizemos ao SAS o nome da variável em nosso novo conjunto de dados, o tipo de transformação (lag. Lead) eo número De pontos de tempo para olhar para trás ou à frente para a transformação (1 neste exemplo). Podemos ver o conjunto de dados resultante. Com base neste conjunto de dados, podemos agora facilmente calcular as três variáveis de séries temporais descritas anteriormente. Mas se tivéssemos dados para vários países O conjunto de dados abaixo contém dados de desemprego de 2000-2005 para três países. Desejamos criar variáveis de atraso e lead dentro de cada país. Para fazer isso, podemos usar proc expand com uma declaração by depois de classificar no país. Com proc expand. Você também pode gerar médias móveis, splines e valores interpolados. Para obter mais detalhes, consulte as páginas expandir proc da SAS Online Documentation. Esta estrutura de dados é totalmente imprópria para fins. Assumindo um id identificador você precisa remodelar. por exemplo. Em seguida, uma média móvel é fácil. Use tssmooth ou simplesmente gere. por exemplo. Mais sobre por que sua estrutura de dados é bastante imprópria: não só o cálculo de uma média móvel precisa de um loop (não necessariamente envolvendo egen), mas você estaria criando várias novas variáveis extras. Usá-los em qualquer análise subseqüente seria algo entre estranho e impossível. EDIT III dar um loop de amostra, enquanto não se deslocando da minha posição que é má técnica. Eu não vejo uma razão por trás de sua convenção de nomenclatura em que P1947 é um meio para 1943-1945 Eu suponho que é apenas um erro de digitação. Vamos supor que temos dados para 1913-2017. Por meio de 3 anos, perdemos um ano em cada extremidade. Isso poderia ser escrito de forma mais concisa, à custa de uma enxurrada de macros dentro de macros. Usando pesos desiguais é fácil, como acima. A única razão para usar o egen é que ele não desiste se houver faltas, o que o acima fará. Por uma questão de exaustividade, note que é fácil lidar com falhas sem recorrer a egen. E o denominador Se todos os valores estiverem em falta, este reduz-se a 0/0, ou em falta. Caso contrário, se algum valor estiver faltando, adicionamos 0 ao numerador e 0 ao denominador, que é o mesmo que ignorá-lo. Naturalmente, o código é tolerável como acima para médias de 3 anos, mas para esse caso ou para a média durante mais anos, que iria substituir as linhas acima por um loop, que é o que egen does. Stata: Análise de Dados e Software Estatístico Nicholas J , E suas limitações O comando mais óbvio de Statarsquos para calcular médias móveis é a função ma () de egen. Dada uma expressão, cria uma média móvel - period dessa expressão. Por padrão, é tomado como 3. deve ser ímpar. No entanto, como a entrada manual indica, egen, ma () não pode ser combinado com varlist:. E, por esse motivo, não é aplicável aos dados do painel. Em qualquer caso, ele está fora do conjunto de comandos especificamente escrito para séries de tempo ver série de tempo para obter detalhes. Abordagens alternativas Para calcular médias móveis para dados de painel, existem pelo menos duas opções. Ambos dependem do conjunto de dados ter sido tsset previamente. Isto vale muito a pena fazer: não só você pode salvar a si mesmo repetidamente especificando variável de painel e variável de tempo, mas Stata se comporta inteligentemente, dado quaisquer lacunas nos dados. 1. Escreva sua própria definição usando generate Usando operadores de séries temporais como L. e F.. Dar a definição da média móvel como o argumento para uma declaração de geração. Se você fizer isso, você não estará, naturalmente, limitado às médias móveis ponderadas (não ponderadas) centradas calculadas por egen, ma (). Por exemplo, as médias móveis ponderadas de três períodos seriam dadas por e alguns pesos podem ser facilmente especificados: Você pode, naturalmente, especificar uma expressão como log (myvar) em vez de um nome de variável como myvar. Uma grande vantagem dessa abordagem é que a Stata faz automaticamente a coisa certa para os dados do painel: os valores iniciais e retardatários são elaborados nos painéis, exatamente como a lógica determina que eles devam ser. A desvantagem mais notável é que a linha de comando pode ficar bastante longa se a média móvel envolver vários termos. Outro exemplo é uma média móvel unilateral baseada apenas em valores anteriores. Isso poderia ser útil para gerar uma expectativa adaptativa do que uma variável será baseada puramente em informações até à data: o que alguém poderia prever para o período atual com base nos últimos quatro valores, usando um esquema de ponderação fixo Especialmente comumente usado com timeseries trimestrais.) 2. Use egen, filter () de SSC Use o filtro de função egen escrito pelo usuário () do pacote egenmore em SSC. No Stata 7 (atualizado após 14 de novembro de 2001), você pode instalar este pacote após o qual a ajuda egenmore aponta para detalhes sobre filter (). Os dois exemplos acima seriam renderizados (nesta comparação, a abordagem de gerar é talvez mais transparente, mas veremos um exemplo do oposto em um momento). Os retornos são um numlist. Sendo os retornos negativos: neste caso, -1/1 se expande para -1 0 1 ou chumbo 1, atraso 0, atraso 1. Os coeficientes, outro número, multiplicam os correspondentes itens atrasados ou principais: neste caso, esses itens são F1.myvar. Myvar e L1.myvar. O efeito da opção de normalização é escalar cada coeficiente pela soma dos coeficientes para que o coeficiente (1 1 1) normalize seja equivalente a coeficientes de 1/3 1/3 1/3 e o coeficiente (1 2 1) normalize seja equivalente A coeficientes de 1/4 1/2 1/4. Você deve especificar não só os atrasos, mas também os coeficientes. Como egen, ma () fornece o caso igualmente ponderado, a razão principal para egen, filter () é suportar o caso desigualmente ponderado, para o qual você deve especificar coeficientes. Poderia também ser dito que obrigando os usuários a especificar coeficientes é uma pequena pressão extra sobre eles para pensar sobre quais coeficientes eles querem. A principal justificativa para pesos iguais é, suponhamos, simplicidade, mas pesos iguais têm propriedades de domínio de frequência ruim, para mencionar apenas uma consideração. O terceiro exemplo acima pode ser qualquer um dos quais é quase tão complicado quanto a abordagem gerar. Há casos em que egen, filter () dá uma formulação mais simples do que gerar. Se você quer um filtro binomial de nove períodos, que os climatologistas acham útil, então parece talvez menos horrível do que, e mais fácil de obter do que, Assim como com a abordagem de geração, egen, filter () funciona corretamente com dados de painel. Na verdade, como dito acima, depende do conjunto de dados ter sido tsset previamente. Uma dica gráfica Depois de calcular suas médias móveis, você provavelmente vai querer olhar para um gráfico. O comando tsgraph escrito pelo usuário é inteligente sobre conjuntos de dados tsset. Instale-o em um STATAT 7 atualizado por ssc inst tsgraph. Que sobre subconjunto com se nenhum dos exemplos acima fazer uso de se restrições. Na verdade egen, ma () não permitirá se a ser especificado. Ocasionalmente as pessoas querem usar se ao calcular médias móveis, mas seu uso é um pouco mais complicado do que é normalmente. O que você esperaria de uma média móvel calculada com if. Vamos identificar duas possibilidades: Fraca interpretação: Eu não quero ver nenhum resultado para as observações excluídas. Interpretação forte: Eu nem quero que você use os valores para as observações excluídas. Aqui está um exemplo concreto. Suponha como uma conseqüência de alguma condição if, as observações 1-42 são incluídas, mas não observações 43 sobre. Mas a média móvel para 42 dependerá, entre outras coisas, do valor para a observação 43 se a média se estender para trás e para a frente e for de comprimento pelo menos 3, e dependerá também de algumas das observações 44 em diante em algumas circunstâncias. Nossa suposição é que a maioria de povos iria para a interpretação fraca, mas se aquele está correto, egen, filter () não suporta se qualquer um. Você sempre pode ignorar o que você donrsquot quer ou mesmo definir valores indesejados para desaparecer depois usando substituir. Uma nota sobre resultados faltando nas extremidades da série Como as médias móveis são funções de defasagens e derivações, egen, ma () produz faltando onde os atrasos e as derivações não existem, no início e no final da série. Uma opção nomiss força o cálculo de médias móveis mais curtas e não centralizadas para as caudas. Em contrapartida, nem gerar nem egen, filter () faz, ou permite, nada de especial para evitar resultados em falta. Se algum dos valores necessários para o cálculo estiver faltando, então esse resultado está faltando. Cabe aos usuários decidir se e o que a cirurgia corretiva é necessária para essas observações, presumivelmente depois de olhar para o conjunto de dados e considerar qualquer ciência subjacente que pode ser trazida para suportar. Suavização: Lowess Vamos trabalhar com dados da Colômbia WFS Household Survey , Realizado em 1975-76. Eu tabulei a distribuição etária de todos os membros da família e salvei-a em um arquivo ascci, que agora lemos e traçamos: Como você pode ver, a distribuição parece um pouco menos suave do que os dados das Filipinas que estudamos anteriormente. Você pode calcular o índice de Myers para esta distribuição Meios de execução e linhas A maneira mais simples de suavizar um scatterplot é usar uma média móvel. Também conhecido como um meio de corrida. A abordagem mais comum é usar uma janela de 2k 1 observações, k à esquerda e k à direita de cada observação. O valor de k é um trade off entre suavidade de bondade de ajuste. Deve-se ter especial cuidado nos extremos da gama. Stata pode calcular meios de execução via lowess com as opções mean e noweight. Um problema comum com meios de execução é viés. Uma solução é usar pesos que dão mais importância aos vizinhos mais próximos e menos aos mais distantes. Uma função de peso popular é Tukeys tri-cube, definida como w (d) (1-d 3) 3 para d lt 1 e 0 caso contrário, onde d é a distância ao ponto alvo expressa como uma fração da largura de banda. Stata pode fazer este cálculo via lowess com a opção mean se você omitir noweight. Uma solução ainda melhor é usar linhas em execução. Definimos novamente uma vizinhança para cada ponto, tipicamente os k vizinhos mais próximos de cada lado, encaixamos uma linha de regressão para os pontos da vizinhança e, em seguida, usamo-la para prever um valor mais suave para a observação do índice. Isso soa como um monte de trabalho, mas os cálculos podem ser feitos de forma eficiente usando regressão atualizando fórmulas. Stata pode calcular uma linha em execução através lowess se omitir significa, mas incluir noweight. Melhor ainda é usar linhas de corrida ponderadas. Dando mais peso às observações mais próximas, que é o que o lowess mais suave faz. Uma variante segue esta estimativa com algumas iterações para obter uma linha mais robusta. Esta é claramente a melhor técnica na família. Statas lowess usa uma linha de execução ponderada se você omitir média e noweight R implementa o lowess mais suave através das funções lowess () eo loess mais recente (), que usa uma interface de fórmula com um ou mais preditores e padrões diferentes um pouco diferentes. O parâmetro grau controla o grau do polinômio local o padrão é 2 para quadrática, alternativas são 1 para linear e 0 para corrida significa. Ambas as implementações podem usar um estimador robusto, com o número de iterações controladas por um parâmetro iter ou iterações. Escreva loess e lowess no console R para obter mais informações. Em ggplot () você pode sobrepor um lowess mais suave chamando geomsmooth () A figura abaixo mostra os dados colombianos e um lowess mais suave com um span ou largura de banda igual a 25 dos dados. Você pode querer experimentar diferentes badwidths para ver como os resultados variam. Digit Preference Revisited Alisar a distribuição de idade fornece uma maneira melhor de avaliar a preferência de dígito do que a mistura de Myers. Vamos calcular o último dígito de idade e tabulá-lo em toda a gama de dados usando as freqüências observadas e um lowess mais suave. As freqüências brutas mostram evidências de preferência por idades terminando em 0 e 5, o que é muito comum, e provavelmente 2 também. Nós agora usamos o suave como peso As freqüências suavizadas mostram que esperamos menos pessoas em dígitos mais altos, mesmo em uma distribuição suave, com mais terminando em 0 do que 9. Agora estamos prontos para calcular um índice de preferência de dígito, definido como metade da Soma de diferenças absolutas entre freqüências observadas e suaves: Vemos que precisaríamos reorganizar 5,5 das observações para eliminar a preferência de dígito. Você pode comparar este resultado com o índice de Myers. Cópia 2017 Germaacuten Rodriacuteguez, Princeton UniversityThe Ciência da Sociedade: Pesquisa, Ensino e Serviço no interesse público. UC San Diegos Divisão de Ciências Sociais é uma coleção diversificada de departamentos pendentes, programas e unidades de pesquisa que se concentram em algumas das questões mais urgentes e importantes do nosso tempo. A divisão faz o trabalho que importa, agora e para o futuro. Em um recente podcast de Voice of San Diego, 160Shana Cohen160 dos Estudos de Educação fala sobre como as crianças de origens diferentes às vezes recebem níveis variados De serviços para deficientes de desenvolvimento. Salvar a data 28 de outubro: Robotics Contextual Forum 2017 Com Andrea Chiba, Virgínia de Sa and160Ayse Saygin160of Cognitive Science. Ciências Sociais Dean160Carol Padden160 dará observações. Landmark National Study of Adolescent Brain agora em andamento O Adolescente Brain Cognitive Development estudo seguirá 10.000 crianças por 10 anos, no início da idade adulta. UC San Diego Interdisciplinary Initiative160Hiring160 A universidade está lançando uma iniciativa de todo o campus para contratar tenure-track ou faculdade titular de condução da investigação com o objetivo geral de compreender o conhecimento humano, aprendizagem e criatividade. Nações No. 1 Universidade Pública UC San Diego é classificada como a universidade pública número um na nação para servir o interesse público, por Washington Monthly.
Comments
Post a Comment