O código de exemplo na guia Código Completo ilustra como calcular a média móvel de uma variável por meio de um conjunto de dados inteiro, das últimas N observações em um conjunto de dados ou das ú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 BY-group. Im um iniciante em SAS e fico curioso se a seguinte tarefa puder ser executada mais simples como é atualmente na minha cabeça. Eu tenho o seguinte (simplificado) metadados em uma tabela chamada userdatemoney: usuário - data - dinheiro com vários usuários e datas para cada dia do calendário (nos últimos 4 anos). Os dados são ordenados pelo User ASC e pelo Data ASC, os dados de exemplo são assim: Agora, quero calcular uma média móvel de cinco dias para o Money. Eu comecei com o popular apprach com a função lag () assim: como você vê, o problema com este método ocorre se a etapa de dados for executada em um novo usuário. Aron teria alguns valores defasados de Anna, o que obviamente não deveria acontecer. Agora, minha pergunta: Tenho certeza que você pode manipular o switch de usuário adicionando alguns campos extras como laggeduser e redefinindo as variáveis N, Sum e Mean se você notar tal mudança, mas: Isso pode ser feito de uma forma mais fácil Talvez usando o By Clause de qualquer forma Obrigado por suas idéias e ajuda Acho que a maneira mais fácil é usar o PROC EXPAND: E como mencionado no comentário do Johns, é importante lembrar sobre os valores ausentes (e sobre as observações iniciais e finais também). Incluí a opção SETMISS ao código, pois você deixou claro que deseja zerar os valores ausentes e não ignorá-los (comportamento MOVAVE padrão). E se você quiser excluir as primeiras 4 observações para cada usuário (já que elas não têm pré-histórico suficiente para calcular a média móvel 5), você pode usar a opção TRIMLEFT 4 dentro de TRANSFORMOUT (). respondeu 3 dez 13 às 15: 29Moving Average Este exemplo ensina como calcular a média móvel de uma série temporal no Excel. Um avarge movente é usado para suavizar irregularidades (picos e vales) para reconhecer facilmente as tendências. 1. Primeiro, vamos dar uma olhada em nossa série temporal. 2. Na guia Dados, clique em Análise de dados. Nota: não é possível localizar o botão Análise de dados Clique aqui para carregar o suplemento Analysis ToolPak. 3. Selecione Média Móvel e clique em OK. 4. Clique na caixa Intervalo de entrada e selecione o intervalo B2: M2. 5. Clique na caixa Interval (Intervalo) e digite 6. 6. Clique na caixa Output Range (Intervalo de saída) e selecione a célula B3. 8. Plote um gráfico desses valores. Explicação: porque definimos o intervalo para 6, a média móvel é a média dos 5 pontos de dados anteriores e do ponto de dados atual. Como resultado, picos e vales são suavizados. O gráfico mostra uma tendência crescente. O Excel não pode calcular a média móvel dos primeiros 5 pontos de dados porque não há pontos de dados anteriores suficientes. 9. Repita os passos 2 a 8 para o intervalo 2 e intervalo 4. Conclusão: Quanto maior o intervalo, mais os picos e vales são suavizados. Quanto menor o intervalo, mais próximas as médias móveis dos pontos de dados reais.
No comments:
Post a Comment