Tuesday 5 September 2017

Moving average time series r


Análise da série de tempo e suas aplicações: com exemplos R. Solução rápida de séries temporais R A página usa JavaScript para realçar sintaxe. Não é necessário ativá-lo, mas o código será mais difícil de ler. Este é apenas um breve percurso de caminhada. Meu conselho é abrir R e jogar junto com o tutorial. Felizmente, você instalou o R e encontrou o ícone na sua área de trabalho que parece um R. bem, é um R. Se você estiver usando o Linux, então pare de olhar, porque não está lá. Basta abrir um terminal e entrar R (ou instalar o R ​​Studio.) Se quiser mais em gráficos de séries temporais, particularmente usando o ggplot2. Veja o Graphics Fast Fix. A solução rápida destina-se a expor-lhe as capacidades básicas da série R e é classificada como uma diversão para pessoas de 8 a 80 anos. Esta não é a intenção de ser uma lição na análise de séries temporais, mas se você quiser uma, você pode tentar isso de forma fácil Curso: loz Baby steps. Sua primeira sessão R. Fique confortável, então comece com ela e tente uma adição simples: Ok, agora você é um especialista em R. Agora teríamos astsa agora: agora que você está carregado, podemos começar. Vamos primeiro, jogue bem com o conjunto de dados Johnson amp Johnson. Está incluído em astsa como jj. Esse personagem da Dynomite de Good Times. Primeiro, olhe para ele. E você vê que jj é uma coleção de 84 números chamado objeto de séries temporais. Para seeremover seus objetos: Se você é um usuário de Matlab (ou similar), você pode pensar que jj é um vetor de 84 vezes 1, mas não é. Tem ordem e comprimento, mas sem dimensões (sem linhas, sem colunas). R chama esses tipos de vetores de objetos, então você precisa ter cuidado. Em R, as matrizes têm dimensões, mas os vetores não - eles apenas se encolhem no ciberespaço. Agora, vamos fazer um objeto mensal de séries temporais que começa em junho do ano 2293. Nós entramos no Vortex. Note-se que os dados Johnson e Johnson são ganhos trimestrais, portanto, tem freqüência4. A série temporal zardoz é dados mensais, portanto, tem freqüência12. Você também obtém algumas coisas úteis com o objeto TS, por exemplo: Agora tente um gráfico dos dados Johnson Johnson: O gráfico mostrado é um pouco mais sofisticado do que o código irá dar. Para obter detalhes, veja a página Gráficos Rápidos. Isso vai para o resto das parcelas que você verá aqui. Experimente estes e veja o que acontece: e enquanto estiver aqui, confira plot. ts e ts. plot. Observe que, se seus dados forem um objeto de séries temporais, plot () fará o truque (para um gráfico de tempo simples, isto é). Caso contrário, plot. ts () irá coagir o gráfico em um gráfico de tempo. E quanto a filtros que amamentam a série Johnson amp Johnson usando uma média móvel de dois lados, tente isso: fjj (t) 8539 jj (t-2) frac14 jj (t-1) frac14 jj (t) frac14 jj (t1) 8539 jj ( T2) e bem adicione um lowess (lowess - você conhece a rotina) para se divertir. Permite a diferença dos dados registrados e chamamos dljj. Então, fale com dljj. Agora, um histograma e um gráfico Q-Q, um em cima do outro (mas de uma forma agradável): Vamos verificar a estrutura de correlação do dljj usando várias técnicas. Primeiro, olhe para uma grade de diagramas de dispersão de dljj (t) versus valores remanescentes. As linhas são baixas e a amostra é azul na caixa. Agora vamos dar uma olhada no ACF e PACF do dljj. Observe que o eixo LAG é em termos de freqüência. Então 1,2,3,4,5 corresponde aos atrasos 4,8,12,16,20 porque a frequência 4 aqui. Se você não gosta deste tipo de rotulagem, você pode substituir dljj em qualquer um dos itens acima por ts (dljj, freq1), e. Acf (ts (dljj, freq1), 20) Movendo-se, vamos tentar uma decomposição estrutural do erro de temporada de log (jj) usando lowess. Se você quiser inspecionar os resíduos, por exemplo, theyre in dogtime. series, 3. A terceira coluna da série resultante (os componentes sazonal e de tendência estão nas colunas 1 e 2). Confira o ACF dos resíduos, acf (dogtime. series, 3), os resíduos não são brancos, nem mesmo próximos. Você pode fazer um pouco (muito pouco) melhor usando uma janela sazonal local, em oposição à global usada especificando per. Digite stl para obter detalhes. Há também algo chamado StructTS que irá caber modelos estruturais paramétricos. Não usamos essas funções no texto quando apresentamos modelos estruturais no Capítulo 6 porque preferimos usar nossos próprios programas. Loz Este é um bom momento para explicar. No acima, o cão é um objeto contendo um monte de coisas (termo técnico). Se você digitar cão. Você verá os componentes, e se você digitar sumário (cão), você obterá um pequeno resumo dos resultados. Um dos componentes do cão é time. series. Que contém a série resultante (sazonal, tendência, restante). Para ver este componente do objeto cão. Você digita dogtime. series (e você verá 3 séries, a última contendo os resíduos). E essa é a história de. Você verá mais exemplos à medida que nos movemos. E agora bem, faça um problema do Capítulo 2. Ajustaríamos o log de regressão (jj) betatime alfa 1 Q1 alfa 2 Q2 alfa 3 Q3 alfa 4 Q4 epsilon onde Qi é um indicador do quarto i 1,2,3,4 . Em seguida, inspecione bem os resíduos. Você pode visualizar a matriz do modelo (com as variáveis ​​dummy) desta forma: agora verifique o que aconteceu. Olhe para um enredo das observações e seus valores ajustados: o que mostra que um enredo dos dados com o ajuste superposto não vale o ciberespaço que ele ocupa. Mas uma parcela dos resíduos e a ACF dos resíduos valeu seu peso em joules: Esses resíduos ficam brancos. Ignore a correlação de 0-lag, é sempre 1. Dica: A resposta é NÃO. Então a regressão acima é nula. Então, qual é o remédio Desculpe, você terá que levar a aula porque esta não é uma lição de séries temporais. Eu o avisei no topo. Você deve ter cuidado ao regredir uma série de tempo em componentes remanescentes de outro usando lm (). Há um pacote chamado dynlm que facilita o ajuste de regressões atrasadas, e vou discutir isso logo após este exemplo. Se você usar lm (). Então o que você precisa fazer é amarrar a série usando ts. intersect. Se você não amarrar a série, eles não serão alinhados corretamente. É um exemplo que regem a mortalidade cardiovascular semanal (cmort) na poluição por partículas (parte) no valor presente e atrasou quatro semanas (cerca de um mês). Para obter detalhes sobre o conjunto de dados, consulte o Capítulo 2. Verifique se astsa está carregada. Nota: Não foi necessário renomear o atraso (parte, -4) para a parte 4. É apenas um exemplo do que você pode fazer. Uma alternativa ao acima é o pacote dynlm que tem que ser instalado, é claro (como fizemos para astsa lá no início). Depois que o pacote for instalado, você pode fazer o exemplo anterior da seguinte maneira: Bem, é hora de simular. O cavalo de batalha para as simulações ARIMA é arima. sim (). Aqui estão alguns exemplos, nenhum resultado é mostrado aqui, então você está sozinho. Usar astsa é fácil de se ajustar a um modelo ARIMA: você pode estar se perguntando sobre a diferença entre aic e AIC acima. Para isso, você tem que ler o texto ou simplesmente não se preocupe com isso porque não vale a pena arruinar o seu dia pensando nisso. E sim, esses resíduos parecem brancos. Se você deseja fazer a previsão ARIMA, o sarima. for está incluído no astsa. E agora para alguma regressão com erros auto-correlacionados. Ajustaríamos o modelo M t alpha betat gammaP t e t onde M t e P t são as séries de mortalidade (cmort) e partículas (parte) e e t é erro autocorrelacionado. Primeiro, faça um ajuste OLS e verifique os resíduos: agora ajuste o modelo. A análise residual (não mostrada) parece perfeita. Heres um modelo ARMAX, M t beta 0 phi 1 M t-1 phi 2 M t-2 beta 1 t beta 2 T t-1 beta 3 P t beta 4 P t-4 e t. Onde e t é possivelmente auto-correlacionado. Primeiro, tentamos e ARMAX (p2, q0), então olhe para os resíduos e percebemos que não há correlação esquerda, então foram feitas. Finalmente, uma análise espectral é rápida: é tudo por enquanto. Se você quiser mais em gráficos de séries temporais, veja a página de Fixação rápida de gráficos. Tenho uma série de séries temporais no pacote ggplot2 e realizei a média móvel e gostaria de adicionar o resultado da média móvel à trama de séries temporais . Exemplo de conjunto de dados (p31): ambtemp dt -1,14 2007-09-29 00:01:57 -1.12 2007-09-29 00:03:57 -1.33 2007-09-29 00:05:57 -1.44 2007 -09-29 00:07:57 -1.54 2007-09-29 00:09:57 -1.29 2007-09-29 00:11:57 Código aplicado para apresentação de séries temporais: Amostra de gráfico médio móvel Amostra de resultados esperados O O desafio é que os dados da série temporal são obtidos a partir do conjunto de dados, que inclui timestamps e temperatura, mas os dados médios em movimento incluem apenas a coluna média e não os timestamps e a montagem desses dois podem causar inconsistência.2.1 Modelos médios em movimento (modelos MA) Modelos de séries temporais conhecidos como Os modelos ARIMA podem incluir termos autorregressivos e os termos médios móveis. Na semana 1, aprendemos um termo autorregressivo em um modelo de séries temporais para a variável x t é um valor remanescente de x t. Por exemplo, um termo autorregressivo de lag 1 é x t-1 (multiplicado por um coeficiente). Esta lição define os termos médios móveis. Um termo médio móvel em um modelo de séries temporais é um erro passado (multiplicado por um coeficiente). Deixe (wt overset N (0, sigma2w)), o que significa que o w t é idêntico, distribuído independentemente, cada um com uma distribuição normal com média 0 e a mesma variância. O modelo de média móvel de 1ª ordem, denotado por MA (1) é (xt mu wt theta1w) O modelo de média móvel de 2ª ordem, denotado por MA (2) é (xt mu wt theta1w theta2w) O modelo de média móvel da ordem q , Denotado por MA (q) é (xt mu wt theta1w theta2w dots thetaqw) Nota. Muitos livros didáticos e programas de software definem o modelo com sinais negativos antes dos termos. Isso não altera as propriedades teóricas gerais do modelo, embora ele flip os signos algébricos de valores de coeficientes estimados e termos (desactuados) em fórmulas para ACFs e variâncias. Você precisa verificar seu software para verificar se os sinais negativos ou positivos foram usados ​​para escrever corretamente o modelo estimado. R usa sinais positivos em seu modelo subjacente, como fazemos aqui. Propriedades teóricas de uma série de tempo com um modelo MA (1) Observe que o único valor diferente de zero na ACF teórica é para o atraso 1. Todas as outras autocorrelações são 0. Assim, uma amostra ACF com autocorrelação significativa apenas no intervalo 1 é um indicador de um possível modelo MA (1). Para estudantes interessados, as provas dessas propriedades são um apêndice para este folheto. Exemplo 1 Suponha que um modelo de MA (1) seja x t 10 w t .7 w t-1. Onde (com o excesso de N (0,1)). Assim, o coeficiente 1 0,7. O ACF teórico é dado por um gráfico deste ACF segue. O enredo que acabamos de mostrar é o ACF teórico para um MA (1) com 1 0,7. Na prática, uma amostra geralmente não fornece um padrão tão claro. Usando R, simulamos n 100 valores de amostra usando o modelo x t 10 w t .7 w t-1 onde w t iid N (0,1). Para esta simulação, segue-se um gráfico de séries temporais dos dados da amostra. Não podemos dizer muito dessa trama. A amostra ACF para os dados simulados segue. Vemos um pico no intervalo 1 seguido de valores geralmente não significativos para atrasos após 1. Observe que o ACF de amostra não corresponde ao padrão teórico da MA subjacente (1), que é que todas as autocorrelações por atrasos após 1 serão 0 . Uma amostra diferente teria uma ACF de amostra ligeiramente diferente mostrada abaixo, mas provavelmente teria os mesmos recursos amplos. Propriedades terapêuticas de uma série de tempo com um modelo MA (2) Para o modelo MA (2), as propriedades teóricas são as seguintes: Observe que os únicos valores não nulos no ACF teórico são para atrasos 1 e 2. As autocorrelações para atrasos superiores são 0 . Assim, uma amostra de ACF com autocorrelações significativas nos intervalos 1 e 2, mas as autocorrelações não significativas para atrasos maiores indicam um possível modelo de MA (2). Iid N (0,1). Os coeficientes são de 1 0,5 e 2 0,3. Uma vez que este é um MA (2), o ACF teórico terá valores diferentes de zero apenas nos intervalos 1 e 2. Os valores das duas autocorrelações não-zero são A Um gráfico do ACF teórico segue. Como quase sempre é o caso, os dados da amostra não se comportam tão perfeitamente quanto a teoria. Nós simulamos n 150 valores de amostra para o modelo x t 10 w t .5 w t-1 .3 w t-2. Onde w t iid N (0,1). A série de séries temporais dos dados segue. Tal como acontece com a série de séries temporais para os dados da amostra MA (1), você não pode contar muito com isso. A amostra ACF para os dados simulados segue. O padrão é típico para situações em que um modelo de MA (2) pode ser útil. Existem dois picos estatisticamente significativos nos intervalos 1 e 2 seguidos de valores não significativos para outros atrasos. Observe que, devido ao erro de amostragem, a amostra ACF não corresponde exatamente ao padrão teórico. ACF para General MA (q) Modelos Uma propriedade de modelos de MA (q) em geral é que existem autocorrelações diferentes de zero para os primeiros intervalos de q e autocorrelações 0 para todos os atrasos gt q. Não singularidade de conexão entre valores de 1 e (rho1) em MA (1) Modelo. No modelo MA (1), para qualquer valor de 1. O recíproco 1 1 dá o mesmo valor para Como exemplo, use 0,5 para 1. E depois use 1 (0,5) 2 para 1. Você obterá (rho1) 0.4 em ambos os casos. Para satisfazer uma restrição teórica chamada invertibilidade. Nós restringimos os modelos de MA (1) para ter valores com valor absoluto inferior a 1. No exemplo que acabamos de dar, 1 0.5 será um valor de parâmetro permitido, enquanto que 1 10.5 2 não irá. Invertibilidade de modelos de MA Um modelo de MA é considerado inversível se for algébricamente equivalente a um modelo de AR de ordem infinita convergente. Ao convergir, queremos dizer que os coeficientes de AR diminuem para 0, enquanto nos movemos para trás no tempo. Invertibilidade é uma restrição programada em software de série temporal usado para estimar os coeficientes de modelos com termos MA. Não é algo que buscamos na análise de dados. Informações adicionais sobre a restrição de invertibilidade para modelos MA (1) são apresentadas no apêndice. Nota de teoria avançada. Para um modelo MA (q) com um ACF especificado, existe apenas um modelo inversível. A condição necessária para a invertibilidade é que os coeficientes possuem valores tais que a equação 1- 1 y-. - q e q 0 possui soluções para y que se encontram fora do círculo da unidade. Código R para os Exemplos No Exemplo 1, traçamos o ACF teórico do modelo x t 10 w t. 7w t-1. E depois simulou n 150 valores desse modelo e traçou as séries temporais da amostra e a amostra ACF para os dados simulados. Os comandos R utilizados para traçar o ACF teórico foram: acfma1ARMAacf (mac (0,7), lag. max10) 10 lags de ACF para MA (1) com theta1 0,7 lags0: 10 cria uma variável chamada atrasos que varia de 0 a 10. trama (Lag, acfma1, xlimc (1,10), ylabr, typeh, ACF principal para MA (1) com theta1 0,7) abline (h0) adiciona um eixo horizontal ao gráfico O primeiro comando determina o ACF e o armazena em um objeto Nomeado acfma1 (nossa escolha de nome). O comando de parcela (o comando 3) representa atrasos em relação aos valores ACF para os atrasos 1 a 10. O parâmetro ylab rotula o eixo y e o parâmetro principal coloca um título no gráfico. Para ver os valores numéricos do ACF, use simplesmente o comando acfma1. A simulação e os gráficos foram feitos com os seguintes comandos. Xcarima. sim (n150, list (mac (0.7))) Simula n 150 valores de MA (1) xxc10 acrescenta 10 para fazer a média 10. Padrões de simulação significa 0. plot (x, typeb, mainSimulated MA (1) dados) Acf (x, xlimc (1,10), mainACF para dados de amostra simulados) No Exemplo 2, traçamos o ACF teórico do modelo xt 10 wt .5 w t-1 .3 w t-2. E depois simulou n 150 valores desse modelo e traçou as séries temporais da amostra e a amostra ACF para os dados simulados. Os comandos R utilizados foram acfma2ARMAacf (mac (0.5,0.3), lag. max10) acfma2 lags0: 10 plot (lags, acfma2, xlimc (1,10), ylabr, typeh, ACF principal para MA (2) com theta1 0,5, Theta20.3) abline (h0) xcarima. sim (n150, list (mac (0.5, 0.3))) xxc10 plot (x, typeb, principal Simulated MA (2) Series) acf (x, xlimc (1,10), MainACF para dados simulados de MA (2) Apêndice: Prova de propriedades de MA (1) Para estudantes interessados, aqui estão as provas para propriedades teóricas do modelo MA (1). Variance: (texto (texto) (mu wt theta1 w) Texto de 0 texto (wt) (theta1w) sigma2w theta21sigma2w (1theta21) sigma2w) Quando h 1, a expressão anterior 1 w 2. Para qualquer h 2, a expressão anterior 0 . A razão é que, por definição de independência do peso. E (w k w j) 0 para qualquer k j. Além disso, porque o w t tem 0, E (w j w j) E (w j 2) w 2. Para uma série de tempo, aplique este resultado para obter o ACF fornecido acima. Um modelo de MA reversível é aquele que pode ser escrito como um modelo de AR de ordem infinita que converge para que os coeficientes de AR convergem para 0 à medida que nos movemos infinitamente de volta no tempo. Bem, demonstre invertibilidade para o modelo MA (1). Em seguida, substituímos a relação (2) para w t-1 na equação (1) (3) (zt wt theta1 (z - theta1w) wt theta1z - theta2w) No momento t-2. A equação (2) torna-se então substituímos a relação (4) para w t-2 na equação (3) (zt wt theta1 z - theta21w wt theta1z - theta21 (z - theta1w) wt theta1z - theta12z theta31w) Se continuássemos ( Infinitamente), obteríamos o modelo de AR de ordem infinita (zt wt theta1 z - theta21z theta31z - theta41z dots) Note, no entanto, que se 1 1, os coeficientes que multiplicam os atrasos de z aumentarão (infinitamente) de tamanho à medida que avançarmos Tempo. Para evitar isso, precisamos de 1 lt1. Esta é a condição para um modelo de MA reversível (1). Modelo de ordem infinita MA Na semana 3, veja que um modelo de AR (1) pode ser convertido em um modelo de MA de ordem infinita: (xt - mu wt phi1w phi21w dots phik1 w dots sum phij1w) Este somatório de termos de ruído branco passados ​​é conhecido Como a representação causal de um AR (1). Em outras palavras, x t é um tipo especial de MA com um número infinito de termos que retornam no tempo. Isso é chamado de uma ordem infinita MA ou MA (). Uma ordem finita MA é uma ordem infinita AR e qualquer ordem finita AR é uma ordem infinita MA. Recorde na Semana 1, observamos que um requisito para um AR estacionário (1) é aquele 1 lt1. Vamos calcular o Var (x t) usando a representação causal. Este último passo usa um fato básico sobre séries geométricas que requerem (phi1lt1) caso contrário a série diverge. Navegação

No comments:

Post a Comment