Thursday, 3 August 2017

12 Point Centered Moving Average


David, Sim, MapReduce destina-se a operar em uma grande quantidade de dados. E a idéia é que, em geral, o mapa e as funções de redução não devem se preocupar com quantos mapeadores ou quantos redutores existem, essa é apenas a otimização. Se você pensar cuidadosamente sobre o algoritmo que eu postei, você pode ver que não importa qual mapeador recebe quais partes dos dados. Cada registro de entrada estará disponível para cada operação de redução que precisar dele. Ndash Joe K Sep 18 12 at 22:30 No melhor da minha compreensão média móvel não é muito bem mapas para MapReduce paradigma desde o seu cálculo é essencialmente deslizando janela sobre dados classificados, enquanto MR é o processamento de intervalos não intersected de dados classificados. A solução que vejo é a seguinte: a) Para implementar particionador personalizado para ser capaz de fazer duas partições diferentes em duas execuções. Em cada corrida, seus redutores terão diferentes faixas de dados e calcularão a média móvel onde apropriado, eu tentarei ilustrar: Na primeira execução, os dados para os redutores devem ser: R1: Q1, Q2, Q3, Q4 R2: Q5, Q6, Q7, Q8 . Aqui você vai cacluate média móvel para alguns Qs. Na próxima execução seus redutores devem obter dados como: R1: Q1. Q6 R2: Q6. Q10 R3: Q10..Q14 E caclulate o resto de médias móveis. Então você precisará agregar resultados. Ideia de particionador personalizado que terá dois modos de operação - cada vez dividindo em intervalos iguais, mas com alguma mudança. Em um pseudocódigo ele vai ficar assim. Partição (keySHIFT) (MAXKEYnumOfPartitions) onde: SHIFT será retirado da configuração. MAXKEY valor máximo da chave. Eu suponho para a simplicidade que eles começam com zero. RecordReader, IMHO não é uma solução, uma vez que é limitado a divisão específica e não pode deslizar sobre divide limites. Outra solução seria implementar lógica personalizada de dividir dados de entrada (é parte do InputFormat). Pode ser feito para fazer 2 slides diferentes, semelhante ao particionamento. Respondido set 17 12 at 8: 59Metodo de médias móveis Comentários estão off Suponha que existem períodos períodos denotados por e os valores correspondentes da variável são. Em primeiro lugar temos de decidir o período das médias móveis. Para séries temporais curtas, usamos período de 3 ou 4 valores. Para séries longas, o período pode ser 7, 10 ou mais. Para séries de tempo trimestrais, sempre calculamos médias tomando 4 quartos de cada vez. Em séries mensais, são calculadas médias móveis de 12 meses. Suponha que a dada série temporal seja em anos e decidimos calcular a média móvel de 3 anos. As médias móveis indicadas por são calculadas como a seguir: Ao calcular uma média móvel em execução, colocando 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-o próximo ao período 3. Nós Poderia ter colocado a média no meio do intervalo de tempo de três períodos, ou seja, próximo ao período 2. Isso funciona bem com períodos de tempo ímpar, mas não é tão bom para mesmo períodos de tempo. Então, onde colocamos a primeira média móvel quando M4 Tecnicamente, a Média Móvel cairá em t 2,5, 3,5. Para evitar esse problema, suavizamos as MAs usando M 2. Assim, suavizamos os valores suavizados Se nós formos uma média de um número par de termos, precisamos suavizar os valores suavizados A tabela a seguir mostra os resultados usando M 4.5.2 Suavização da Séries Temporais de Suavização Geralmente feito para nos ajudar a ver melhor padrões, tendências, por exemplo, em séries temporais. Geralmente suavizar a irregularidade irregular para ver um sinal mais claro. Para os dados sazonais, podemos suavizar a sazonalidade para que possamos identificar a tendência. Suavização não nos fornece um modelo, mas pode ser um bom primeiro passo para descrever vários componentes da série. O termo filtro às vezes é usado para descrever um procedimento de suavização. Por exemplo, se o valor suavizado para um determinado tempo é calculado como uma combinação linear de observações para tempos circundantes, pode-se dizer que weve aplicado um filtro linear para os dados (não o mesmo que dizer o resultado é uma linha reta, por o caminho). O uso tradicional do termo média móvel é que em cada ponto no tempo determinamos médias (possivelmente ponderadas) dos valores observados que circundam um determinado tempo. Por exemplo, no instante t. Uma média móvel centrada do comprimento 3 com pesos iguais seria a média dos valores às vezes t -1. T. E t1. Para tirar a sazonalidade de uma série, para que possamos ver melhor a tendência, usaríamos uma média móvel com um período sazonal span. Assim, na série suavizada, cada valor suavizado foi calculado em média em todas as estações. Isso pode ser feito olhando para uma média móvel unilateral em que você média todos os valores para os anos anteriores de dados ou uma média móvel centrada na qual você usa valores antes e depois da hora atual. Para dados trimestrais, por exemplo, poderíamos definir um valor suavizado para o tempo t como (x t x t-1 x t-2 x t-3) 4, a média deste tempo e os 3 trimestres anteriores. No código R, este será um filtro unilateral. Uma média móvel centrada cria um pouco de uma dificuldade quando temos um número par de períodos de tempo no período sazonal (como costumamos fazer). Para suavizar a sazonalidade nos dados trimestrais. A fim de identificar a tendência, a convenção usual é usar a média móvel alisada no tempo t é Para suavizar a sazonalidade em dados mensais. Para identificar a tendência, a convenção usual é usar a média móvel alisada no instante t. Isto é, aplicamos o peso 124 a valores às vezes t6 e t6 e peso 112 a todos os valores em todos os momentos entre t5 e t5. No comando R filtro, bem especificar um filtro de dois lados quando queremos usar valores que vêm antes e depois do tempo para o qual foram suavização. Observe que na página 71 de nosso livro, os autores aplicam pesos iguais em uma média móvel sazonal centrada. Thats ok também. Por exemplo, um trimestral mais suave pode ser alisado no momento t é fraco x frac x frac x frac x frac x Um mensal mais suave pode aplicar um peso de 113 a todos os valores de tempos t-6 a t6. O código que os autores usam na página 72 tira vantagem de um comando rep que repete um valor um certo número de vezes. Eles não usam o parâmetro filter dentro do comando filter. Exemplo 1 Produção Trimestral de Cerveja na Austrália Tanto na Lição 1 quanto na Lição 4, analisamos uma série de produção trimestral de cerveja na Austrália. O código R seguinte cria uma série suavizada que nos permite ver o padrão de tendência e traça esse padrão de tendência no mesmo gráfico da série de tempo. O segundo comando cria e armazena a série suavizada no objeto chamado trendpattern. Note que dentro do comando filter, o parâmetro named filter dá os coeficientes para o nosso alisamento e sides 2 faz com que um centrado suave seja calculado. Beerprod (beerprod. dat) trendpattern filtro (beerprod, filtro c (18, 14, 14, 14, 18), sides2) gráfico (beerprod, tipo b, tendência principal média móvel) linhas (trendpattern) Pode subtrair o padrão de tendência dos valores dos dados para obter uma melhor visão da sazonalidade. O resultado segue: Outra possibilidade para a série de alisamento para ver a tendência é o filtro one-sided trendpattern2 (beerprod, filter c (14, 14, 14, 14), sides1) Com isso, o valor suavizado é a média do ano passado. Exemplo 2. Desemprego mensal nos Estados Unidos Na lição de casa da semana 4, você analisou uma série mensal de desemprego nos Estados Unidos para 1948-1978. Heres um alisamento feito para olhar para a tendência. (Trendunemploy, mainTrend no Desemprego dos Estados Unidos, 1948-1978, xlab Year) Apenas a tendência alisada é plotada. (Trendunemployfilter) (trendunemployfilter) (desemprego, filtro (124,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,124), sides2) trendunemploy ts (trendunemploy, start c (1948,1) O segundo comando identifica as características de tempo do calendário da série. Isso faz com que a trama tenha um eixo mais significativo. A trama segue. Para séries não-sazonais, você arent obrigado a alisar sobre qualquer extensão particular. Para alisar você deve experimentar com médias móveis de diferentes vãos. Esses períodos de tempo podem ser relativamente curtos. O objetivo é derrubar as bordas ásperas para ver que tendência ou teste padrão pôde estar lá. Outros Métodos de Suavização (Seção 2.4) A Seção 2.4 descreve várias alternativas sofisticadas e úteis para a suavização média móvel. Os detalhes podem parecer esboçado, mas isso é bom porque não queremos ficar atolados em muitos detalhes para esses métodos. Dos métodos alternativos descritos na Seção 2.4, o lowess (regressão localmente ponderada) pode ser o mais amplamente utilizado. Exemplo 2 Continua O gráfico seguinte é uma linha de tendência suavizada para a série de Desemprego dos EUA, encontrada utilizando um lowess mais suave, no qual uma quantidade substancial (23) contribuiu para cada estimativa suavizada. Note que isso suavizou a série mais agressivamente do que a média móvel. Os comandos utilizados foram os desempregados (desemprego, início c (1948,1), freq12) lote (lowess (desempregado, f 23), suavização principal Lowess da tendência de desemprego dos EUA) Suavização Exponencial Única A equação básica de previsão para suavização exponencial única é frequentemente Dado como hat alfa xt (1-alfa) hat t texto Nós prognosticamos que o valor de x no tempo t1 seja uma combinação ponderada do valor observado no tempo t eo valor previsto no instante t. Embora o método seja chamado um método de suavização, seu usado principalmente para previsão de curto prazo. O valor de é chamado de constante de suavização. Por qualquer razão, 0.2 é uma escolha padrão popular de programas. Isso coloca um peso de 0,2 na observação mais recente e um peso de 1,2,8 na previsão mais recente. Com um valor relativamente pequeno de, o alisamento será relativamente mais extenso. Com um valor relativamente grande de, o alisamento é relativamente menos extenso à medida que mais peso será colocado no valor observado. Este é um método simples de previsão em uma etapa que, à primeira vista, parece não exigir um modelo para os dados. De fato, este método é equivalente ao uso de um modelo ARIMA (0,1,1) sem constante. O procedimento ideal é ajustar um modelo ARIMA (0,1,1) ao conjunto de dados observado e usar os resultados para determinar o valor de. Isso é ótimo no sentido de criar o melhor para os dados já observados. Embora o objetivo seja suavizar e um passo à frente previsões, a equivalência ao modelo ARIMA (0,1,1) traz um bom ponto. Não devemos cegamente aplicar alisamento exponencial porque o processo subjacente pode não ser bem modelado por um ARIMA (0,1,1). Considere um ARIMA (0,1,1) com média 0 para as primeiras diferenças, xt - x t-1: começa hat amp amp xt theta1 wt amp amp xt theta1 (xt - que t) amp amp (1 theta1) xt - theta1hat tendem. Se deixarmos (1 1) e assim - (1) 1, vemos a equivalência à equação (1) acima. Por que o Método é Chamado Suavização Exponencial Isso produz o seguinte: começo chapéu amplificador amp alfa xt (1-alfa) alfa x (1-alfa) chapéu amp amp alfa xt alfa (1-alfa) x (1-alfa) 2hat fim Continuar Desta forma substituindo sucessivamente o valor previsto no lado direito da equação. Isto leva a: hat alpha xt alfa (1-alfa) x alfa (1-alfa) 2 x dots alfa (1-alfa) jx pontos alfa (1-alfa) x1 texto A equação 2 mostra que o valor previsto é uma média ponderada De todos os valores passados ​​da série, com pesos exponencialmente mudando como nos movemos para trás na série. Suavização Exponencial Óptima em R Basicamente, basta ajustar um ARIMA (0,1,1) aos dados e determinar o coeficiente. Podemos examinar o ajuste do bom, comparando os valores previstos com a série real. O alisamento exponencial tende a ser usado mais como uma ferramenta de previsão do que um verdadeiro mais suave, por isso estávamos olhando para ver se temos um bom ajuste. Exemplo 3. N 100 observações mensais do logaritmo de um índice de preços do petróleo nos Estados Unidos. A série de dados é: Um ajuste ARIMA (0,1,1) em R deu um coeficiente MA (1) 0,3877. Assim, (1 1) 1,3877 e 1- -0,3877. A equação exponencial de suavização de previsão é 1.3877xt - 0.3877hat t No tempo 100, o valor observado da série é x 100 0,86601. O valor previsto para a série nesse momento é Assim, a previsão para o tempo 101 é 1.3877x - 0.3877hat 1.3877 (0.86601) -0.3877 (0.856789) 0.8696 O seguinte é o quão bem o mais suave se encaixa a série. É um bom ajuste. Isso é um bom sinal para a previsão, o principal objectivo para este mais suave. Aqui estão os comandos usados ​​para gerar a saída para este exemplo: oilindex scan (oildata. dat) gráfico (oilindex, tipo b, registro principal de índice de óleo série) expsmoothfit arima (oilindex, ordem c (0,1,1)) expsmoothfit Para ver o arima resultados preditos oilindex - expsmoothfitresiduals previu valores gráfico (oilindex, typeb, principal Exponencial Suavização de Log of Oil Index) linhas (preditos) 1.3877oilindex100-0.3877predicteds100 previsão de tempo 101 Double Exponential Smoothing Dupla exponencial alisamento pode ser usado quando theres Tendência (longo ou curto prazo), mas sem sazonalidade. Essencialmente, o método cria uma previsão combinando estimativas exponencialmente suavizadas da tendência (inclinação de uma linha reta) eo nível (basicamente, a intercepção de uma linha reta). Dois pesos diferentes, ou parâmetros de suavização, são usados ​​para atualizar esses dois componentes a cada vez. O nível suavizado é mais ou menos equivalente a uma suavização exponencial simples dos valores de dados ea tendência alisada é mais ou menos equivalente a uma simples suavização exponencial das primeiras diferenças. O procedimento é equivalente à montagem de um modelo ARIMA (0,2,2), sem constante, pode ser realizado com um ajuste ARIMA (0,2,2). (1-B) 2 xt (1theta1B theta2B2) p. Navegação

No comments:

Post a Comment