Tuesday 20 June 2017

Moving Average Stata 12


Ao calcular uma média móvel em execução, colocar a média no período de tempo médio faz sentido No exemplo anterior, calculamos a média dos primeiros 3 períodos de tempo e colocamos ao lado do período 3. Poderíamos ter colocado a média no meio do Intervalo de tempo de três períodos, isto é, ao lado do período 2. Isso funciona bem com períodos de tempo estranhos, mas não tão bons para períodos de tempo iguais. Então, onde é que nós colocamos a primeira média móvel quando M 4 Tecnicamente, a Média Móvel cairá em t 2,5, 3,5. Para evitar este problema, suavizamos as MAs usando M 2. Assim, suavizamos os valores suavizados Se nós medimos um número par de termos, precisamos suavizar os valores suavizados. A tabela a seguir mostra os resultados usando M 4. Eu tenho uma lista de pessoas , Horários de registro e pontuação. Em Stata, eu quero calcular uma média móvel de pontuação com base em uma janela de tempo em torno de cada observação (não uma janela baseada no número de observações). Por exemplo, assumindo - 2 dias de cada lado e não incluindo a observação atual, estou tentando calcular algo como isto: eu tentei definir o conjunto de dados com tsset e depois use tssmooth. Mas não conseguiu que ele funcionasse. Uma vez que pode haver várias observações para um determinado período de tempo, não tenho certeza de que isso seja mesmo a abordagem certa. Além disso, na realidade, a variável do dia é um timestamp tc. Pediu 6 de dezembro às 16:04 tsset não pode ajudar aqui, mesmo que você tenha feito seus tempos regularmente espaçados, pois você tem alguns valores repetidos para o tempo, mas seus dados não se qualificam como dados de painel no Statas sense. Mas o problema deve render-se a um loop sobre as possibilidades. Primeiro, vamos usar seu exemplo literalmente usando dias inteiros. Aqui, assumimos que não existem valores em falta. O princípio de reencaminhamento é a média de outros (soma de todos - esse valor) (número de valores - 1) Na prática, você não deseja encaminhar todas as datas-vezes possíveis em milissegundos. Então, experimente um loop sobre as observações deste formulário. Observe os elementos ltpseudocodegt. Este documento também é relevante: se as faltas forem possíveis, uma linha precisa ser mais complicada: o que significa que, se o valor atual estiver faltando, subtraimos 0 da soma e 0 da contagem de observações. EDITAR: durante 2 dias em milissegundos, explore a função incorporada e use cofd (2). 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, o que é Egen.

No comments:

Post a Comment