Tuesday 3 April 2018

Moving average forecast sas


Esta seção explica os métodos de previsão usados ​​pelo PROC FORECAST. Método STEPAR No método STEPAR, o PROC FORECAST ajusta primeiro um modelo de tendência temporal à série e faz a diferença entre cada valor e a tendência estimada. (Esse processo é chamado de desvantagem). Então, a variação restante é ajustada usando um modelo autorregressivo. O método STEPAR ajusta o processo autorregressivo aos resíduos do modelo de tendência usando um método de revisão retroativa para selecionar parâmetros. Como os parâmetros de tendência e autorregressivos são ajustados em sequência e não simultaneamente, as estimativas dos parâmetros não são ótimas no sentido estatístico. No entanto, as estimativas são geralmente próximas do ideal, e o método é computacionalmente barato. O Algoritmo STEPAR O método STEPAR consiste nas seguintes etapas computacionais: Ajustar o modelo de tendência conforme especificado pela opção TREND, utilizando a regressão de mínimos quadrados ordinários. Este passo diminui os dados. O modelo de tendência padrão para o método STEPAR é o TREND2, um modelo de tendência linear. Pegue os resíduos da etapa 1 e calcule as autocovariâncias para o número de lags especificado pela opção NLAGS. Regressar os valores atuais contra os atrasos, usando os autocovariances do passo 2 em um framework Yule-Walker. Não coloque nenhum parâmetro autoregressivo que não seja significativo no nível especificado pela opção SLENTRY. (O padrão é SLENTRY0.20.) Não introduza nenhum parâmetro autorregressivo que resulte em uma matriz Toeplitz não definitiva definida. Encontre o parâmetro autoregressivo que é menos significativo. Se o nível de significância for maior que o valor SLSTAY, remova o parâmetro do modelo. (O padrão é SLSTAY0.05.) Continue esse processo até que somente parâmetros autorregressivos significativos permaneçam. Se a opção OUTEST for especificada, grave as estimativas no conjunto de dados OUTEST. Gere as previsões usando o modelo estimado e a saída para o conjunto de dados OUT. Formar os limites de confiança combinando as variações de tendência com as variâncias autoregressivas. Valores perdidos são tolerados na série, as autocorrelações são estimadas a partir dos dados disponíveis e afuniladas, se necessário. Esse método requer pelo menos três passagens pelos dados: duas passagens para ajustar o modelo e uma terceira passagem para inicializar o processo autoregressivo e gravar no conjunto de dados de saída. Valor padrão da opção NLAGS Se a opção NLAGS não for especificada, o valor padrão da opção NLAGS será escolhido com base na frequência de dados especificada pela opção INTERVAL e no número de observações no conjunto de dados de entrada, se isso puder ser determinado antecipadamente. (PROC FORECAST não pode determinar o número de observações de entrada antes de ler os dados quando uma instrução BY ou WHERE for usada ou se os dados forem de um conjunto de dados SAS ou de um banco de dados externo. O valor NLAGS deve ser corrigido antes dos dados serem processada.) Se a opção INTERVAL for especificada, o valor NLAGS padrão incluirá atrasos de até três anos mais um, sujeito ao máximo de 13 lags ou um terço do número de observações em seu conjunto de dados, o que for menor. Se o número de observações no conjunto de dados de entrada não puder ser determinado, o valor padrão máximo de NLAGS será 13. Se a opção INTERVAL não for especificada, o padrão será NLAGS13 ou um terço do número de observações de entrada, o que for menor. Se a matriz de Toeplitz formada pela matriz de autocovariância em uma determinada etapa não for positiva, o número máximo de atrasos autorregressivos será reduzido. Por exemplo, para INTERVALQTR, o padrão é NLAGS13 (isto é,) desde que haja pelo menos 39 observações. O padrão da opção NLAGS é sempre pelo menos 3. Método EXPO A suavização exponencial é usada quando a opção METHODEXPO é especificada. O termo suavização exponencial é derivado do esquema computacional desenvolvido por Brown e outros (Brown e Meyers 1961 Brown 1962). As estimativas são calculadas com as fórmulas de atualização desenvolvidas em séries temporais de maneira semelhante à suavização. O método EXPO ajusta um modelo de tendência de forma que os dados mais recentes sejam mais pesados ​​do que os dados na primeira parte da série. O peso de uma observação é uma função geométrica (exponencial) do número de períodos que a observação se estende no passado em relação ao período atual. A função peso é onde está o número de observação da observação passada, t é o número de observação atual e é a constante de ponderação especificada com a opção WEIGHT. Você especifica o modelo com a opção TREND da seguinte forma: TREND1 especifica suavização exponencial simples (um modelo constante) TREND2 especifica suavização exponencial dupla (um modelo de tendência linear) TREND3 especifica suavização exponencial tripla (um modelo de tendência quadrático) Atualizando Equações A operação de suavização exponencial simples é expresso pela fórmula Os valores perdidos após o início da série são substituídos por valores preditos de um passo à frente e o valor previsto é então aplicado às equações de suavização. Os parâmetros de tendência temporal polinomiais CONSTANT, LINEAR e QUAD no conjunto de dados OUTEST são calculados a partir de, e, os valores finais suavizados na observação T. a última observação usada para ajustar o modelo. No conjunto de dados OUTEST, os valores de, e são identificados por TYPES1, TYPES2 e TYPES3, respectivamente. Pesos de suavização As previsões de suavização exponencial são previsões para um processo de média móvel integrado, no entanto, o parâmetro de ponderação é especificado pelo usuário em vez de ser estimado a partir dos dados. A experiência mostrou que bons valores para a opção WEIGHT estão entre 0,05 e 0,3. Como regra geral, os pesos de suavização menores são apropriados para séries com tendência de mudança lenta, enquanto pesos maiores são apropriados para séries voláteis com uma tendência que muda rapidamente. Se não for especificado, o peso será padronizado para, onde trend é o valor da opção TREND. Isso produz padrões de WEIGHT0.2 para TREND1, WEIGHT0.10557 para TREND2 e WEIGHT0.07168 para TREND3. O procedimento do ESM pode ser usado para prever séries temporais usando suavização exponencial com pesos de suavização que são otimizados automaticamente. Veja o Capítulo 13, O Procedimento do ESM. O Sistema de Previsão de Séries Temporais fornece modelos de suavização exponencial e permite especificar ou otimizar os pesos de suavização. Veja o Capítulo 37, Introdução à Previsão de Séries Temporais, para detalhes. Limites de Confiança Os limites de confiança para as previsões de suavização exponencial são calculados como seriam para uma regressão de tendência de tempo ponderada exponencialmente, usando a suposição simplificadora de um número infinito de observações. A estimativa de variância é calculada usando o quadrado médio dos resíduos de previsão não ponderados de um passo à frente. Descrições mais detalhadas dos cálculos de previsão podem ser encontradas em Montgomery e Johnson (1976) e Brown (1962). Método WINTERS O método WINTERS usa equações de atualização semelhantes à suavização exponencial para ajustar parâmetros para o modelo. O padrão para o método WINTERS é TREND2, que produz o modelo de tendência linear padrão. Fatores sazonais A notação s (t) representa a seleção do fator sazonal usado para diferentes períodos de tempo. Por exemplo, se INTERVALDAY e SEASONSMONTH, existem 12 fatores sazonais, um para cada mês no ano, e o índice de tempo t é medido em dias. Para qualquer observação, t é determinado pela variável ID e s (t) seleciona o fator sazonal para o mês que t cai. Por exemplo, se t é 9 de fevereiro de 1993, então s (t) é o parâmetro sazonal para fevereiro. Quando há várias temporadas especificadas, s (t) é o produto dos parâmetros para as estações do ano. Por exemplo, se SEASONS (MONTH DAY), então s (t) é o produto do parâmetro sazonal para o mês que corresponde ao período teo parâmetro sazonal para o dia da semana que corresponde ao período t. Quando a opção SEASONS não é especificada, os fatores sazonais s (t) não são incluídos no modelo. Consulte a seção Especificando a sazonalidade para mais informações sobre como especificar vários fatores sazonais. Atualizando Equações Esta seção mostra as equações de atualização para o método Winters. Na fórmula a seguir, é o valor real da série no tempo t é o valor suavizado da série no tempo t é a tendência suavizada no tempo t é a tendência quadrática suavizada no momento t seleciona o valor antigo do fator sazonal que corresponde para o tempo t antes que os fatores sazonais sejam atualizados. As estimativas dos parâmetros de tendência constante, linear e quadrática são atualizadas usando as seguintes equações: onde está o fator sazonal para o mesmo dia da semana anterior. Os valores ausentes após o início da série são substituídos por valores preditos de um passo à frente e o valor previsto é substituído por x e aplicado às equações de atualização. Normalização Os parâmetros são normalizados para que os fatores sazonais de cada ciclo tenham uma média de 1,0. Essa normalização é executada após cada ciclo completo e no final dos dados. Assim, se INTERVALMONTH e SEASONSMONTH forem especificados e uma série começar com um valor de julho, os fatores sazonais para a série serão normalizados em cada observação de julho e na última observação no conjunto de dados. A normalização é realizada dividindo cada um dos parâmetros sazonais e multiplicando cada um dos parâmetros de tendência, pela média dos parâmetros sazonais não normalizados. Pesos de Suavização O peso para atualização dos fatores sazonais é dado pelo terceiro valor especificado na opção WEIGHT. Se a opção WEIGHT não for usada, o padrão será 0,25 se a opção WEIGHT for usada, mas não especificar um terceiro valor, e o padrão será. O peso para atualização dos parâmetros de tendência linear e quadrática, é dado pelo segundo valor especificado na opção WEIGHT, se a opção WEIGHT não especificar um segundo valor, e o padrão será. O peso de atualização para o parâmetro constante, é dado pelo primeiro valor especificado na opção WEIGHT. Como regra geral, os pesos de suavização menores são apropriados para séries com tendência de mudança lenta, enquanto pesos maiores são apropriados para séries voláteis com uma tendência que muda rapidamente. Se a opção WEIGHT não for usada, o padrão será (), onde trend é o valor da opção TREND. Isso produz padrões de WEIGHT0.2 para TREND1, WEIGHT0.10557 para TREND2 e WEIGHT0.07168 para TREND3. O procedimento do ESM e o Sistema de Previsão de Séries Temporais fornecem a geração de modelos de previsão que usam o Método Winters e permitem especificar ou otimizar os pesos. (Consulte o Capítulo 13, O Procedimento do ESM e o Capítulo 37, Introdução à Previsão de Séries Temporais, para obter detalhes.) Limites de Confiança Um método para calcular limites de confiança de previsão exatos para o método WINTERS não está disponível. Portanto, a abordagem adotada no PROC FORECAST é assumir que os fatores sazonais verdadeiros têm pequena variabilidade em relação a um conjunto de fatores sazonais fixos e que a variação restante da série é pequena em relação ao nível médio da série. As equações são escritas Os limites de confiança de suavização exponencial são baseados em uma aproximação a um modelo de regressão ponderada, enquanto os limites de confiança anteriores de Winters são baseados em uma aproximação a um modelo ARIMA. Você pode usar METHODWINTERS sem a opção SEASONS para fazer suavização exponencial e obter limites de confiança para as previsões da EXPO com base na aproximação do modelo ARIMA. Estes são geralmente mais pessimistas do que os limites de confiança de regressão ponderada produzidos pelo METHODEXPO. Método ADDWINTERS O método ADDWINTERS é como o método WINTERS, exceto que os parâmetros sazonais são adicionados à tendência em vez de serem multiplicados pela tendência. O modelo padrão TREND2 é o seguinte: O método WINTERS para atualização dos cálculos de equação e limites de confiança descritos na seção anterior é modificado de acordo com a versão aditiva. Suavização exponencial de dois parâmetros Holt Se os fatores sazonais forem omitidos (ou seja, se a opção SEASONS não for especificada), o método WINTERS (e ADDWINTERS) será reduzido à versão de dois parâmetros Holt da suavização exponencial. Assim, o método WINTERS é muitas vezes referido como o método Holt-Winters. A suavização exponencial dupla é um caso especial do suavizador de dois parâmetros Holt. Os resultados de suavização exponencial dupla podem ser duplicados com METHODWINTERS omitindo a opção SEASONS e definindo adequadamente a opção WEIGHT. Letting e, as seguintes declarações produzem as mesmas previsões: Embora as previsões sejam as mesmas, os limites de confiança são calculados de forma diferente. Escolha de pesos para os métodos EXPO, WINTERS e ADDWINTERS Para os métodos EXPO, WINTERS e ADDWINTERS, os pesos de alisamento escolhidos de maneira apropriada são de importância crítica na geração de resultados razoáveis. Existem vários fatores a serem considerados na escolha dos pesos. Quanto mais ruidosos forem os dados, menor deverá ser o peso dado à observação mais recente. Outro fator a considerar é a rapidez com que a média da série temporal está mudando. Se a média da série estiver mudando rapidamente, relativamente mais peso deve ser dado à observação mais recente. Quanto mais estável a série ao longo do tempo, menor deve ser o peso dado à observação mais recente. Observe que os pesos de suavização devem ser definidos separadamente para cada série de pesos que produzem bons resultados para uma série e podem ser ruins para outra série. Como o PROC FORECAST não possui um recurso para usar pesos diferentes para séries diferentes, ao prever várias séries com o método EXPO, WINTERS ou ADDWINTERS, pode ser desejável usar etapas diferentes de PROEC FORECAST com diferentes opções de WEIGHT. Para o método Winters, muitas combinações de valores de peso podem produzir modelos instáveis ​​não reversíveis, embora todos os três pesos estejam entre 0 e 1. Quando o modelo não é reversível, as previsões dependem fortemente de valores no passado distante e as predições são determinadas em grande parte os valores iniciais. Modelos instáveis ​​geralmente produzem previsões ruins. O modelo Winters pode ficar instável mesmo se os pesos forem escolhidos de forma ideal para minimizar o MSE no exemplo. Veja Archibald (1990) para uma discussão detalhada da região instável do espaço de parâmetros do modelo Winters. Pesos e previsões ideais para modelos de suavização exponencial podem ser calculados usando os procedimentos ESM e ARIMA e pelo Sistema de Previsão de Séries Temporais. Valores Iniciais para os Métodos EXPO, WINTERS e ADDWINTERS O método de suavização exponencial requer valores iniciais para os valores suavizados, e. Os métodos Winters e aditivo Winters exigem valores iniciais para os coeficientes de tendência e fatores sazonais. Por padrão, os valores iniciais para os parâmetros de tendência são calculados por uma regressão de tendência de tempo durante as primeiras observações para a série. Alternativamente, você pode especificar o valor inicial para os parâmetros de tendência com as opções ASTART, BSTART e CSTART. O número de observações usadas na regressão de tendência temporal para valores iniciais depende da opção NSTART. Para METHODEXPO, os valores iniciais da série NSTART são usados, e os coeficientes da regressão de tendência temporal são então usados ​​para formar os valores suavizados iniciais,, e. Para METHODWINTERS ou METHODADDWINTERS, n ciclos sazonais completos são usados ​​para calcular os valores iniciais para o parâmetro de tendência, onde n é o valor da opção NSTART. Por exemplo, para dados mensais, o ciclo sazonal é de um ano, portanto, NSTART2 especifica que as primeiras 24 observações no início de cada série são usadas para a regressão de tendência temporal usada para calcular os valores iniciais. Os valores iniciais para os fatores sazonais dos métodos WINTERS e ADDWINTERS são calculados a partir de médias sazonais nos primeiros ciclos sazonais completos no início da série. O número de ciclos sazonais calculados para computar os fatores sazonais iniciais é controlado pela opção NSSTART. Por exemplo, para dados mensais com SEASONS12 ou SEASONSMONTH, os valores dos primeiros n de janeiro são calculados para obter o valor inicial para o parâmetro sazonal de janeiro, em que n é o valor da opção NSSTART. Os parâmetros sazonais são definidos para a razão (para WINTERS) ou diferença (para ADDWINTERS) da média da estação para a média geral das observações usadas para calcular os valores iniciais sazonais. Por exemplo, se METHODWINTERS, INTERVALDAY, SEASON (MONTH DAY) e NSTART2 (o padrão), o parâmetro sazonal inicial para janeiro é a relação entre o valor médio durante os dias nos dois primeiros meses após o início da série (ou seja, , após o primeiro valor não omitido) para o valor médio de todos os dias lidos para inicialização dos fatores sazonais. Da mesma forma, o fator inicial para os domingos é a relação entre o valor médio para os domingos e a média de todos os dias lidos. Para as opções ASTART, BSTART e CSTART, os valores especificados são associados às variáveis ​​na instrução VAR na ordem em que as variáveis ​​são listadas (o primeiro valor com a primeira variável, o segundo valor com a segunda variável, e assim em). Se houver menos valores que variáveis, os valores iniciais padrão serão usados ​​para as variáveis ​​posteriores. Se houver mais valores que variáveis, os valores extras serão ignorados. Movendo modelos de suavização média e exponencial Como um primeiro passo para ir além dos modelos de média, modelos de passeio aleatório e modelos de tendências lineares, padrões e tendências não sazonais podem ser extrapolados usando modelo de média ou suavização. A suposição básica por trás dos modelos de média e suavização é que a série temporal é localmente estacionária com uma média de variação lenta. Assim, tomamos uma média móvel (local) para estimar o valor atual da média e, em seguida, usamos isso como a previsão para o futuro próximo. Isso pode ser considerado como um compromisso entre o modelo de média e o modelo de passeio aleatório sem deriva. A mesma estratégia pode ser usada para estimar e extrapolar uma tendência local. Uma média móvel é muitas vezes chamada de uma versão quotsmoothed da série original porque a média de curto prazo tem o efeito de suavizar os solavancos da série original. Ao ajustar o grau de suavização (a largura da média móvel), podemos esperar encontrar algum tipo de equilíbrio ideal entre o desempenho dos modelos de caminhada média e aleatória. O tipo mais simples de modelo de média é o. Média Móvel Simples (igualmente ponderada): A previsão para o valor de Y no tempo t1 que é feito no tempo t é igual à média simples das observações mais recentes: (Aqui e em outros lugares eu usarei o símbolo 8220Y-hat8221 para ficar para uma previsão da série temporal Y feita o mais cedo possível por um dado modelo.) Esta média é centrada no período t - (m1) / 2, o que implica que a estimativa da média local tenderá a ficar atrás da valor verdadeiro da média local em cerca de (m1) / 2 períodos. Assim, dizemos que a idade média dos dados na média móvel simples é (m1) / 2 em relação ao período para o qual a previsão é calculada: é a quantidade de tempo que as previsões tenderão a ficar para trás nos pontos de virada no dados. Por exemplo, se você está calculando a média dos últimos 5 valores, as previsões serão aproximadamente 3 períodos mais tarde para responder aos pontos de virada. Observe que, se m1, o modelo de média móvel simples (SMA) é equivalente ao modelo de passeio aleatório (sem crescimento). Se m é muito grande (comparável à duração do período de estimativa), o modelo SMA é equivalente ao modelo de média. Como acontece com qualquer parâmetro de um modelo de previsão, é costume ajustar o valor de k para obter o melhor quotfit dos dados, ou seja, os menores erros de previsão, em média. Aqui está um exemplo de uma série que parece exibir flutuações aleatórias em torno de uma média de variação lenta. Primeiro, vamos tentar ajustá-lo com um modelo de passeio aleatório, o que equivale a uma média móvel simples de 1 termo: o modelo de passeio aleatório responde muito rapidamente a mudanças na série, mas ao fazê-lo ele escolhe muito da cotação na série. dados (as flutuações aleatórias), bem como o quotsignalquot (a média local). Se, em vez disso, tentarmos uma média móvel simples de 5 termos, obteremos um conjunto de previsões mais suave: a média móvel simples de 5 termos gera erros significativamente menores do que o modelo de passeio aleatório nesse caso. A idade média dos dados nesta previsão é de 3 ((51) / 2), de modo que ela tende a ficar atrás de pontos de virada em cerca de três períodos. (Por exemplo, uma desaceleração parece ter ocorrido no período 21, mas as previsões não mudam até vários períodos depois.) Observe que as previsões de longo prazo do modelo SMA são uma linha reta horizontal, assim como no passeio aleatório. modelo. Assim, o modelo SMA assume que não há tendência nos dados. No entanto, enquanto as previsões do modelo de passeio aleatório são simplesmente iguais ao último valor observado, as previsões do modelo SMA são iguais a uma média ponderada de valores recentes. Os limites de confiança calculados pela Statgraphics para as previsões de longo prazo da média móvel simples não aumentam à medida que o horizonte de previsão aumenta. Isso obviamente não está correto Infelizmente, não há uma teoria estatística subjacente que nos diga como os intervalos de confiança devem se ampliar para esse modelo. No entanto, não é muito difícil calcular estimativas empíricas dos limites de confiança para as previsões de horizonte mais longo. Por exemplo, você poderia configurar uma planilha na qual o modelo do SMA seria usado para prever duas etapas à frente, três etapas à frente etc. na amostra de dados históricos. Você poderia calcular os desvios padrão da amostra dos erros em cada horizonte de previsão e, em seguida, construir intervalos de confiança para previsões de prazo mais longo adicionando e subtraindo múltiplos do desvio padrão apropriado. Se tentarmos uma média móvel simples de 9 termos, obteremos previsões ainda mais suaves e mais um efeito retardado: a idade média é agora de 5 períodos ((91) / 2). Se tomarmos uma média móvel de 19 anos, a idade média aumentará para 10: observe que, de fato, as previsões agora estão atrasadas em relação aos pontos de virada em cerca de 10 períodos. Que quantidade de suavização é melhor para esta série? Aqui está uma tabela que compara suas estatísticas de erro, incluindo também uma média de três termos: Modelo C, a média móvel de 5 termos, produz o menor valor de RMSE por uma pequena margem sobre os 3 A médio e médio prazo, e as outras estatísticas são quase idênticas. Assim, entre os modelos com estatísticas de erros muito semelhantes, podemos escolher se preferiríamos um pouco mais de capacidade de resposta ou um pouco mais de suavidade nas previsões. (Voltar ao topo da página.) Suavização exponencial simples de Browns (média móvel exponencialmente ponderada) O modelo de média móvel simples descrito acima tem a propriedade indesejável de tratar as últimas k observações igualmente e ignorar completamente todas as observações anteriores. Intuitivamente, os dados passados ​​devem ser descontados de forma mais gradual - por exemplo, a observação mais recente deve ter um pouco mais de peso do que o segundo mais recente, e o segundo mais recente deve ter um pouco mais de peso que o terceiro mais recente. em breve. O simples modelo de suavização exponencial (SES) faz isso. Seja 945 denotar uma constante de quotsmoothing (um número entre 0 e 1). Uma maneira de escrever o modelo é definir uma série L que representa o nível atual (ou seja, o valor médio local) da série, conforme estimado a partir dos dados até o presente. O valor de L no tempo t é computado recursivamente a partir de seu próprio valor anterior como este: Assim, o valor atual suavizado é uma interpolação entre o valor suavizado anterior e a observação atual, onde 945 controla a proximidade do valor interpolado com o mais recente. observação. A previsão para o próximo período é simplesmente o valor atual suavizado: equivalentemente, podemos expressar a próxima previsão diretamente em termos de previsões anteriores e observações anteriores, em qualquer uma das seguintes versões equivalentes. Na primeira versão, a previsão é uma interpolação entre previsão anterior e observação anterior: Na segunda versão, a próxima previsão é obtida ajustando a previsão anterior na direção do erro anterior por um valor fracionário 945. é o erro feito em tempo t. Na terceira versão, a previsão é uma média móvel exponencialmente ponderada (ou seja, com desconto) com fator de desconto 1- 945: A versão de interpolação da fórmula de previsão é a mais simples de usar se você estiver implementando o modelo em uma planilha: ela se encaixa em um célula única e contém referências de célula apontando para a previsão anterior, a observação anterior e a célula onde o valor de 945 é armazenado. Observe que, se 945 1, o modelo SES é equivalente a um modelo de passeio aleatório (sem crescimento). Se 945 0, o modelo SES é equivalente ao modelo da média, assumindo que o primeiro valor suavizado é definido como igual à média. (Retornar ao início da página.) A idade média dos dados na previsão de suavização exponencial simples é 1/945 em relação ao período para o qual a previsão é calculada. (Isso não deve ser óbvio, mas pode ser facilmente demonstrado pela avaliação de uma série infinita.) Assim, a previsão da média móvel simples tende a ficar para trás em pontos de virada em cerca de 1/945. Por exemplo, quando 945 0,5 o atraso é de 2 períodos quando 945 0,2 o atraso é de 5 períodos quando 945 0,1 o atraso é de 10 períodos e assim por diante. Para uma determinada idade média (ou seja, quantidade de defasagem), a previsão de suavização exponencial simples (SES) é um pouco superior à previsão de média móvel simples (SMA) porque coloca relativamente mais peso na observação mais recente - isto é. é ligeiramente mais sensível às mudanças que ocorreram no passado recente. Por exemplo, um modelo SMA com 9 termos e um modelo SES com 945 0.2 ambos têm uma idade média de 5 para os dados em suas previsões, mas o modelo SES coloca mais peso nos últimos 3 valores do que o modelo SMA e no mesmo tempo, ele não ignora inteiramente os valores acima de 9 períodos, como mostrado neste gráfico: Outra importante vantagem do modelo SES sobre o modelo SMA é que o modelo SES usa um parâmetro de suavização que é continuamente variável, para que possa ser facilmente otimizado usando um algoritmo quotsolverquot para minimizar o erro quadrático médio. O valor ideal de 945 no modelo SES para esta série é 0.2961, como mostrado aqui: A idade média dos dados nesta previsão é de 1 / 0.2961 3.4 períodos, o que é similar ao de um movimento simples de 6 termos. média. As previsões de longo prazo do modelo SES são uma linha reta horizontal. como no modelo SMA e no modelo de passeio aleatório sem crescimento. No entanto, observe que os intervalos de confiança calculados pela Statgraphics agora divergem de maneira razoável, e que eles são substancialmente mais estreitos do que os intervalos de confiança para o modelo de passeio aleatório. O modelo SES assume que a série é um pouco mais "previsível" do que o modelo de passeio aleatório. Um modelo SES é, na verdade, um caso especial de um modelo ARIMA. Portanto, a teoria estatística dos modelos ARIMA fornece uma base sólida para calcular os intervalos de confiança para o modelo SES. Em particular, um modelo SES é um modelo ARIMA com uma diferença não sazonal, um termo MA (1) e nenhum termo constante. também conhecido como um modelo quotARIMA (0,1,1) sem constante. O coeficiente MA (1) no modelo ARIMA corresponde à quantidade 1-945 no modelo SES. Por exemplo, se você ajustar um modelo ARIMA (0,1,1) sem constante para as séries aqui analisadas, o coeficiente estimado MA (1) será 0,7029, que é quase exatamente um menos 0,2961. É possível adicionar a suposição de uma tendência linear constante diferente de zero a um modelo SES. Para fazer isso, basta especificar um modelo ARIMA com uma diferença não-sazonal e um termo MA (1) com uma constante, ou seja, um modelo ARIMA (0,1,1) com constante. As previsões a longo prazo terão então uma tendência que é igual à tendência média observada ao longo de todo o período de estimativa. Você não pode fazer isso em conjunto com o ajuste sazonal, porque as opções de ajuste sazonal são desabilitadas quando o tipo de modelo é definido como ARIMA. No entanto, você pode adicionar uma tendência exponencial constante de longo prazo a um modelo de suavização exponencial simples (com ou sem ajuste sazonal) usando a opção de ajuste de inflação no procedimento Previsão. A taxa de "inflação" por período pode ser estimada como o coeficiente de inclinação em um modelo de tendência linear ajustado aos dados em conjunto com uma transformação logarítmica natural, ou pode ser baseado em outra informação independente sobre perspectivas de crescimento a longo prazo. . (Voltar ao topo da página) Browns Linear (ie double) Suavização exponencial Os modelos SMA e modelos SES assumem que não há tendência de nenhum tipo nos dados (o que é normalmente OK ou pelo menos não muito mau para 1- previsões antecipadas quando os dados são relativamente ruidosos), e elas podem ser modificadas para incorporar uma tendência linear constante como mostrado acima. E as tendências de curto prazo Se uma série exibe uma taxa variável de crescimento ou um padrão cíclico que se destaca claramente contra o ruído, e se há a necessidade de prever mais de um período à frente, então a estimativa de uma tendência local também pode ser um problema. O modelo de suavização exponencial simples pode ser generalizado para obter um modelo de suavização exponencial linear (LES) que calcula estimativas locais de nível e tendência. O modelo de tendência mais simples e variante no tempo é o modelo de suavização exponencial linear de Brown, que usa duas séries suavizadas diferentes que são centralizadas em diferentes pontos no tempo. A fórmula de previsão é baseada em uma extrapolação de uma linha através dos dois centros. (Uma versão mais sofisticada deste modelo, Holt8217s, é discutida abaixo.) A forma algébrica do modelo de suavização exponencial linear de Brown8217s, como o modelo de suavização exponencial simples, pode ser expressa em várias formas diferentes, mas equivalentes. A forma "padrão" deste modelo é geralmente expressa da seguinte forma: Seja S a série suavemente obtida pela aplicação da suavização exponencial simples à série Y. Ou seja, o valor de S no período t é dado por: (Lembre-se que, sob simples suavização exponencial, essa seria a previsão para Y no período t1.) Então, Squot denota a série suavizada duplamente obtida aplicando suavização exponencial simples (usando o mesmo 945) à série S: Finalmente, a previsão para Y tk. para qualquer kgt1, é dado por: Isto produz e 1 0 (isto é, trapaceie um pouco, e deixe a primeira previsão igual à primeira observação real), e e 2 Y 2 8211 Y 1. após o qual as previsões são geradas usando a equação acima. Isto produz os mesmos valores ajustados que a fórmula baseada em S e S se estes últimos foram iniciados usando S 1 S 1 Y 1. Esta versão do modelo é usada na próxima página que ilustra uma combinação de suavização exponencial com ajuste sazonal. Holt8217s Linear Exponential Smoothing O modelo Brown8217s LES calcula as estimativas locais de nível e tendência suavizando os dados recentes, mas o fato de fazer isso com um único parâmetro de suavização impõe uma restrição nos padrões de dados que ele pode ajustar: o nível e a tendência não é permitido variar em taxas independentes. O modelo LES de Holt8217s resolve esse problema incluindo duas constantes de suavização, uma para o nível e outra para a tendência. A qualquer momento t, como no modelo Brown8217s, existe uma estimativa L t do nível local e uma estimativa T t da tendência local. Aqui eles são calculados recursivamente a partir do valor de Y observado no tempo t e as estimativas anteriores do nível e da tendência por duas equações que aplicam suavização exponencial a elas separadamente. Se o nível e tendência estimados no tempo t-1 são L t82091 e T t-1. respectivamente, então a previsão para Y tshy que teria sido feita no tempo t-1 é igual a L t-1 T t-1. Quando o valor real é observado, a estimativa atualizada do nível é computada de forma recursiva pela interpolação entre Y tshy e sua previsão, L t-1 T t-1, usando pesos de 945 e 1- 945. A mudança no nível estimado, ou seja, L t 8209 L t82091. pode ser interpretado como uma medida ruidosa da tendência no tempo t. A estimativa atualizada da tendência é então calculada recursivamente pela interpolação entre L t 8209 L t82091 e a estimativa anterior da tendência, T t-1. usando pesos de 946 e 1-946: A interpretação da constante de suavização de tendência 946 é análoga àquela da constante de suavização de nível 945. Modelos com valores pequenos de 946 assumem que a tendência muda apenas muito lentamente com o tempo, enquanto modelos com maiores 946 assumem que está mudando mais rapidamente. Um modelo com um grande 946 acredita que o futuro distante é muito incerto, porque os erros na estimativa de tendência tornam-se bastante importantes na previsão de mais de um período à frente. (Retornar ao início da página.) As constantes de suavização 945 e 946 podem ser estimadas da maneira usual minimizando o erro quadrático médio das previsões de 1 passo à frente. Quando isso é feito na Statgraphics, as estimativas são de 945 0,3048 e 946 0,008. O valor muito pequeno de 946 significa que o modelo assume muito pouca mudança na tendência de um período para o outro, então basicamente esse modelo está tentando estimar uma tendência de longo prazo. Por analogia com a noção da idade média dos dados que é usada na estimativa do nível local da série, a idade média dos dados que é usada na estimativa da tendência local é proporcional a 1/946, embora não exatamente igual a isto. Neste caso, isto é 1 / 0,006 125. Isto não é um número muito preciso na medida em que a precisão da estimativa de 946 não é realmente 3 casas decimais, mas é da mesma ordem geral de magnitude que o tamanho da amostra de 100 Portanto, esse modelo está calculando a média de muito da história na estimativa da tendência. O gráfico de previsão abaixo mostra que o modelo LES estima uma tendência local ligeiramente maior no final da série do que a tendência constante estimada no modelo SEStrend. Além disso, o valor estimado de 945 é quase idêntico ao obtido pelo ajuste do modelo SES com ou sem tendência, portanto, esse é quase o mesmo modelo. Agora, essas parecem previsões razoáveis ​​para um modelo que deveria estar estimando uma tendência local? Se você planeja esse gráfico, parece que a tendência local diminuiu no final da série O que aconteceu Os parâmetros deste modelo foram estimados minimizando o erro quadrado das previsões em 1 passo à frente, e não as previsões a longo prazo, caso em que a tendência não faz muita diferença. Se tudo o que você está vendo são erros de 1 passo à frente, você não está vendo a imagem maior das tendências em (digamos) 10 ou 20 períodos. A fim de obter este modelo mais em sintonia com a extrapolação dos dados do nosso globo ocular, podemos ajustar manualmente a constante de suavização de tendência para que ela use uma linha de base mais curta para a estimativa de tendência. Por exemplo, se escolhermos definir 946 0,1, a idade média dos dados usados ​​na estimativa da tendência local é de 10 períodos, o que significa que estamos calculando a média dos últimos 20 períodos. Aqui está o que o gráfico de previsão parece se definirmos 946 0.1 enquanto mantemos 945 0.3. Isto parece intuitivamente razoável para esta série, embora seja provavelmente perigoso extrapolar esta tendência mais do que 10 períodos no futuro. E as estatísticas de erro Aqui está uma comparação de modelo para os dois modelos mostrados acima, bem como três modelos SES. O valor ideal de 945 para o modelo SES é de aproximadamente 0,3, mas resultados semelhantes (com uma maior ou menor responsividade, respectivamente) são obtidos com 0,5 e 0,2. (A) exp. Linear de Holts alisamento com alfa 0,3048 e beta 0,008 (B) Holts linear exp. alisamento com alpha 0.3 e beta 0.1 (C) Alisamento exponencial simples com alpha 0.5 (D) Suavização exponencial simples com alpha 0.3 (E) Suavização exponencial simples com alpha 0.2 Suas estatísticas são quase idênticas, então nós realmente podemos fazer a escolha com base de erros de previsão em um passo à frente na amostra de dados. Temos que recorrer a outras considerações. Se acreditamos firmemente que faz sentido basear a estimativa de tendência atual no que aconteceu nos últimos 20 períodos, podemos fazer um caso para o modelo LES com 945 0.3 e 946 0.1. Se quisermos sermos agnósticos quanto à existência de uma tendência local, então um dos modelos do SES poderá ser mais fácil de explicar e também fornecerá mais previsões do meio do caminho para os próximos 5 ou 10 períodos. (Voltar ao topo da página.) Qual tipo de extrapolação de tendência é melhor: horizontal ou linear Evidências empíricas sugerem que, se os dados já foram ajustados (se necessário) para a inflação, então pode ser imprudente extrapolar o linear de curto prazo tendências muito longe no futuro. Tendências evidentes hoje podem afrouxar no futuro devido a causas variadas, como obsolescência do produto, aumento da concorrência e desacelerações cíclicas ou retomadas em uma indústria. Por essa razão, a suavização exponencial simples geralmente tem melhor desempenho fora da amostra do que seria esperado, apesar de sua extrapolação de tendência horizontal cotativa. Modificações de tendências amortecidas do modelo de suavização exponencial linear também são frequentemente usadas na prática para introduzir uma nota de conservadorismo em suas projeções de tendência. O modelo LES de tendência amortecida pode ser implementado como um caso especial de um modelo ARIMA, em particular, um modelo ARIMA (1,1,2). É possível calcular intervalos de confiança em torno de previsões de longo prazo produzidas por modelos de suavização exponencial, considerando-os como casos especiais de modelos ARIMA. (Cuidado: nem todos os softwares calculam intervalos de confiança para esses modelos corretamente.) A largura dos intervalos de confiança depende (i) do erro RMS do modelo, (ii) do tipo de suavização (simples ou linear) (iii) do valor (s) da (s) constante (s) de suavização e (iv) o número de períodos à frente que você está prevendo. Em geral, os intervalos se espalham mais rápido à medida que o 945 se torna maior no modelo SES e eles se espalham muito mais rápido quando a suavização linear é usada. Este tópico é discutido mais adiante na seção de modelos ARIMA das notas. (Retornar ao topo da página.) Como parte da minha previsão, estou usando uma média móvel baseada em três observações. Calculando isso no SAS eu consegui fazer isso apenas para dados de resultados e não consegui fazer isso para dados de previsão. A média móvel para um mês específico deve ser a média dos mesmos meses, três anos atrás. Eu tentei diferentes tipos de sintaxe, mas não encontrei nada que faça um cálculo correto para os valores depois de maio de 2014 (meu último resultado). Essa sintaxe cria valores corretos até maio de 2014. Depois disso, tudo fica em branco (criei o MA depois disso de várias maneiras, mas nunca corrijo). proc expandir dataQQQ outQQQQ transformout (reverse movave 3 reverse) Quaisquer ideias / funções que eu acho que deve funcionar a partir desta configuração. Proc expandir é bastante usado para transformar dados do que usá-lo para previsão. Se você está realmente procurando por médias móveis simples (não aquelas exponencialmente ponderadas), você poderia usar uma etapa de dados. Talvez algo como isto: Data AForecast (Dropdummy) Reter dummy Set Um dummySum (dummy, ACTUAL, - Lag3 (ACTUAL)) MovAve3GDdummy / 3 Executar p. s. O crédito vai para a SAS :-) Eu já vi esse tipo de solução. O problema, porém, é que o meu Mestrado não é tão simples como esse (eles ainda são simples, mas não o suficiente ...). Para junho de 2014, quero a média de junho de 2011-2013. E assim por diante, eu não quero apenas a média dos três últimos meses. Como posso adicionar uma instrução by e uma variável de ID à sua solução? Dê-nos um exemplo para ilustrar o seu problema. Eu posso estar completamente errado, mas eu acho: Deixe Períodos3 Deixe Lead5 Deixe Multiplicador12 / 12 meses / Dados A (Dropi j k) Formato Data Data9. Do k1 a 3 Do j1 a 5 Do i1 a 12 DateMDY (i, 1, j2000) ACTUALRound (Normal (1) k20) / k como Desvio Padrão / IDk Saída End End Finalização / simples sazonal () média móvel / Data AForecast (KeepID Date ACTUAL MovAve) Conjunto A Por ID Matriz dummy dummy12 dummy12 Matriz dummysum dummysum1-dummysum12 Matriz dummydrop dummydrop1-dummydrop12 Retém dummysum1-dummysum12 Do i1 Para 12 Se Mês (Date) eq i Então Do dummy ACTUAL dummydrop LagampCombLag. (REAL) End End If First. ID Then Do count0 Do i1 To 12 dummysum 0 End Contagem final1 Se contar gt ampCombLag. Então Do Doi 1 Para 12 dummysum Sum (dummysum, dummy, - dummydrop) Fim End Do Do Doi1 Para 12 dummysum Sum (dummysum, dummy) End End Se contar ge ampCombLag. Então Do Do1 Para 12 Se Não Faltando (dummy) Então dummysumactdummysum End MovAvedummysumact / ampPeriods. Finalizar / preencher lead / Data AForecastLead (Dropi) ID da data de retenção MveAve Definir AForecast por ID If Last. ID Então Do Output Do i1 to ampLead. DateIntNX (mês, data, 1, mesmo) ACTUAL. Output End End Output Run Obrigado udosas. Eu não poderia realmente começar com isso depois de voltar de minhas férias, mas agora eu posso encontrar algum tempo e eu já encontrei algum uso de sua resposta. No entanto, eu não estou lá ainda. Eu acho que eu não preciso de seu tipo de etapa de dados porque eu já tenho um manad de variável de data (YYMMN6. 200801-201812) e, claro, minha variável de interesse SGIRODFPANDEL (com valores de 200801 até 201405). Ao escrever meu passo timedata proc estou fazendo assim: proc timedata datahave outnull outarraywant id manad intervalMONTH do 1 para LENGTH movavg (SGIRODFPANDELt-12SGIRODFPANDELt-24SG IRODFPANDELt-36) / 3 Então eu tenho movavg valores de 201101 até 201505. Meu objetivo é no entanto para obter valores de 201406 até 201812. Portanto, desejo mover valores médios que dependam de uma mistura de valores SGIRODFPANDEL e valores de movavg e alguns que dependam apenas de valores de movavg. Isso é possível? Quando eu substituo LENGTH por outra coisa, simplesmente não funciona. O que estou fazendo errado

No comments:

Post a Comment