Saturday, 19 May 2018

Compute moving average sas


Incluí uma captura de tela para ajudar a esclarecer meu problema: estou tentando calcular algum tipo de média móvel e desvio padrão móvel. A coisa é que eu quero calcular os coeficientes de variação (stdev / avg) para o valor real. Normalmente isso é feito calculando o stdev e o avg nos últimos 5 anos. No entanto, por vezes, haverá observações no meu banco de dados para as quais não tenho as informações dos últimos 5 anos (talvez apenas 3, 2 etc). É por isso que eu quero um código que irá calcular o avg e stdev, mesmo que não haja informações para todo o 5 anos. Além disso, como você vê nas observações, às vezes eu tenho informações ao longo de mais de 5 anos, quando este é o caso eu preciso de algum tipo de média móvel que me permite calcular o avg e stdev nos últimos 5 anos. Portanto, se uma empresa tem informações por 7 anos, eu preciso de algum tipo de código que calcule o avg e o stdev para, digamos, 1997 (por 1991-1996), 1998 (por 1992-1997) e 1999 (1993-1998). Como eu não estou muito familiarizado com os comandos sas, ele deve parecer (muito mais ou menos) como: Ou algo assim, eu realmente não tenho idéia, eu vou tentar descobrir, mas vale a pena postá-lo, se eu não encontrá-lo sozinho. código na guia Código Completo ilustra como calcular a média móvel de uma variável através de um conjunto de dados inteiro, sobre as últimas N observações em um conjunto de dados ou sobre as últimas N observações dentro de um grupo BY. Esses arquivos de amostra e exemplos de código são fornecidos pelo SAS Institute Inc., assim como sem garantia de qualquer tipo, expressa ou implícita, incluindo, mas não se limitando às garantias implícitas de comercialização e adequação a uma finalidade específica. Os destinatários reconhecem e concordam que o SAS Institute não será responsável por quaisquer danos decorrentes de seu uso deste material. Além disso, o SAS Institute não fornecerá suporte para os materiais aqui contidos. Esses arquivos de amostra e exemplos de código são fornecidos pelo SAS Institute Inc., assim como sem garantia de qualquer tipo, expressa ou implícita, incluindo, mas não se limitando às garantias implícitas de comercialização e adequação a uma finalidade específica. Os destinatários reconhecem e concordam que o SAS Institute não será responsável por quaisquer danos decorrentes de seu uso deste material. Além disso, o SAS Institute não fornecerá suporte para os materiais aqui contidos. Calcule a média móvel de uma variável através de um conjunto de dados inteiro, sobre as últimas N observações em um conjunto de dados ou sobre as últimas N observações dentro de um grupo BY. Início na Liberação 6.08 do Sistema SAS, EXPAND PROC no SAS / ETS software pode ser usado para fazer uma variedade de transformações de dados. Essas transformações incluem: leads, lags, médias móveis ponderadas e não ponderadas, somas móveis e somas cumulativas, para citar algumas. Muitas novas transformações foram adicionadas na Versão 6.12, incluindo especificações separadas para médias móveis centralizadas e retrógradas. Essas novas transformações tornaram necessário modificar a sintaxe de algumas das transformações suportadas antes do Release 6.12. Exemplos de como especificar a sintaxe para médias móveis centralizadas e retrógradas usando o Release 6.11 e anterior e o Release 6.12 e posterior são fornecidos abaixo. O PROC EXPAND pode calcular uma média móvel centralizada ou uma média móvel para trás. Uma média móvel centralizada de 5 períodos é calculada pela média de um total de 5 valores consecutivos da série (o valor do período atual além dos dois valores imediatamente anteriores e dois valores imediatamente após o valor atual). Uma média móvel retroativa de 5 períodos é calculada pela média do valor do período atual com os valores dos 4 períodos imediatamente anteriores. A sintaxe a seguir ilustra como usar a especificação TRANSFORM (MOVAVE n) para calcular uma média móvel centralizada de 5 períodos usando a Liberação 6.11 ou anterior: Para calcular uma média móvel regressiva de n períodos usando a Liberação 6.11 ou anterior, faça uso do TRANSFORM (MOVAVE n LAG k) especificação, onde k (n-1) / 2 se n é ímpar ou onde k (n-2) / 2 se n é par. Por exemplo, a seguinte sintaxe ilustra como calcular uma média móvel de retrocesso de 5 períodos usando a Liberação 6.11 ou anterior: A sintaxe a seguir ilustra como usar a especificação TRANSFORM (CMOVAVE n) para calcular uma média móvel centralizada de 5 períodos usando a Liberação 6.12 ou mais tarde: A seguinte sintaxe semelhante ilustra como usar a especificação TRANSFORM (MOVAVE n) para calcular uma média móvel retrógrada de 5 períodos usando a Liberação 6.12 ou posterior: Para obter mais informações, consulte Operações de Transformação no capítulo EXPAND do Guia do Usuário SAS / ETS . Se você não tiver acesso ao SAS / ETS, poderá calcular uma média móvel na etapa DATA, conforme ilustrado neste programa de amostra. Sistema operacional e informações de lançamento

No comments:

Post a Comment