Thursday, 2 November 2017

Simple Moving Average R Project


Sma () - Média móvel simples Ivan Svetunkov 2017-01-27 A média móvel simples é um método de suavização de séries temporais e, na verdade, é uma técnica de previsão muito básica. Não precisa de estimação de parâmetros, mas sim é baseado na seleção de pedidos. É uma parte do pacote suave. Nesta vinheta, usaremos dados do pacote Mcomp, por isso é aconselhável instalá-lo. Permite carregar os pacotes necessários: você pode notar que o Mcomp depende do pacote de previsão e se você carrega tanto a previsão quanto o liso. Então você terá uma mensagem que a função forecast () está mascarada do ambiente. Não há nada para se preocupar - liso usa esta função para fins de consistência e tem exatamente a mesma previsão original () como no pacote de previsão. A inclusão desta função em liso foi feita apenas para não incluir previsões em dependências do pacote. Por padrão, o SMA faz a seleção de pedidos com base em AICc e retorna o modelo com o valor mais baixo: parece que o SMA (13) é o modelo ótimo para esta série de tempo, o que não é óbvio. Observe também que a trajetória de previsão da SMA (13) não é apenas uma linha direta. Isso ocorre porque os valores reais são usados ​​na construção de previsões de pontos até h13. Se tentarmos selecionar o pedido SMA para dados sem uma tendência substancial, então acabaremos com algum outro pedido. Por exemplo, consideremos uma série temporária sazonal N2568: Aqui acabamos com SMA (12). Observe que a ordem da média móvel corresponde à freqüência sazonal, que geralmente é um primeiro passo na decomposição clássica de séries temporais. No entanto, não temos uma média móvel centrada, lidamos com uma simples, então a decomposição não deve ser feita com base nesse modelo. Médias móveis em R No meu melhor conhecimento, R não possui uma função incorporada para calcular as 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 traçado padrão 5 funciona como esperado: plot (mav (data)). Além do número de pontos de dados sobre os quais a média, também podemos alterar o argumento lateral das funções de filtro: sides2 usa ambos os lados, sides1 usa apenas valores passados. Compartilhe isso: Publicar navegação Comentar navegação Comentar navegação Como calcular a média móvel sem usar o filtro () Há um zilhão de respostas para isso, porque sua pergunta é realmente: Como eu alisar uma série de tempo Então, você pode pesquisar palavras-chave apropriadas. Minha resposta é: não use médias móveis - isso é patéticamente antigo. Loess é uma das várias alternativas que você pode considerar. Publique no CV (stats. stackexchange) para outras alternativas estatísticas para o alisamento de séries temporais. Além disso, o quotunderstandingquot que você expressou acima é falho. As construções de tipo de aplicação são (R-level) loops. Então, você fez sua lição de casa ao ler A Intro to R (cran. r-project. orgdocmanualsR-intro. pdf) ou outros tutoriais na web. Caso contrário, faça isso antes de publicar aqui ainda. Bert Gunter Genentech Biostatistics Nonclinical (650) 467-7374 quotData não é informação. A informação não é conhecimento. E o conhecimento certamente não é sabedoria. H. Gilbert Welch No dia 17 de fevereiro de 2014, às 10:45, C O correio eletrônico enviado gt escreveu: gt Olá lista, gt Como calculo uma média móvel sem usar o filtro (). Filtro () gt não parece dar médias ponderadas. Gt gt Estou olhando para apply (), tapply. Mas nada é quotmovesquot. Gt gt Por exemplo, gt gt datlt-c (1:20) gt significa (dat1: 3) gt mean (dat 4: 6) gt mean (dat7: 9) gt mean (dat10: 12) gt gt etc. gt gt I Compreender o ponto de aplicação é evitar loops, como devo incorporar gt esta ideia no uso de uma aplicação () gt gt Obrigado, gt Mike gt gt versão HTML alternativa excluída gt gt gt email escondido lista de discussão gt stat. ethz. chmailmanlistinfor-help Gt POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html gt e forneça um código comentado, mínimo, autônomo e reprodutível. Em resposta a esta postagem por tmrsg11 Em 17 de fevereiro de 2014, às 10:45 da manhã, C W escreveu: gt Hi list, gt Como calculo uma média móvel sem usar o filtro (). Filtro () gt não parece dar médias ponderadas. Gt gt Estou olhando para apply (), tapply. Mas nada é quotmovesquot. Gt gt Por exemplo, gt gt datlt-c (1:20) gt significa (dat1: 3) gt mean (dat 4: 6) gt mean (dat7: 9) gt mean (dat10: 12) gt gt etc. gt gt I Compreender o ponto de aplicação é evitar loops, como devo incorporar gt esta ideia no uso de uma aplicação () gt Construir um vetor para agrupar e usar tapply. A divisão do módulo é um método comum para alcançar isso. Às vezes, a função seq pode ser usada se você ajustar o comprimento corretamente. Gt tapply (dat, (0: ​​(length (dat) -1)) 3, mean) 0 1 2 3 4 5 6 2.0 5.0 8.0 11.0 14.0 17.0 19.5 tapply (dat, round (seq (1, (length (dat) 3), lenlength (dat))), significa) 1 2 3 4 5 6 7 1,5 4,5 8.0 11.0 14.5 18.0 20.0 O comentário sobre a ponderação dos não parece ser exemplificado no seu exemplo. Gt Obrigado, gt Mike gt gt versão HTML alternativa excluída gt gt gt email escondido lista de discussão gt stat. ethz. chmailmanlistinfor-help gt POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html gt e forneça comentário, mínimo, auto - contido, código reprodutível. David Winsemius Alameda, CA, EUA Abrir esta postagem em exibição threaded Denunciar conteúdo como inapropriado Re: Como calcular a média móvel sem usar o filtro () Em resposta a esta postagem por Rui Barradas Para média móvel de 5 pontos, filtro (x, side2, filterrep (15, 5)), versus filtro (x, side2, filterrep (1, 5) Eles têm o mesmo efeito, uma vez que o total precisa ser 1. Gabor amp Rui: Estou ciente do pacote do zoológico, eu fiz Não quer instalar um pacote para uma função. Mesmo motivo para o pacote sos. David, obrigado, é isso que estou procurando. No dia 17 de fevereiro de 2014, às 14h07, Rui Barradas enviou um e-mail à gt, escreveu: gt Olá Gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt Ser calculado com algo como o seguinte. Gt gt s lt - (seqalong (dat) - 1) 3 gt sapply (split (dat, s), mean) gt gt gt Espero que isso ajude, gt gt Rui Barra As gt gt gt Em 17-02-2014 18:45, C W escreveu: gt gtgt Hi list, gtgt Como calculo uma média móvel sem usar o filtro (). Filtro () não parece dar médias ponderadas. Gtgt gtgt Estou olhando para apply (), tapply. Mas nada é quotmovesquot. Por exemplo, gtgt gtgt datlt-c (1:20) gtgt significa (dat1: 3) gtgt significa (dat4: 6) gtgt mean (dat7: 9) gtgt mean (dat10: 12) gtgt gtgt etc. gtgt gtgt I Entender o ponto de aplicação é evitar loops, como devo usar esta idéia no uso de uma aplicação () gtgt gtgt Obrigado, gtgt Mike gtgt gtgt alternativa versão HTML excluída gtgt gtgt gtgt email escondido lista de discussão gtgt stat. ethz. chmailmanlistinfor - Help gtgt POR FAVOR, leia o guia de publicação R-project. org gtgt posting-guide. html gtgt e forneça um código comentado, mínimo, autônomo e reprodutível. Gtgt gtgt alternativa versão HTML excluída

No comments:

Post a Comment