Sunday 27 August 2017

Mudança Da Variável Média Stata


Esta estrutura de dados é bastante imprópria para fins. Assumindo um ID identificador você precisa remodelar. por exemplo. Então, uma média móvel é fácil. Use tssmooth ou apenas gere. por exemplo. Mais informações 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 envolvendo necessariamente o egen), mas você criaria várias novas variáveis ​​extras. Usando aqueles em qualquer análise subsequente seria em algum lugar incomum e impossível. EDITAR Eu dou um loop de amostra, embora não me desvie da minha posição de que é uma técnica fraca. Eu não vejo uma razão por trás de sua convenção de nomeação, pelo que P1947 é um meio para 1943-1945. Eu suponho que isso é apenas um erro de digitação. Suponhamos que tenhamos dados para 1913-2012. Por meio de 3 anos, perdemos um ano em cada final. Isso poderia ser escrito de forma mais concisa, à custa de uma enxurrada de macros dentro das macros. Usar pesos desiguais é fácil, como acima. O único motivo para usar egen é que ele não desiste se houver faltas, o que acima fará. Por uma questão de integridade, note que é fácil lidar com falhas sem recorrer a Egen. E o denominador Se todos os valores estiverem faltando, isso se reduz a 00 ou falta. Caso contrário, se algum valor estiver faltando, adicionamos 0 ao numerador e 0 ao denominador, o 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 uma média de mais de anos, substituímos as linhas acima por um loop, que é o que egen does. Stata: análise de dados e software estatístico Nicholas J Cox, Universidade de Durham, Reino Unido Christopher Baum, Boston College egen, ma () e suas limitações Statarsquos comando mais óbvio para o cálculo de médias móveis é a função ma () de egen. Dada uma expressão, ela cria uma média móvel daquela expressão. Por padrão, é tomado como 3. deve ser estranho. No entanto, como a entrada manual indica, egen, ma () não podem ser combinados com varlist:. E, por esse motivo, não é aplicável aos dados do painel. Em qualquer caso, fica fora do conjunto de comandos especificamente escritos para séries temporais veja séries temporais para detalhes. Abordagens alternativas Para calcular as médias móveis para os dados do painel, existem pelo menos duas opções. Ambos dependem do conjunto de dados ter sido o tsset de antemão. Isto vale muito a pena fazer: não só você pode economizar várias vezes especificando a variável do painel e a variável de tempo, mas o Stata se comporta de forma inteligente com quaisquer lacunas nos dados. 1. Escreva sua própria definição usando gerar Usando operadores de séries temporais, como L. e F.. Dê a definição da média móvel como o argumento para uma declaração de geração. Se você fizer isso, você, naturalmente, não está limitado às médias móveis ponderadas (não ponderadas), calculadas por egen, ma (). Por exemplo, as médias móveis de três períodos, igualmente ponderadas, seriam dadas e alguns pesos podem ser facilmente especificados: você pode, é claro, especificar uma expressão como log (myvar) em vez de um nome de variável como myvar. Uma grande vantagem desta abordagem é que a Stata faz automaticamente o que é certo para os dados do painel: os valores avançados e atrasados ​​são elaborados dentro dos painéis, assim como a lógica dita que deveria 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 pode ser útil para gerar uma expectativa adaptativa sobre o 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 quatro últimos valores, usando um esquema de ponderação fixa (um atraso de 4 períodos pode ser Especialmente comumente usado com timeseries trimestrais.) 2. Use egen, filter () de SSC Use o filtro de função egen () do usuário do pacote egenmore em SSC. No Stata 7 (atualizado após 14 de novembro de 2001), você pode instalar este pacote depois do qual ajuda, além disso, aponta para detalhes no filtro (). Os dois exemplos acima serão renderizados (Nesta comparação, a abordagem de geração é talvez mais transparente, mas veremos um exemplo do oposto em um momento.) Os atrasos são um número. Leva a desvios negativos: neste caso -11 se expande para -1 0 1 ou liderar 1, lag 0, lag 1. Os coeficientes, outro número, multiplicam os itens atrasados ​​ou atrasados ​​correspondentes: 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 de modo que o coeficiente de coeficiente (1 1 1) seja equivalente aos coeficientes de 13 13 13 e a normalização de coef (1 2 1) seja equivalente aos coeficientes de 14 12 14 . Você deve especificar não apenas os atrasos, mas também os coeficientes. Como egen, ma () fornece o caso igualmente ponderado, a lógica principal para egen, filter () é suportar o caso pontualmente ponderado, para o qual você deve especificar coeficientes. Também pode-se dizer que obrigar os usuários a especificar coeficientes é uma pressão pequena sobre eles para pensar sobre os coeficientes que eles querem. A principal justificativa para os pesos iguais é, contudo, a simplicidade, mas pesos iguais têm propriedades de domínio de freqüência péssimas, para mencionar apenas uma consideração. O terceiro exemplo acima poderia ser qualquer um dos quais é tão complicado quanto a abordagem de geração. Há casos em que egen, filter () dá uma formulação mais simples do que gerar. Se você quer um filtro binomial de nove séculos, que os climatologistas acham útil, então parece talvez menos horrível do que, e mais fácil de conseguir, do mesmo modo, assim como com a abordagem de geração, egen, filter () funciona corretamente com os dados do painel. Na verdade, como afirmado acima, depende do conjunto de dados ter sido tsset de antemão. Uma dica gráfica Depois de calcular suas médias móveis, você provavelmente vai querer olhar para um gráfico. O comando do usuário com tsgraph é inteligente sobre conjuntos de dados tsset. Instale-o em um stata 7 atualizado por ssc inst tsgraph. E quanto a subconjunto com se nenhum dos exemplos acima faz uso de restrições if. Na verdade egen, ma () não permitirá se for 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: interpretação fraca: 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 que, como consequência de alguma condição, as observações 1-42 estão incluídas, mas não as observações 43. 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 frente e for pelo menos de 3, e dependerá de algumas das observações 44 em algumas circunstâncias. Nosso palpite é que a maioria das pessoas iria para a interpretação fraca, mas se isso é correto, egen, filter () não é compatível se também. Você sempre pode ignorar o que você não quer ou mesmo definir valores indesejados a perder depois, usando a substituição. Uma nota sobre resultados faltantes nas extremidades da série Como as médias móveis são funções de atrasos e ligações, egen, ma () produz ausente onde os atrasos e as derivações não existem, no início e no final da série. Uma opção de nomiss força o cálculo de médias móveis mais curtas e não centradas para as caudas. Em contraste, nem gerar nem egen, filter () faz, ou permite, qualquer coisa especial para evitar resultados perdidos. Se algum dos valores necessários para o cálculo estiver faltando, esse resultado está faltando. Cabe aos usuários decidir se e quais cirurgias corretivas são necessárias para essas observações, presumivelmente depois de analisar o conjunto de dados e considerando qualquer ciência subjacente que possa ser trazida. Em Stata, como eu crio uma nova variável com base em dados existentes Os seguintes são exemplos de como criar novas variáveis ​​no Stata usando os comandos gen (short for generate) e egen: Para criar uma nova variável (por exemplo, newvar) e definir seu valor para 0. use: Para criar uma nova variável (por exemplo, total) A partir da transformação de variáveis ​​existentes (por exemplo, a soma de v1. V2. V3. E v4), use: Alternativamente, use egen com a opção built-in rowtotal: O comando egen trata os valores ausentes como 0. Para criar uma variável (por exemplo, Avg) que armazena a média de quatro variáveis ​​(por exemplo, v1. V2. V3. E v4), use: Use a (barra) para indicar a divisão e um (asterisco) para a multiplicação. Em alternativa, utilize egen com a opção built-in rowmean: o Stata também permite aproveitar as funções incorporadas para transformações variáveis. Por exemplo, para tomar o log natural de v1 e criar uma nova variável (por exemplo, v1log), use: Para obter ajuda adicional, consulte os arquivos de ajuda no Stata (para cada um dos seguintes tópicos, insira o comando de ajuda correspondente):

No comments:

Post a Comment