Tuesday 4 July 2017

Mover Valores Médios Em Falta


Um método simples e geral para preencher os dados em falta, se você tiver uma série de dados completos, é usar regressão linear. Digamos que você tenha 1000 execuções de 5 em uma linha sem que falte. Configure o 1000 x 1 vetor y e 1000 x 4 matriz X: Regressão lhe dará 4 números a b c d que dão uma melhor combinação para suas 1000 linhas de dados mdash dados diferentes, diferentes a b c d. Então você usa estes a b c d para estimar (prever, interpolar) falta wt0. (Para pesos humanos, espero que abcd seja todo 14.) (Existem zilhões de livros e documentos sobre regressão, em todos os níveis. Para a conexão com interpolação, no entanto, não conheço uma boa introdução, qualquer um) Estou tentando Para calcular médias móveis trimestrais dentro de um grupo, no entanto, existem diferentes números de observações dentro de cada grupo. Eu vi alguns exemplos, mas eles assumem que o mesmo número de observações deve ser calculado em média. Aqui está um exemplo: os itens a e d são comprados em cada trimestre, mas o item b só é comprado no segundo e terceiro trimestres, enquanto o item c só é comprado no quarto quarto. Então, o grupo seria por item trimestre item trimestre Quantidade O exemplo acima é uma espécie de versão diluída. Estou usando dados de séries temporais e, mesmo que um item seja comprado a cada trimestre em um ano, ele pode não ser comprado a cada trimestre em outro ano, ou pode não ser comprado por um determinado ano. Existe uma maneira simples de calcular médias móveis para este tipo de dados sem interpolação. Se possível, você também pode incluir um exemplo com interpolação. Qualquer ajuda será apreciada. Tentei expandir os dados para incluir valores em falta, de modo que as médias móveis possam ser computadas como o paigemiller sugeriu. Eu já estou trabalhando com SASETS. Estou usando dados mensais e a variável de data é formatada como monyy. Aqui está o código que eu estou usando para expandir os dados: proc classificar datafisher3 por classe item data executar proc expandir datafisher3 outfshrexp frommonth methodnone por classe item não incluir data por grupo aqui ou não funciona Pergunta: Achei que isso resolveu minha falta Problema de valores no entanto, quando há valores faltantes no início inicial da série (por exemplo, valores para um início de variável em março em vez de janeiro e podem terminar em outubro em vez de dezembro), esses valores permanecem em falta (não aparecem nos dados expandidos Conjunto), embora o resto da série seja expandido. Existe uma maneira, ou uma opção no proc expandir, para obter o SAS para indicar que esses valores estão faltando também. Além disso, aqui está o código básico que eu estou usando para calcular as médias móveis. Embora eu precise corrigir o problema dos valores em falta, esse código funciona bastante bem. Você pode converter vários Vars ao mesmo tempo e usar múltiplas declarações de conversão para criar diferentes médias móveis ao mesmo tempo para aqueles vars. Proc classificar dataold por classe item data executar proc expandir dadosold outnew converter var1movingaverage methodnone transformout (movave 3) PROC FREQ com SPARSE opção pode expandir para você, mesmo que você não licencia o módulo ETS. Aqui está uma solução usando apenas o SASBASE. O cálculo da média móvel é uma tarefa de programação direta. Proc freq datatest noprint tabela itemquarter sparse outtest2 (renomear (countquantity) droppercent) let k2 comprimento de sua janela set test2 por item array x temporário se first. item então faça i1 to (dim (x) -1) x 0 end xmod ( Seq, ampk) quantidade seq1 se seqgtampk, então, se seqgtampk, então faça Agora outra pergunta surgiu: alguns dos meus dados são propositadamente excluídos por anos inteiros. Estou usando a opção proc expand converter para calcular as médias móveis, conforme indicado anteriormente, mas como faço para começar o procedimento para começar quando os anos não são consecutivos. Eu pensei em criar uma variável de contador, mas eu não posso fazer uma declaração if no proc expandir. Aqui está um breve exemplo do que quero dizer. Item ano mês valor a 2000 12 a 2007 1 Aqui está o problema: o item só é comprado por esses dois anos, mas eu preciso de média móvel para começar aqui. Qualquer sugestão será muito apreciada. Eu continuarei trabalhando para descobrir isso também. Isso pode não ser prático se você tiver muitas séries diferentes de dados com diferentes anos, mas você poderia incluir um extrato que diga para ampliar o ano 2000 ou ano 2007. Dependendo do método de média móvel que você esteja usando, se estiver em Um passo de dados, então, tenha um se isso diz se o ano2007 e o mês1, então, comece a média móvel ou algo nesse sentido. Mas se diferentes séries tiverem anos diferentes, você teria que começar a executá-las separadamente (uma dor) ou talvez você pudesse construir um conjunto de dados em que você fundir, pois fornece essa informação (uma coluna indicaria o item, outra teria o ano (S) que são relevantes com um registro adicional para cada ano). Então, proc expandMoving Avg em cada um, então anexe esses conjuntos de dados. Mas, novamente, isso não seria divertido se você tiver séries diferentes com anos diferentes de years. Moving Average Este exemplo ensina como calcular a média móvel de uma série temporal no Excel. Uma média móvel é usada para suavizar irregularidades (picos e vales) para reconhecer facilmente as tendências. 1. Primeiro, vamos dar uma olhada em nossas séries temporais. 2. Na guia Dados, clique em Análise de dados. Nota: não consigo encontrar o botão Análise de dados Clique aqui para carregar o complemento 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 Intervalo e digite 6. 6. Clique na caixa Escala de saída e selecione a célula B3. 8. Traçar 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 o ponto de dados atual. Como resultado, picos e vales são alisados. O gráfico mostra uma tendência crescente. O Excel não pode calcular a média móvel para os primeiros 5 pontos de dados porque não há suficientes pontos de dados anteriores. 9. Repita os passos 2 a 8 para o intervalo 2 e o intervalo 4. Conclusão: quanto maior o intervalo, mais os picos e os vales são alisados. Quanto menor o intervalo, mais próximas as médias móveis são para os pontos de dados reais.

No comments:

Post a Comment