Tuesday, 7 November 2017

Movendo média exemplos tempo série


Média móvel 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 nossa série de tempo. 2. No separador Dados, clique em Análise de dados. Nota: não é possível encontrar o botão Análise de dados Clique aqui para carregar o suplemento do Analysis ToolPak. 3. Selecione Média móvel e clique em OK. 4. Clique na caixa Input Range e selecione o intervalo B2: M2. 5. Clique na caixa Intervalo e escreva 6. 6. Clique na caixa Output Range e seleccione a célula B3. 8. Faça um gráfico destes valores. Explicação: porque definimos o intervalo como 6, a média móvel é a média dos 5 pontos de dados anteriores eo ponto de dados atual. Como resultado, os picos e vales são suavizados. O gráfico mostra uma tendência crescente. O Excel não consegue calcular a média móvel para os primeiros 5 pontos de dados porque não existem pontos de dados anteriores suficientes. 9. Repita os passos 2 a 8 para o intervalo 2 eo intervalo 4. Conclusão: Quanto maior o intervalo, mais os picos e vales são suavizados. Quanto menor o intervalo, mais perto as médias móveis são para os pontos de dados reais. Eu estou realmente tentando, mas lutando, para entender como Autoregressive e Moving Average trabalho. Eu sou muito terrível com álgebra e olhando para ele realmente não melhorar minha compreensão de algo. O que eu realmente amo é um exemplo extremamente simples de dizer 10 observações dependentes do tempo para que eu possa ver como eles funcionam. Então, digamos que você tem os seguintes pontos de dados do preço do ouro: Por exemplo, no período de tempo 10, o que seria a média móvel de Lag 2, MA (2), ser Ou MA (1) E AR (1) ou AR (2) Eu tradicionalmente aprendi sobre Moving Average sendo algo como: Mas ao olhar para modelos ARMA, MA é explicado como uma função de termos de erro anterior, que eu não posso obter a minha cabeça ao redor. É apenas uma maneira mais sofisticada de calcular a mesma coisa que eu encontrei este post útil: (Como entender SARIMAX intuitivamente), mas whist ajuda a álgebra, eu não posso ver algo realmente claramente até eu ver um exemplo simplificado dele. Dados os preços do ouro, você deve primeiro estimar o modelo e, em seguida, ver como ele funciona (impulso-resposta análise previsões). Talvez você devesse limitar sua pergunta apenas para a segunda parte (e deixar de lado a estimativa). Ou seja, você forneceria um AR (1) ou MA (1) ou qualquer modelo (por exemplo, xt0.5 x varepsilont) e pergunte-nos, como funciona este modelo específico. Ndash Richard Hardy Aug 13 15 at 19:58 Para qualquer modelo AR (q) a maneira fácil de estimar o parâmetro (s) é usar OLS - e executar a regressão de: pricet beta0 beta1 cdot preço dotso betaq cdot preço Vamos fazer isso (Em R): (Ok, então eu enganei um pouco e usei a função arima em R, mas ela produz as mesmas estimativas que a regressão OLS - experimente). Agora vamos dar uma olhada no modelo MA (1). Agora, o modelo MA é muito diferente do modelo AR. O MA é a média ponderada do erro de períodos passados, onde como o modelo AR usa os valores de dados reais dos períodos anteriores. O MA (1) é: pricet mu wt theta1 cdot w Onde mu é a média, e wt são os termos de erro - não o previoes valor de preço (como no modelo AR). Agora, infelizmente, não podemos estimar os parâmetros por algo tão simples como OLS. Eu não vou cobrir o método aqui, mas a função R arima usa máxima likihood. Vamos tentar: Espero que isso ajude. (2) Quanto à questão MA (1). Você diz que o residual é 1.0023 para o segundo período. Isso faz sentido. Minha compreensão do residual é a diferença entre o valor previsto e o valor observado. Mas você diz então o valor previsto para o período 2, é calculado usando o residual para o período 2. É isso certo Isn39t o valor previsto para o período 2 apenas (0.54230 4.9977) ndash Will TE 17 de agosto 15 às 11: 24Time Series Analysis and Its Applications : Com R Exemplos R séries temporais correção rápida A página usa JavaScript para realce de sintaxe. Não é necessário ligá-lo, mas o código será mais difícil de ler. Este é apenas um breve passeio para baixo tempo seRies lane. Meu conselho é abrir R e jogar junto com o tutorial. Felizmente, você instalou o R e encontrou o ícone no seu desktop que parece um R. bem, é um R. Se você está usando o Linux, então pare de procurar porque não está lá. Basta abrir um terminal e entrar R (ou instalar o R ​​Studio.) Se você quiser mais sobre gráficos de séries temporais, especialmente usando ggplot2. Consulte a correção rápida de gráficos. A correção rápida destina-se a expô-lo às capacidades básicas da série R e é classificada como divertida para pessoas com idades entre 8 e 80 anos. Isso NÃO é para ser uma lição na análise de séries temporais, mas se você quiser, Curso: loz Baby etapas. Sua primeira sessão R. Get confortável, em seguida, iniciá-la e tentar alguma adição simples: Ok, agora você é um uso especialista R. Estavam indo para obter astsa agora: Agora que você está carregado, podemos começar. Vamos em primeiro lugar, jogar bem com o Johnson Johnson Johnson conjunto de dados. Seu incluído em astsa como jj. Esse personagem dynOmite de Good Times. Primeiro, olhe para ele. E você vê que jj é uma coleção de 84 números chamados um objeto de série de tempo. Seeremove seus objetos: Se você é um usuário Matlab (ou similar), você pode pensar jj é um vetor 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 para que você tenha que ter cuidado. Em R, as matrizes têm dimensões, mas os vetores não - elas apenas se assemelham ao ciberespaço. Agora, vamos fazer um objeto série mensal série que começa em junho do ano 2293. Nós entramos no Vortex. Observe que os dados Johnson e Johnson são ganhos trimestrais, portanto tem freqüência4. A série de tempo zardoz é mensal dados, portanto, tem frequency12. 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 dará. Para obter detalhes, consulte a página de Quick Fix Graphics. Isto vai para o resto das parcelas que você verá aqui. Experimente estes e veja o que acontece: e enquanto você está aqui, confira plot. ts e ts. plot. Observe que se seus dados forem um objeto de série temporal, plot () fará o truque (para um gráfico de tempo simples, ou seja). Caso contrário, plot. ts () irá coagir o gráfico em um gráfico de tempo. Como sobre filtrações alisar a série Johnson Johnson amp usando uma média móvel de dois lados Vamos tentar 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ê sabe a rotina) cabido para o divertimento. Permite a diferença dos dados registrados e chamá-lo dljj. Então jogue bem com dljj. Agora um histograma e um enredo Q-Q, um em cima do outro (mas de uma forma agradável): Vamos verificar a estrutura de correlação de dljj usando várias técnicas. Primeiramente, olhe bem uma grade de scatterplots de dljj (t) contra valores retardados. As linhas são um ajuste lowess ea amostra acf é azul na caixa. Agora vamos dar uma olhada no ACF e PACF de dljj. Observe que o eixo LAG é em termos de freqüência. Assim 1,2,3,4,5 correspondem aos retornos 4,8,12,16,20 porque a frequência4 aqui. Se você não gosta deste tipo de rotulagem, você pode substituir dljj em qualquer um dos acima por ts (dljj, freq1), p. Acf (ts (dljj, freq1), 20) Movendo-se, vamos tentar uma decomposição estrutural de log (jj) estação tendência erro usando lowess. Se você quiser inspecionar os resíduos, por exemplo, eles estão em dogtime. series, 3. A terceira coluna da série resultante (os componentes sazonais e de tendência estão nas colunas 1 e 2). Confira o ACF dos resíduos, acf (dogtime. series, 3) os resíduos arent branco - nem mesmo perto. Você pode fazer um pouco (muito pouco) melhor usando uma janela sazonal local, ao contrário do global usado por especificando per. Digite stl para obter detalhes. Há também algo chamado StructTS que vai caber modelos paramétricos estruturais. Nós não usamos essas funções no texto quando apresentamos modelagem estrutural 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 que contém um monte de coisas (termo técnico). Se você digitar dog. Você verá os componentes, e se você digitar resumo (cão) youll 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 cão do objeto. Você escreve dogtime. series (e você verá 3 séries, a última das quais contém os resíduos). E essa é a história de. Você verá mais exemplos enquanto nós nos movemos longitudinalmente. E agora vamos fazer um problema do Capítulo 2. Vamos ajustar 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 trimestre i 1,2,3,4 . Em seguida, inspecione bem os resíduos. Você pode ver a matriz do modelo (com as variáveis ​​dummy) desta maneira: Agora verifique o que aconteceu. Observe um gráfico das observações e seus valores ajustados: o que mostra que um gráfico dos dados com o ajuste sobreposto não vale o ciberespaço que ele ocupa. Mas uma parcela dos resíduos e do ACF dos resíduos vale o seu peso em joules: Será que os resíduos olhar branco Ignore a correlação de 0 lag, é sempre 1. Dica: A resposta é NÃO. Então a regressão acima é nugatória. Então, qual é o remédio? Desculpe, você terá que tomar a aula porque esta não é uma lição em séries temporais. Eu o avisei no topo. Você tem que ter cuidado quando você regredir uma série de tempo em componentes defasados ​​de outro usando lm (). Existe um pacote chamado dynlm que facilita o ajuste de regressões defasadas e discuto isso logo após este exemplo. Se você usar lm (). Então o que você tem que fazer é amarrar a série usando ts. intersect. Se você não amarrar a série juntos, eles não serão alinhados corretamente. Heres um exemplo que regressa a mortalidade cardiovascular semanal (cmort) na poluição particulate (parte) no valor atual e retardou quatro semanas (aproximadamente um mês). Para obter detalhes sobre o conjunto de dados, consulte o Capítulo 2. Verifique se o astsa está carregado. Nota: Não houve necessidade de renomear lag (part, -4) para part4. É apenas um exemplo do que você pode fazer. Uma alternativa para o acima é o dynlm pacote que tem de ser instalado, é claro (como fizemos para astsa lá em cima no início). Depois que o pacote é instalado, você pode fazer o exemplo anterior da seguinte forma: Bem, é hora de simular. O cavalo de batalha para simulações de ARIMA é arima. sim (). Aqui estão alguns exemplos de nenhuma saída é mostrada aqui assim que você está no seu próprio. Usando astsa é fácil ajustar 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 apenas não se preocupe com isso porque não vale a pena arruinar o seu dia pensando sobre isso. E sim, esses resíduos parecem brancos. Se você quiser fazer ARIMA previsão, sarima. for está incluído no astsa. E agora para alguma regressão com erros autocorrelacionados. Iriam ajustar-se ao modelo M t alfa 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 de OLS e verifique os resíduos: Agora ajuste o modelo A análise residual (não mostrada) parece perfeita. Heres um modelo de 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 autocorrelacionada. Primeiro tentamos ARMAX (p2, q0), depois olhamos para os resíduos e percebemos que não há correlação, então foram feitos. Finalmente, uma análise espectral quicky: Isso é tudo por agora. Se você quiser mais informações sobre gráficos de séries temporais, consulte a página Graphics Quick Fix. Exemplo de série temporal Os exemplos a seguir ilustram como o XLMiner pode ser usado para explorar os dados para descobrir tendências e sazonalidades. Na faixa XLMiner, na guia Aplicando seu modelo, selecione Ajuda - Exemplos. Então Exemplos de Mineração de ForecastingData e abra o conjunto de dados de exemplo, Income. xlsx. Este conjunto de dados contém a renda média dos contribuintes por estado. Normalmente, as seguintes etapas são realizadas em uma análise de séries temporais. 1. Os dados são divididos em dois conjuntos com 60 dos dados atribuídos ao conjunto de treino e 40 atribuídos ao conjunto de validação. 2. Técnicas exploratórias são aplicadas aos Conjuntos de Treinamento e Validação. Se os resultados estão em sincronia, o modelo pode ser ajustado. Se as parcelas ACF e PACF forem as mesmas, então o mesmo modelo pode ser usado para ambos os conjuntos. 3. O modelo é ajustado usando o método ARIMA (Autoregressive Integrated Moving Average). 4. Quando um modelo é ajustado usando o método ARIMA, XLMiner exibe as parcelas ACF e PACF para resíduos. Se estas parcelas estão na banda de UCL e LCL, então os resíduos são aleatórios eo modelo é adequado. 5. Se os resíduos não estão dentro das bandas, então existem algumas correlações, eo modelo deve ser melhorado. Primeiro, execute uma partição nos dados. Selecione uma célula dentro do conjunto de dados e, em seguida, no XLMiner ribboon, a partir da guia Time Series, selecione Partition para abrir a caixa de diálogo Time Series Partition Data. Na lista Variáveis, selecione Ano e clique em gt para mover para Variável de hora. Selecione as variáveis ​​restantes na lista Variáveis ​​e clique em gt para incluí-las na lista Variáveis ​​na lista Partição. Em Especificar opções de particionamento, selecione Especificar registros para especificar o número de registros atribuídos aos conjuntos de treinamento e validação. Em Especificar registros para particionamento, selecione Especificar registros e insira 50 para o número de registros de conjunto de treinamento e 21 para o número de registros de conjunto de validação. Se Especificar percentagens estiver selecionado em Especificar opções de particionamento, o XLMiner atribuirá uma porcentagem de registros a cada conjunto de acordo com os valores inseridos pelo usuário ou inseridos automaticamente pelo XLMiner em Especificar porcentagens para particionamento. Clique em OK. A folha de cálculo DataPartitionTS é inserida à direita da folha de cálculo Rendimento. Na saída acima, o método de particionamento é seqüencial (versus aleatório). As primeiras 50 observações foram atribuídas ao Conjunto de Treino e as restantes 21 observações foram atribuídas ao Conjunto de Validação. Selecione uma célula na planilha DataPartitionTS e, em seguida, na faixa XLMiner, na guia Série temporal, selecione ARIMA - Autocorrelações para exibir a caixa de diálogo ACF. Selecione CA como variável Selecionada, digite 10 para os parâmetros ACF para dados de treinamento e dados de validação. O traçar um gráfico ACF é selecionado por padrão. Clique em OK. A folha de cálculo ACFOutput é inserida após a folha de cálculo DataPartitionTS. Observe em cada gráfico que a autocorrelação diminui à medida que o número de atrasos aumenta. Isso sugere que existe um padrão definido em cada partição. No entanto, uma vez que o padrão não se repete, pode-se supor que nenhuma sazonalidade está incluída nos dados. Além disso, uma vez que ambos os gráficos exibem um padrão semelhante, podemos encaixar o mesmo modelo para os conjuntos de validação e formação. Clique novamente na planilha DataPartitionTS e na faixa XLMiner, na guia Série de tempo, selecione ARIMA - Autocorrelações parciais para abrir a caixa de diálogo PACF. Selecione CA na lista Variáveis ​​em Dados de Entrada e, em seguida, clique em gt para mover a variável para a Variável Selecionada. Digite 40 para Lag máximo nos parâmetros PACF para dados de treinamento e 15 para parâmetros PACF para dados de validação. O gráfico PACF do gráfico é selecionado por padrão. Clique em OK. A folha de cálculo ACFOutput é inserida directamente à direita da folha de cálculo DataPartitionTS. Ambas as parcelas PACF mostram padrões semelhantes nos conjuntos de Validação e Treinamento. Como resultado, podemos usar o mesmo modelo para ambos os conjuntos. Saída PACF para dados de treinamento Saída PACF para dados de validação A função PACF mostra um padrão definido, o que significa que há uma tendência nos dados. No entanto, como o padrão não se repete, podemos concluir que os dados não mostram qualquer sazonalidade. Tanto o ACF quanto o PACF sugerem que existe um padrão definido, mas sem qualquer sazonalidade. Ambos os conjuntos de dados exibem o mesmo comportamento nos Conjuntos de Treinamento e Validação, o que sugere que o mesmo modelo é apropriado para cada um. Agora estamos prontos para ajustar o modelo. O modelo ARIMA aceita três parâmetros: p - o número de termos autorregressivos d - o número de diferenças não sazonais, e q - o número de erros defasados ​​(médias móveis). Lembre-se que o gráfico ACF não mostrou sazonalidade nos dados, o que significa que a autocorrelação é quase estática, diminuindo com o número de atrasos aumentando. Isto sugere que se ponha q 0 uma vez que parece não haver erros defasados. O gráfico PACF exibiu um grande valor para o primeiro atraso, mas gráficos mínimos para sucessivos atrasos. Isto sugere a definição de p 1. Com a maioria dos conjuntos de dados, a definição d 1 é suficiente ou pode pelo menos ser um ponto de partida. Clique novamente na planilha DataPartitionTS e na fita XLMiner, na guia Time Series, selecione o modelo ARIMA - ARIMA para exibir a caixa de diálogo Time Series - ARIMA. Selecione CA na lista Variáveis ​​em Dados de Entrada e, em seguida, clique em gt para mover a variável para o campo Variável Selecionada. Em Parâmetros não sazonais, defina Autoregressive (p) para 1, Difference (d) para 1 e Moving Average (q) para 0. Clique em Avançado para abrir a caixa de diálogo ARIMA - Opções avançadas. Selecione Valores e resíduos adequados, Produza previsões e Relate intervalos de confiança de previsão. O nível de Confiança padrão de 95 é automaticamente inserido. A matriz de variância-covariância é selecionada por padrão. Clique em OK na caixa de diálogo ARIMA-Advanced Options e novamente na caixa de diálogo Time Series - ARIMA. XLMiner calcula e exibe vários parâmetros e gráficos em duas folhas de saída, ARIMAOutput e ARIMAResiduals. A planilha ARIMAOutput contém o modelo ARIMA, mostrado abaixo. Nesta mesma planilha, XLMiner calculou o termo constante eo termo AR1 para nosso modelo. Estes são os termos constante e f1 da equação de previsão. Veja a seguinte saída do teste Qui-quadrado. O pequeno p-valor para o termo constante (0.9704) e AR1 termo (0) sugere que o modelo é um bom ajuste para os nossos dados. Abra a folha de cálculo ARIMAResiduals. Esta tabela apresenta os valores reais e ajustados e os resíduos resultantes. Conforme mostrado no gráfico abaixo, os valores reais e previstos correspondem bastante bem. A utilidade do modelo na previsão dependerá da proximidade dos valores reais e previstos no gráfico de tempo do conjunto de validação. Em seguida, vamos ver as parcelas ACF e PACF para erros encontrados na parte inferior da planilha ARIMAOutput. Todos os atrasos, com exceção do intervalo 1, estão claramente dentro das bandas UCL e LCL. Isto indica que os resíduos são aleatórios e não estão correlacionados, que é a primeira indicação de que os parâmetros do modelo são adequados para estes dados. Consulte a tabela Previsão na planilha ARIMAOutput. A tabela mostra o valor real e previsto. Os valores inferior e superior representam os limites inferior e superior do intervalo de confiança. Há uma chance de 95 que o valor previsto caia dentro desta faixa. O gráfico de tempo para a direita indica como o modelo, que foi montado usando o Conjunto de Treinamento e realizado no Conjunto de Validação. Os valores reais e previstos são bastante próximos, o que confirma que o nosso modelo deve ser bom para a previsão. Para traçar os valores na coluna inferior e superior no mesmo gráfico, selecione o gráfico e, em seguida, na faixa Excel, selecione Design - Selecionar dados para abrir a caixa de diálogo Selecionar origem de dados. Para o intervalo de dados do gráfico, insira ARIMAOutputB56: G77. Em seguida, desmarque Erro em Entradas de Legenda. Clique em OK. Esse gráfico mostra que os valores reais e previstos estão dentro das bandas de nível de confiança 95 inferior e superior. Embora os valores reais flutuem um pouco, esses valores estão dentro do centro do intervalo. Podemos concluir a partir da saída ARIMA, que o nosso modelo usando parâmetros (1, 1, 0) foi mostrado para adequadamente ajustar os dados.

No comments:

Post a Comment