R Moving Average Prediction
Moving Average Forecasting Introdução. Como você pode imaginar, estamos olhando para algumas das abordagens mais primitivas para a previsão. Mas espero que estas sejam pelo menos uma introdução que vale a pena para algumas das questões de computação relacionadas com a implementação de previsões em planilhas. Neste sentido, vamos continuar a partir do início e começar a trabalhar com previsões de média móvel. Previsões médias móveis. Todo mundo está familiarizado com as previsões de média móvel, independentemente de eles acreditam que são. Todos os estudantes universitários fazê-los o tempo todo. Pense nos seus resultados de teste em um curso onde você vai ter quatro testes durante o semestre. Vamos supor que você tem um 85 em seu primeiro teste. O que você poderia prever para sua pontuação do segundo teste O que você acha que seu professor iria prever para a sua próxima pontuação de teste O que você acha que seus amigos podem prever para a sua próxima pontuação de teste O que você acha que seus pais podem prever para a sua próxima pontuação de teste Todo o blabbing você pôde fazer a seus amigos e pais, eles e seu professor são muito prováveis esperar que você comece algo na área dos 85 você apenas começ. Bem, agora vamos supor que, apesar de sua auto-promoção para seus amigos, você superestimar-se e figura que você pode estudar menos para o segundo teste e assim você começa um 73. Agora o que são todos os interessados e despreocupado vai Antecipar você vai chegar em seu terceiro teste Existem duas abordagens muito provável para eles desenvolver uma estimativa, independentemente de se eles vão compartilhar com você. Eles podem dizer a si mesmos: "Esse cara está sempre soprando fumaça sobre sua inteligência. Hes que vai obter outro 73 se hes afortunado. Talvez os pais tentem ser mais solidários e dizer: "Bem, até agora você conseguiu um 85 e um 73, então talvez você deva imaginar sobre como obter um (85 73) 2 79. Eu não sei, talvez se você fez menos festas E werent abanando a doninhas em todo o lugar e se você começou a fazer muito mais estudando você poderia obter uma pontuação mais alta. Ambos estas estimativas são, na verdade, a média móvel previsões. O primeiro é usar apenas sua pontuação mais recente para prever o seu desempenho futuro. Isso é chamado de média móvel usando um período de dados. O segundo é também uma previsão média móvel, mas usando dois períodos de dados. Vamos supor que todas essas pessoas rebentando em sua grande mente têm tipo de puto você fora e você decidir fazer bem no terceiro teste para suas próprias razões e colocar uma pontuação mais alta na frente de seus quotalliesquot. Você toma o teste e sua pontuação é realmente um 89 Todos, incluindo você mesmo, está impressionado. Então agora você tem o teste final do semestre chegando e, como de costume, você sente a necessidade de incitar todos a fazer suas previsões sobre como você vai fazer no último teste. Bem, espero que você veja o padrão. Agora, espero que você possa ver o padrão. Qual você acha que é o apito mais preciso enquanto trabalhamos. Agora vamos voltar para a nossa nova empresa de limpeza iniciada por sua meia irmã distante chamado Whistle While We Work. Você tem alguns dados de vendas anteriores representados pela seção a seguir de uma planilha. Primeiro, apresentamos os dados para uma previsão média móvel de três períodos. A entrada para a célula C6 deve ser Agora você pode copiar esta fórmula de célula para baixo para as outras células C7 a C11. Observe como a média se move sobre os dados históricos mais recentes, mas usa exatamente os três períodos mais recentes disponíveis para cada previsão. Você também deve notar que nós realmente não precisamos fazer as previsões para os períodos passados, a fim de desenvolver a nossa previsão mais recente. Isso é definitivamente diferente do modelo de suavização exponencial. Ive incluído o quotpast previsões, porque vamos usá-los na próxima página da web para medir a validade de previsão. Agora eu quero apresentar os resultados análogos para uma previsão média móvel de dois períodos. A entrada para a célula C5 deve ser Agora você pode copiar esta fórmula de célula para baixo para as outras células C6 a C11. Observe como agora apenas as duas mais recentes peças de dados históricos são usados para cada previsão. Mais uma vez eu incluí as previsões quotpast para fins ilustrativos e para uso posterior na validação de previsão. Algumas outras coisas que são de importância notar. Para uma previsão média móvel de m-período, apenas os m valores de dados mais recentes são usados para fazer a previsão. Nada mais é necessário. Para uma previsão média móvel do período m, ao fazer previsões quotpast, observe que a primeira predição ocorre no período m 1. Ambas as questões serão muito significativas quando desenvolvemos nosso código. Desenvolvendo a função de média móvel. Agora precisamos desenvolver o código para a previsão da média móvel que pode ser usado de forma mais flexível. O código segue. Observe que as entradas são para o número de períodos que você deseja usar na previsão ea matriz de valores históricos. Você pode armazená-lo em qualquer pasta de trabalho que você deseja. Função MovingAverage (Histórico, NumberOfPeriods) Como Único Declarar e inicializar variáveis Dim Item Como Variante Dim Counter Como Inteiro Dim Acumulação como Único Dim HistoricalSize As Inteiro Inicializando variáveis Counter 1 Acumulação 0 Determinando o tamanho da Historical array HistoricalSize Historical. Count For Counter 1 To NumberOfPeriods Acumulando o número apropriado dos valores mais recentes anteriormente observados Acumulação Acumulação Histórico (HistoricalSize - NumberOfPeriods Counter) MovingAverage Acumulação NumberOfPeriods O código será explicado na classe. Você deseja posicionar a função na planilha de modo que o resultado da computação apareça onde ele deve gostar do seguinte. Movendo médias em R Para o melhor de meu conhecimento, R não tem uma função interna para calcular médias móveis. Usando a função de filtro, no entanto, podemos escrever uma função curta para médias móveis: Podemos então usar a função em qualquer dado: mav (dados) ou mav (dados, 11) se quisermos especificar um número diferente de pontos de dados Do que o padrão 5 plotando obras como esperado: plot (mav (dados)). Além do número de pontos de dados sobre os quais a média, também podemos alterar o argumento de lados das funções de filtro: sides2 usa ambos os lados, sides1 usa apenas valores passados. Compartilhe: Navegação de posts Navegação de comentários Navegação de comentários Como você definiu a freqüência como 24, eu suponho que você está trabalhando com 24 horas (diariamente) por ciclo e, portanto, tem aproximadamente 2 ciclos em seu conjunto de dados históricos. De um modo geral, isto é uma amostra limitada de dados para iniciar uma previsão de séries temporais. Eu recomendaria para obter um pouco mais de dados e, em seguida, você pode fazer o modelo de previsão novamente. Quanto mais dados você tem, melhor irá capturar a sazonalidade e, portanto, prever valores futuros. Com limitado disponíveis algoritmos automáticos como auto. arima muitas vezes padrão para algo semelhante a médias móveis. Seu conjunto de dados merece algo melhor do que as médias móveis, pois há alguma sazonalidade no ciclo. Há uma série de algoritmos de previsão que poderiam ajudá-lo a obter a curva para a frente em forma de coisas melhores como Holt-Winters ou outros métodos de suavização exponencial pode ajudar. No entanto, auto. arima é uma aposta muito boa também (eu primeiro tentaria ver o que eu posso fazer com este). Obter mais dados e passar pela mesma rotina irá melhorar o seu gráfico. Pessoalmente, eu prefiro o uso de previsão sobre prever os dados parece sair um pouco mais agradável, bem como o gráfico como ele mostra seus intervalos de confiança. No código, eu também expandi o conjunto de dados um pouco, copiando os dois períodos, então temos quatro períodos. Veja o resultado abaixo: respondeu Jan 11 13 at 7:37 Jochem, esta questão é bastante antiga, pode ter havido algumas alterações nos pacotes desde que você escreveu sua resposta. Mas quando eu tento o seu código, eu ainda obter uma média móvel simples na previsão. Aqueles swigly linhas em seu gráfico não estão presentes na minha saída. Eu adicionei alguns períodos mais, mas isso só parece fazer o gráfico mais suave sensor2 lt-runif (240) amostra (0:10, 240, substituir T) sensor2 lt - ts (sensor2, freq 24) fit2 lt - auto (F2) ndash Aakash Gupta Nov 18 15 at 4:55 auto. arima () retorna o melhor modelo ARIMA de acordo com o valor AIC, AICc ou BIC. Com base em seu conjunto de dados de valor, ele provavelmente escolheu um modelo ARMA (1,0) ou AR (1) que, como você pode ver, tende a reverter para a média muito rapidamente. Isso sempre acontecerá com um modelo AR (1) a longo prazo e por isso não é muito útil se você quiser prever mais do que um par de passos à frente. Você poderia olhar a montagem de um tipo diferente de modelo, talvez, analisando o acf e pacf de seus dados de valor. Você precisaria verificar se seu modelo alternativo é um bom ajuste para os dados. Respondeu Mar 23 14 at 15:15
Comments
Post a Comment