Modelos De Previsão De Séries Temporais, Como Média Móvel De Forex


MetaTrader 4 - Negociação Previsão Financial Time-Series Introdução Este artigo trata de uma das mais populares aplicações práticas de redes neurais, a previsão de mercado de séries temporais. Neste campo, a previsão está mais estreitamente relacionada com a lucratividade e pode ser considerada como uma das actividades empresariais. A previsão de séries temporais financeiras é um elemento necessário de qualquer atividade de investimento. O conceito de investir-se - colocar dinheiro agora para ganhar lucros no futuro - é baseado no conceito de prever o futuro. Portanto, a previsão de séries temporais financeiras está subjacente às atividades de todo o setor de investimentos - todas as bolsas organizadas e outros sistemas de negociação de valores mobiliários. Vamos dar alguns números que ilustram a escala desta indústria de previsão (Sharp, 1997). O volume de negócios diário do mercado de ações dos EUA ultrapassa 10 bilhões de dólares. A Depositary Trust Company nos EUA, onde são registrados títulos no montante de 11 trilhões de dólares dos EUA (de todo o volume de 18 trilhões de dólares), marca cerca de 250 bilhões de dólares diários. Trading mundo FOREX é ainda mais ativo. Seus retornos diários superam US $ 1.000 bilhões. É aproximadamente 1/50 do capital global agregado. 99 de todas as transacções são conhecidas como especulativas, ou seja, não se destinam a servir a circulação real de mercadorias, mas são realizadas para obter lucros do esquema: compradas mais baratas e vendidas melhor. Todos eles baseiam-se nas previsões dos transacionistas sobre as mudanças de taxa feitas. Ao mesmo tempo, e é muito importante, as previsões feitas pelos participantes de cada transação são polares. Assim, o volume de transacções especulativas caracteriza a medida das discrepâncias nas previsões dos participantes no mercado, isto é, na realidade, a medida de imprevisibilidade das séries temporais financeiras. Esta propriedade mais importante da série temporal do mercado está subjacente à hipótese de mercado eficiente apresentada por Louis Bachelier em sua tese em 1900. Segundo essa doutrina, um investidor só pode esperar a rentabilidade média do mercado estimada usando índices como Dow Jones ou SampP500 Para a troca de New York). No entanto, cada lucro especulativo ocorre aleatoriamente e é semelhante a um jogo. A imprevisibilidade das curvas de mercado é determinada pela mesma razão pela qual o dinheiro pode ser mal encontrado deitado no chão em ruas movimentadas: há muitos voluntários para buscá-lo. A teoria do mercado eficiente não é suportada, muito naturalmente, pelos próprios participantes do mercado (porque eles estão exatamente em busca desse dinheiro mentiroso). A maioria deles tem certeza de que as séries temporais de mercado, embora pareçam ser estocásticas, estão cheias de regularidades ocultas, ou seja, são pelo menos parcialmente previsíveis. Foi Ralph Elliott, o fundador da análise técnica, que tentou descobrir tais regularidades empíricas escondidas nos anos 30. Nos anos 80, este ponto de vista encontrou um suporte surpreendente na teoria do caos dinâmico que tinha ocorrido pouco antes. A teoria baseia-se na oposição do estado de caos e da estocástica (aleatoriedade). As séries caóticas só parecem aleatórias, mas, como um determinado processo dinâmico, deixam bastante espaço para uma previsão de curto prazo. A área de previsões viáveis ​​é limitada no tempo pelo horizonte de previsão. Mas isso pode ser suficiente para obter lucros reais devido à previsão (Chorafas, 1994). Em seguida, aqueles que têm melhores métodos matemáticos de extrair regularidades de ruidosas séries caóticas podem esperar uma melhor taxa de lucro - à custa de seus companheiros pior equipados. Neste artigo, daremos fatos específicos confirmando a previsibilidade parcial de séries temporais financeiras e até mesmo avaliamos numericamente essa previsibilidade. Análise Técnica e Redes Neurais Nas últimas décadas, a análise técnica - um conjunto de regras empíricas baseadas em vários indicadores de comportamento de mercado - torna-se cada vez mais popular. A análise técnica concentra-se no comportamento individual de um dado valor, sem relação com outros títulos (Pring, 1991). Esta abordagem é psicologicamente baseada na concentração de corretores exatamente na segurança com que eles estão trabalhando em um dado momento. De acordo com Alexander Elder, um conhecido analista técnico (inicialmente treinado como psicoterapeuta), o comportamento da comunidade de mercado é muito semelhante ao comportamento de multidão caracterizado por leis especiais de psicologia de massa. O efeito de multidão simplifica o pensamento, reduz as peculiaridades individuais e produz as formas de comportamento coletivo e gregário mais primitivo do que o individual. Particularmente, o instinto social aumenta o papel de um líder, um alfa macho / fêmea. A curva de preços, de acordo com Elder, é exatamente esse líder focalizando a consciência coletiva de mercado sobre si mesma. Esta interpretação psicológica do comportamento do preço de mercado prova essa aplicação da teoria do caos dinâmico. A previsibilidade parcial do mercado é determinada por um comportamento coletivo relativamente primitivo de jogadores que formam um único sistema dinâmico caótico com uma quantidade relativamente pequena de graus internos de liberdade. De acordo com esta doutrina, você tem que romper com os laços da multidão, subir acima dela e se tornar mais esperto do que a multidão para ser capaz de prever as curvas do mercado. Para isso, você é suposto desenvolver um sistema de jogo avaliado no comportamento anterior de uma série de tempo e seguir este sistema estritamente, não sendo afetado por emoções e rumores que circulam em torno do mercado dado. Em outras palavras, as previsões devem ser baseadas em um algoritmo. Isto é, eles podem e mesmo devem ser entregues a um computador (LeBeau, 1992). Um homem deve apenas criar este algoritmo, para que propósito ele tem vários produtos de software que facilitam o desenvolvimento e suporte adicional de estratégias programadas baseadas em ferramentas de análise técnica. De acordo com essa lógica, por que não usar um computador na fase de desenvolvimento da estratégia, não sendo um assistente calculando os indicadores de mercado conhecidos e testando as estratégias dadas, mas encontrando indicadores ótimos e estratégias ótimas para os indicadores encontrados. Esta abordagem apoiada pela aplicação de tecnologias de redes neurais vem ganhando cada vez mais adeptos desde o início dos anos 90 (Beltratti, 1995, Baestaens, 1997), uma vez que tem várias vantagens incontestáveis. Em primeiro lugar, a análise de redes neurais, ao contrário da técnica, não assume qualquer limitação na natureza dos dados de entrada. Pode ser tanto os indicadores das séries de tempo e as informações sobre o comportamento de outros títulos de mercado. Não sem razão, são investidores institucionais (por exemplo, grandes fundos de pensão) que utilizam ativamente redes neurais. Esses investidores trabalham com grandes carteiras, para as quais as correlações entre os diferentes mercados são de primordial importância. Em segundo lugar, ao contrário da análise técnica baseada em recomendações gerais, as redes neurais podem encontrar indicadores ótimos para a dada segurança e basear neles uma estratégia de previsão ótima, novamente, para as séries temporais dadas. Além disso, essas estratégias podem ser adaptáveis. Mudando com o mercado, que é de primordial importância para os mercados jovens, dinamicamente em desenvolvimento, particularmente, para o russo. A modelagem de redes neurais sozinha baseia-se apenas em dados sem envolver quaisquer considerações a priori. Aí reside sua força e, ao mesmo tempo, seu calcanhar de Aquiles. Os dados disponíveis podem ser insuficientes para a aprendizagem, a dimensionalidade das entradas potenciais pode revelar-se demasiado elevada. Ainda neste artigo, vamos demonstrar como a experiência acumulada pela análise técnica pode ajudar a superar essas dificuldades, típicas no campo das previsões financeiras. Técnica de previsão de séries temporais Como um primeiro passo, vamos descrever o esquema geral de previsão de séries temporais usando redes neurais (Fig. 1). FIG. 1. O Esquema do Ciclo Tecnológico da Previsão das Séries Temporais. Mais adiante neste artigo, vamos discutir brevemente todas as fases deste fluxo de processo. Embora os princípios gerais da modelagem de redes neurais sejam plenamente aplicáveis ​​a essa tarefa, a previsão de séries temporais financeiras tem seu próprio caráter específico. Estas são as características específicas que serão descritas neste artigo na maior extensão possível. Técnica de Imersão. Teorema de Tackens Vamos começar com o estágio de imersão. Como veremos agora, para todas as previsões que parecem ser a extrapolação de dados, redes neurais, na verdade, resolver o problema da interpolação. O que aumenta consideravelmente a validade da solução. A previsão de uma série temporal resolve-se no problema rotineiro de análise neural - aproximação de uma função multivariável para um dado conjunto de exemplos - usando o procedimento de imersão da série temporal em um espaço multidimensional (Weigend, 1994). Por exemplo, um espaço de atraso dimensional de séries temporais consiste em valores das séries temporais em instantes de tempo consecutivos. O seguinte teorema de Tackens é provado para sistemas dinâmicos: Se uma série temporal é gerada por um sistema dinâmico, isto é, Valores de são uma função arbitrária do estado de tal sistema, existe tal profundidade de imersão (aproximadamente igual ao número efetivo de graus de liberdade deste sistema dinâmico) que fornece uma previsão inequívoca do próximo valor das séries temporais ( Sauer, 1991). Assim, tendo escolhido um bastante grande. Você pode garantir uma dependência inequívoca entre o valor futuro da série de tempo e seus valores precedentes: isto é, a predição de uma série de tempo se resolve no problema da interpolação de função multivariável. Então você pode usar a rede neural para restaurar esta função desconhecida com base em um conjunto de exemplos definidos pelo histórico desta série temporal. Pelo contrário, quanto a uma série temporal aleatória, o conhecimento do passado não fornece nenhuma sugestão útil para prever o futuro. Assim, de acordo com a teoria eficiente do mercado, a dispersão dos valores previstos das séries temporais não mudará quando se imergem no espaço lag. A diferença entre uma dinâmica caótica e um estocástico (aleatório) detectado durante a imersão é mostrada na Fig. 2. A fig. 2. A diferença entre um processo aleatório e uma dinâmica caótica detectada durante a imersão. Confirmação Empírica da Previsibilidade da Série de Tempo O método de imersão permite medir quantitativamente a previsibilidade de títulos reais, ou seja, para provar ou refutar a hipótese de mercado eficiente. De acordo com este último, a dispersão de pontos em todas as coordenadas do espaço de lag é idêntica (se os pontos são valores aleatórios independentes distribuídos de forma idêntica). Pelo contrário, a dinâmica caótica que proporciona uma certa previsibilidade deve levar a que as observações sejam agrupadas em torno de uma certa hipersuperfície, isto é, a amostra experimental forma um conjunto com a dimensão menor do que a dimensão de todo o espaço de atraso. Para medir as dimensões, você pode usar a seguinte propriedade intuitiva: Se um conjunto tem a dimensão de D. Então, desde que seja dividido em superfícies cúbicas menores e menores com um lado de, o número de tais cubos crescerá como. Esse fato está subjacente à detecção da dimensão dos conjuntos pelo método de contagem de caixa que conhecemos a partir de considerações anteriores. A dimensão de um conjunto de pontos é detectada pela taxa de crescimento do número de caixas que contêm todos os pontos do conjunto. Para acelerar o algoritmo, tomamos as dimensões de como múltiplos de 2, isto é, a escala de resolução é medida em bits. Como exemplo de uma típica série de tempo de mercado, vamos levar uma ferramenta financeira tão conhecida como o índice SampP500 que reflete a dinâmica de preços médios na Bolsa de Nova York. FIG. 3 mostra a dinâmica do índice para o período de 679 meses. A dimensão (dimensão de informação é significada) de incrementos desta série temporal, calculada pelo método de contagem de caixa, é mostrada na Fig. 4. A fig. 3. Uma série de tempo de 679 valores de SampP500, usado como um exemplo neste artigo. Usando a Coterie Networks Possível Lucro Taxa de Previsões de Redes NeuraisModelos de séries Tempo Real Após Horas Pre-Market News Resumo de Citações de Flash Citação Gráficos Interativos Configuração Padrão Por favor, note que uma vez que você fizer sua seleção, ela se aplicará a todas as futuras visitas ao NASDAQ. Se, a qualquer momento, estiver interessado em voltar às nossas configurações padrão, selecione Configuração padrão acima. Se você tiver dúvidas ou tiver problemas na alteração das configurações padrão, envie um e-mail para isfeedbacknasdaq. Confirme sua seleção: Você selecionou para alterar sua configuração padrão para a Pesquisa de orçamento. Esta será agora a sua página de destino padrão, a menos que você altere sua configuração novamente ou exclua seus cookies. Tem certeza de que deseja alterar suas configurações? Temos um favor a perguntar Desabilite seu bloqueador de anúncios (ou atualize suas configurações para garantir que o javascript e os cookies estejam ativados), para que possamos continuar fornecê-lo com as novidades do mercado de primeira linha E os dados que você vem esperar de nós. Análise da série de tempo e previsão com Weka 1 Introdução A análise da série de tempo é o processo de usar técnicas estatísticas para modelar e explicar uma série tempo-dependente de pontos de dados. A previsão de séries temporais é o processo de utilização de um modelo para gerar previsões (previsões) para eventos futuros com base em eventos passados ​​conhecidos. Os dados de séries temporais têm uma ordem temporal natural - isto difere dos aplicativos típicos de mineração de dados / aprendizado de máquina, em que cada ponto de dados é um exemplo independente do conceito a ser aprendido e a ordenação de pontos de dados dentro de um conjunto de dados não importa. Exemplos de aplicações de séries temporais incluem: planejamento de capacidade, reposição de estoque, previsão de vendas e níveis futuros de pessoal. Weka (gt 3.7.3) possui agora um ambiente dedicado de análise de séries temporais que permite que modelos de previsão sejam desenvolvidos, avaliados e visualizados. Este ambiente assume a forma de uma guia de plugins na interface gráfica do usuário do Wekas ​​Explorer e pode ser instalado através do gerenciador de pacotes. A estrutura de séries temporais de Wekas ​​leva uma abordagem de aprendizagem de máquina / mineração de dados para modelar séries de tempo, transformando os dados em uma forma que algoritmos de aprendizagem proposicional padrão podem processar. Ele faz isso removendo a ordenação temporal de exemplos de entrada individuais codificando a dependência de tempo através de campos de entrada adicionais. Estes campos são por vezes referidos como variáveis ​​defasadas. Vários outros campos também são computados automaticamente para permitir que os algoritmos modelem tendências e sazonalidade. Após a transformação dos dados, qualquer um dos algoritmos de regressão de Wekas ​​pode ser aplicado para aprender um modelo. Uma escolha óbvia é aplicar regressão linear múltipla, mas qualquer método capaz de prever um alvo contínuo pode ser aplicado - incluindo poderosos métodos não-lineares como máquinas de vetores de suporte para regressão e árvores de modelo (árvores de decisão com funções de regressão linear nas folhas) . Esta abordagem para a análise e previsão de séries temporais é muitas vezes mais poderosa e mais flexível que as técnicas estatísticas clássicas, como ARMA e ARIMA. O ambiente de modelagem de série temporal acima mencionado está disponível como software livre de código aberto na versão CE do Weka. A mesma funcionalidade também foi envolvida em um plugin Spoon Perspective que permite que os usuários de Pentaho Data Integration (PDI) trabalhem com análise de séries de tempo dentro da GUI Spoon PDI. Há também uma etapa de plugin para PDI que permite que modelos que foram exportados do ambiente de modelagem de séries temporais sejam carregados e usados ​​para fazer previsões futuras como parte de uma transformação de ETL. Os plugins de perspectiva e passo para PDI fazem parte da edição corporativa. 2 Requisitos O ambiente de modelagem de séries temporais Weka requer Weka gt 3.7.3 e é fornecido como um pacote que pode ser instalado através do gerenciador de pacotes. 3 Usando o Ambiente de Série de Tempo Uma vez instalado através do gerenciador de pacotes, o ambiente de modelagem de séries temporais pode ser encontrado em uma nova guia na GUI do Wekas ​​Explorer. Os dados são trazidos para o ambiente da maneira normal, carregando de um arquivo, URL ou banco de dados através do painel Preprocess do Explorer. O ambiente possui opções de configuração básicas e avançadas. Estas são descritas nas seções a seguir. 3.1 Configuração Básica Neste exemplo, o conjunto de dados de amostra companhia aérea (incluído no pacote) foi carregado no Explorer. Estes dados são um conjunto de dados de referência publicamente disponíveis que tem uma série de dados: números de passageiros mensais para uma companhia aérea para os anos 1949-1960. Além do número de passageiros, os dados também incluem um carimbo de data / hora. O painel de configuração básica seleciona automaticamente a série de destino único e o campo Carimbo de data. Na seção Parâmetros da GUI (lado superior direito), o usuário pode inserir o número de etapas de tempo para prever além do final dos dados fornecidos. Abaixo da caixa de seleção de carimbo de data / hora, existe uma caixa suspensa para especificar a periodicidade dos dados. Se os dados tiverem um carimbo de data / hora e o carimbo de data / hora for uma data, o sistema poderá detectar automaticamente a periodicidade dos dados. Abaixo disto há caixas de seleção que permitem ao usuário optar por ter o sistema de computação intervalos de confiança para suas previsões e realizar uma avaliação de desempenho sobre os dados de treinamento. Mais detalhes de todas estas opções são fornecidos nas seções subseqüentes. 3.1.1 Seleção de destino Na parte superior esquerda do painel de configuração básica, há uma área que permite ao usuário selecionar o (s) campo (s) alvo nos dados que deseja prever. O sistema pode em conjunto modelar múltiplos campos alvo simultaneamente para capturar dependências entre eles. Devido a isso, a modelagem de várias séries simultaneamente pode dar resultados diferentes para cada série do que modelá-los individualmente. Quando há apenas um único alvo nos dados, o sistema seleciona-o automaticamente. Na situação em que existem potenciais alvos múltiplos, o usuário deve selecioná-los manualmente. A captura de tela abaixo mostra alguns resultados em outro conjunto de dados de benchmark. Neste caso, os dados são as vendas mensais (em litros por mês) de vinhos australianos. Existem seis categorias de vinho nos dados, e as vendas foram registradas mensalmente desde o início de 1980 até meados de 1995. A previsão tem modelado duas séries simultaneamente: Fortificado e Seco-branco. 3.1.2 Parâmetros básicos Na parte superior direita do painel de configuração básica está uma área com vários parâmetros simples que controlam o comportamento do algoritmo de previsão. Número de unidades de tempo A primeira e mais importante delas é a caixa de texto Número de unidades de tempo para previsão. Isso controla quantos passos de tempo no futuro o previsor produzirá previsões para. O padrão é definido como 1, ou seja, o sistema fará uma única previsão de 1 passo. Para os dados das companhias aéreas, definimos isto como 24 (para fazer previsões mensais para o futuro por um período de dois anos) e para os dados de vinho que definimos para 12 (para fazer previsões mensais para o futuro por um período de um ano). As unidades correspondem à periodicidade dos dados (se conhecidos). Por exemplo, com dados registrados diariamente, as unidades de tempo são dias. Carimbo de data / hora A seguir, a caixa suspensa Carimbo de hora. Isso permite que o usuário selecione qual, se houver, campo nos dados contém o carimbo de data / hora. Se houver um campo de data nos dados, o sistema o selecionará automaticamente. Se não houver data presente nos dados, então a opção de indexação de tempo artificial é selecionada automaticamente. O usuário pode selecionar o carimbo de hora manualmente e precisará fazê-lo se o carimbo de data / hora é um campo numérico não-data (porque o sistema não pode distinguir isso de um campo de destino potencial). O usuário também tem a opção de selecionar ltNonegt na caixa drop-down para informar ao sistema que nenhum selo de tempo (artificial ou não) deve ser usado. Periodicidade Debaixo da caixa de seleção de carimbo de data / hora é uma caixa suspensa que permite ao usuário especificar a Periodicidade dos dados. Se um campo de data foi selecionado como o carimbo de data / hora, então o sistema pode usar heurísticas para detectar automaticamente a periodicidade - ltDetect automaticamentegt será definido como o padrão se o sistema tiver encontrado e definir um atributo de data como o carimbo de data / hora inicialmente. Se o carimbo de data / hora não é uma data, o usuário pode explicitamente informar ao sistema qual é a periodicidade ou selecionar ltUnknowngt se não for conhecido. A periodicidade é usada para definir defasagens razoáveis ​​para a criação de variáveis ​​defasadas (descritas abaixo na seção Configuração Avançada). No caso em que o carimbo de data / hora é uma data, Periodicity também é usado para criar um conjunto padrão de campos derivados da data. Por exemplo. Para uma periodicidade mensal, o mês do ano e os campos de trimestre são criados automaticamente. Abaixo da caixa suspensa Periodicity é um campo que permite ao usuário especificar períodos de tempo que não devem contar como um incremento de carimbo de data / hora em relação ao processo de modelagem, previsão e visualização. Por exemplo, considere dados de negociação diária para um determinado estoque. O mercado está fechado para negociação no fim de semana e nos feriados, então esses períodos não contam como um incremento ea diferença, por exemplo, entre o fechamento do mercado na sexta-feira e na segunda-feira seguinte é uma unidade de tempo (não três). A heurística usada para detectar automaticamente a periodicidade não consegue lidar com esses furos nos dados, portanto o usuário deve especificar uma periodicidade para usar e fornecer os períodos de tempo que não devem ser considerados como incrementos no campo de texto da lista Ignorar. O campo Ignorar lista pode aceitar strings como fim de semana, sábado, terça-feira, março e outubro, datas específicas (com string de formatação opcional) como 2011-07-04yyyy-MM-dd e inteiros (que são interpretados diferentemente dependendo do especificado periodicidade). Para dados diários um número inteiro é interpretado como o dia do ano para os dados horários é a hora do dia e para os dados mensais é o mês do ano. Para datas específicas, o sistema tem uma seqüência de formatação padrão (aaaa-mm-ddTHH: mm: ss) ou o usuário pode especificar um para usar sufixando a data com ltformatgt. Se todas as datas na lista tiverem o mesmo formato, então ele só precisa ser especificado uma vez (para a primeira data presente na lista) e, em seguida, isso se tornará o formato padrão para datas subseqüentes na lista. As imagens a seguir mostram um exemplo para os dados do appleStocks2011 (encontrados no diretório de amostra de dados do pacote). Este arquivo contém dados diários de alta, baixa, abertura e fechamento de estoques de computador da Apple de 3 de janeiro a 10 de agosto de 2011. Os dados foram retirados do Yahoo finance (finance. yahoo/q/hpsAAPLampa00ampb3ampc2011ampd07ampe10ampf2011ampgd). Foi estabelecida uma previsão de cinco dias para o valor de fecho diário, uma defasagem máxima de 10 configurada (ver Criação de atraso na Secção 3.2), periodicidade definida para Diária e as seguintes entradas de lista de Ignorar fornecidas para cobrir os fins de semana e feriados: 2011-01-17yyyy-MM-dd, 2011-02-21, 2011-04-22, 2011-05-30, 2011-07-04 Observe que é importante inserir datas para feriados (e quaisquer outras datas que Não contam como incrementos) que ocorrerão durante o período de tempo futuro que está sendo previsto. Intervalos de confiança Abaixo da caixa suspensa Carimbo de data / hora é uma caixa de seleção e campo de texto que o usuário pode optar por ter o sistema calcular limites de confiança nas previsões que ele faz. O nível de confiança padrão é 95. O sistema usa previsões feitas para os valores de destino conhecidos nos dados de treinamento para definir os limites de confiança. Portanto, um nível de confiança de 95 significa que 95 dos valores alvo reais caíram dentro do intervalo. Observe que os intervalos de confiança são calculados para cada nível de antecipação de forma independente, ou seja, todas as previsões de um passo em frente nos dados de treinamento são usadas para calcular o intervalo de confiança de um passo à frente, todas as previsões de duas etapas são Usado para calcular o intervalo de duas etapas, e assim por diante. Executar avaliação Por padrão, o sistema é configurado para aprender o modelo de previsão e gerar uma previsão além do final dos dados de treinamento. Selecionando a caixa de seleção Executar avaliação informa ao sistema para executar uma avaliação do previsor usando os dados de treinamento. Ou seja, uma vez que o forecaster foi treinado sobre os dados, então é aplicado para fazer uma previsão em cada ponto de tempo (em ordem), passando através dos dados. Essas previsões são coletadas e resumidas, usando várias métricas, para cada etapa de tempo futuro prevista, ou seja, todas as previsões de um passo em frente são coletadas e resumidas, todas as previsões de duas etapas são coletadas e resumidas, e assim por diante. Isso permite que o usuário veja, até certo ponto, como as previsões mais distantes no tempo se comparam com aquelas mais próximas no tempo. O painel Configuração Avançada permite ao usuário ajustar a configuração selecionando quais métricas devem ser computadas e se devem manter alguns dados do final dos dados de treinamento como um conjunto de teste separado. A captura de tela a seguir mostra a avaliação padrão dos dados de treinamento de vinhos australianos para as metas Fortified e Dry-white. 3.1.3 Saída A saída gerada pelas configurações disponíveis no painel de configuração básica inclui a avaliação de treinamento (mostrada na captura de tela anterior), gráficos de valores previstos além do final dos dados de treinamento (como mostrado na Seção 3.1), valores previstos em forma de texto E uma descrição textual do modelo aprendido. Existem mais opções de saída disponíveis no painel de configuração avançada (discutido na próxima seção). A próxima captura de tela mostra o modelo aprendido nos dados da companhia aérea. Por padrão, o ambiente de série de tempo é configurado para aprender um modelo linear, isto é, uma máquina de vetores de suporte linear para ser preciso. Controle total sobre o modelo subjacente aprendido e seus parâmetros está disponível no painel de configuração avançada. Os resultados da análise de séries temporais são guardados numa lista de Resultados no lado inferior esquerdo do visor. Uma entrada nesta lista é criada sempre que uma análise de previsão é iniciada pressionando o botão Iniciar. Toda a saída textual e os gráficos associados a uma execução de análise são armazenados com a respectiva entrada na lista. Também é armazenado na lista o próprio modelo de previsão. O modelo pode ser exportado para o disco, selecionando Salvar modelo de previsão de um menu pop-up contextual que aparece ao clicar com o botão direito do mouse em uma entrada na lista. É importante perceber que, ao salvar um modelo, o modelo que é salvo é aquele que é construído sobre os dados de treinamento correspondentes a essa entrada na lista de histórico. Se realizar uma avaliação em que alguns dos dados são apresentados como um conjunto de teste separado (veja abaixo na Seção 3.2), o modelo salvo só foi treinado em parte dos dados disponíveis. É uma boa ideia desativar a avaliação do hold-out e construir um modelo em todos os dados disponíveis antes de salvar o modelo. 3.2 Configuração avançada O painel de configuração avançada oferece ao usuário controle total sobre vários aspectos da análise de previsão. Estas incluem a escolha do modelo e dos parâmetros subjacentes, a criação de variáveis ​​retardadas, a criação de variáveis ​​derivadas de um carimbo de data / hora, a especificação de dados de sobreposição, as opções de avaliação eo controlo sobre a saída criada. Cada um deles tem um sub-painel dedicado na configuração avançada e é discutido nas seções a seguir. 3.2.1 Aprendiz de base O painel de aprendizado Base fornece o controle sobre qual algoritmo de aprendizado de Weka é usado para modelar a série de tempo. Também permite ao usuário configurar parâmetros específicos para o algoritmo de aprendizado selecionado. Por padrão, o ambiente de análise é configurado para usar uma máquina de vetor de suporte linear para regressão (Wekas ​​SMOreg). Isso pode ser facilmente alterado pressionando o botão Escolher e selecionando outro algoritmo capaz de prever uma quantidade numérica. Ajustando os parâmetros individuais do algoritmo de aprendizado selecionado pode ser feito clicando no painel de opções. Imediatamente à direita do botão Escolher. Fazê-lo abre um diálogo de opções para o algoritmo de aprendizagem. 3.2.2 Criação de Lag O painel de criação de Lag permite que o usuário controle e manipule como as variáveis ​​defasadas são criadas. Variáveis ​​retardadas são o principal mecanismo pelo qual a relação entre valores passados ​​e atuais de uma série pode ser capturada por algoritmos de aprendizagem proposicional. Eles criam uma janela ou instantâneo ao longo de um período de tempo. Essencialmente, o número de variáveis ​​atrasadas criadas determina o tamanho da janela. O painel de configuração básica usa a configuração Periodicity para definir valores padrão razoáveis ​​para o número de variáveis ​​atrasadas (e, portanto, o tamanho da janela) criado. Por exemplo, se você tivesse dados de vendas mensais, em seguida, incluindo atrasos até 12 etapas de tempo no passado faria sentido para dados horários, você pode querer atrasos até 24 etapas de tempo ou talvez 12. O lado esquerdo do painel de criação de atraso Tem uma área chamada comprimento de atraso que contém controles para configuração e ajuste fino lag comprimentos. No topo desta área há uma caixa de seleção Ajustar para desvio que permite ao usuário optar por ter o sistema para compensar variação nos dados. Ele faz isso tomando o log de cada destino antes de criar variáveis ​​defasadas e construir o modelo. Isso pode ser útil se a variância (quanto os dados saltam ao redor) aumenta ou diminui ao longo do tempo. Ajustar a variância pode, ou não, melhorar o desempenho. É melhor experimentar e ver se ajuda para a combinação de dados / seleção de parâmetros na mão. Abaixo a caixa de seleção ajustar para variação é uma caixa de seleção Usar comprimentos de atraso personalizados. Isso permite que o usuário altere os comprimentos de atraso padrão definidos pelo painel de configuração básica. Observe que os números mostrados para os comprimentos não são necessariamente os padrões que serão usados. Se o usuário selecionou ltDetect automaticamente na caixa drop-down de periodicidade no painel de configuração básica, os comprimentos de atraso padrão reais serão definidos quando os dados forem analisados ​​em tempo de execução. O campo Texto de atraso mínimo permite ao usuário especificar o passo mínimo de tempo anterior para criar um campo retardado para - por exemplo, Um valor de 1 significa que será criada uma variável defasada que contém valores de destino no momento - 1. O campo de texto Retardo máximo especifica o passo máximo de tempo anterior para criar uma variável retardada para - por exemplo, Um valor de 12 significa que será criada uma variável defasada que mantenha valores-alvo no momento - 12. Todos os períodos de tempo entre o atraso mínimo e máximo serão transformados em variáveis ​​defasadas. É possível afinar a criação de variáveis ​​dentro do mínimo e máximo, digitando um intervalo no campo de texto de seleção de ajuste de afinação fino. Na imagem abaixo temos dados semanais, por isso optamos por definir defasagens mínimas e máximas para 1 e 52, respectivamente. Dentro disto, optamos por criar apenas os intervalos 1-26 e 52. No lado direito do painel de criação de atraso é uma área chamada de média. Selecionar a caixa de seleção Média de longas longas consecutivas permite que o número de variáveis ​​retardadas seja reduzido pela média dos valores de várias variáveis ​​consecutivas (no tempo). Isso pode ser útil quando você deseja ter uma grande janela sobre os dados, mas talvez não tenha um monte de dados históricos pontos. Uma regra geral indica que você deve ter pelo menos 10 vezes mais linhas do que campos (existem exceções a isso, dependendo do algoritmo de aprendizado - por exemplo, máquinas de vetores de suporte podem funcionar muito nos casos em que há muitos mais campos do que linhas). Averaging a number of consecutive lagged variables into a single field reduces the number of input fields with probably minimal loss of information (for long lags at least). The Average lags longer than text field allows the user to specify when the averaging process will begin. For example, in the screenshot above this is set to 2, meaning that the time - 1 and time - 2 lagged variables will be left untouched while time - 3 and higher will be replaced with averages. The 35 consecutive lags to average controls how many lagged variables will be part of each averaged group. For example, in the screenshot above this is also set to 2, meaning that time - 3 and time - 4 will be averaged to form a new field time - 5 and time - 6 will be averaged to form a new field and so on. Note that only consecutive lagged variable will be averaged, so in the example above, where we have already fine-tuned the lag creation by selecting lags 1-26 and 52, time - 26 would never be averaged with time - 52 because they are not consecutive. 3.2.3 Periodic attributes The Periodic attributes panel allows the user to customize which date-derived periodic attributes are created. This functionality is only available if the data contains a date time stamp. If the time stamp is a date, then certain defaults (as determined by the Periodicity setting from the basic configuration panel) are automatically set. For example, if the data has a monthly time interval then month of the year and quarter are automatically included as variables in the data. The user can select the customize checkbox in the date-derived periodic creation area to disable, select and create new custom date-derived variables. When the checkbox is selected the user is presented with a set of pre-defined variables as shown in the following screenshot: Leaving all of the default variables unselected will result in no date-derived variables being created. Aside from the predefined defaults, it is possible to create custom date-derived variables. A new custom date-derived variable, based on a rule, can be created by pressing the New button. This brings up an editor as shown below: In this example, we have created a custom date-derived variable called ChistmasBreak that comprises a single date-based test (shown in the list area at the bottom of the dialog). This variable is boolean and will take on the value 1 when the date lies between December 24th and January 2nd inclusive. Additional tests can be added to allow the rule to evaluate to true for disjoint periods in time. The Field name text field allows the user to give the new variable a name. Below this are two buttons. The New button adds a new test to the rule and the Delete button deletes the currently selected test from the list at the bottom. Selecting a test in the list copies its values to the drop-down boxes for the upper and lower bounds of the test, as shown in the Test interval area of the screenshot above. Each drop-down box edits one element of a bound. They are (from left to right): comparison operator, year, month of the year, week of the year, week of the month, day of the year, day of the month, day of the week, hour of the day, minute of the hour and second. Tool tips giving the function of each appear when the mouse hovers over each drop-down box. Each drop-down box contains the legal values for that element of the bound. Asterix characters () are wildcards and match anything. Below the Test interval area is a Label text field. This allows a string label to be associated with each test interval in a rule. All the intervals in a rule must have a label, or none of them. Having some intervals with a label and some without will generate an error. If all intervals have a label, then these will be used to set the value of the custom field associated with the rule instead of just 0 or 1. Evaluation of the rule proceeds as a list, i. e. from top to bottom, and the first interval that evaluates to true is the one that is used to set the value of the field. A default label (i. e. one that gets assigned if no other test interval matches) can be set up by using all wildcards for the last test interval in the list. In the case where all intervals have labels, and if there is no catch-all default set up, then the value for the custom field will be set to missing if no interval matches. This is different to the case where labels are not used and the field is a binary flag - in this case, the failure to match an interval results in the value of the custom field being set to 0. 3.2.4 Overlay data The Overlay data panel allows the user to specify fields (if any) that should be considered as overlay data. The default is not to use overlay data. By overlay data we mean input fields that are to be considered external to the data transformation and closed-loop forecasting processes. That is, data that is not to be forecasted, cant be derived automatically and will be supplied for the future time periods to be forecasted. In the screenshot below, the Australian wine data has been loaded into the system and Fortified has been selected as the target to forecast. By selecting the Use overlay data checkbox, the system shows the remaining fields in the data that have not been selected as either targets or the time stamp. These fields are available for use as overlay data. The system will use selected overlay fields as inputs to the model. In this way it is possible for the model to take into account special historical conditions (e. g. stock market crash) and factor in conditions that will occur at known points in the future (e. g. irregular sales promotions that have occurred historically and are planned for the future). Such variables are often referred to as intervention variables in the time series literature. When executing an analysis that uses overlay data the system may report that it is unable to generate a forecast beyond the end of the data. This is because we dont have values for the overlay fields for the time periods requested, so the model is unable to generate a forecast for the selected target(s). Note that it is possible to evaluate the model on the training data and/or data held-out from the end of the training data because this data does contain values for overlay fields. More information on making forecasts that involve overlay data is given in the documentation on the forecasting plugin step for Pentaho Data Integration . 3.2.5 Evaluation The Evaluation panel allows the user to select which evaluation metrics they wish to see, and configure whether to evaluate using the training data and/or a set of data held out from the end of the training data. Selecting Perform evaluation in the Basic configuration panel is equivalent to selecting Evaluate on training here. By default, the mean absolute error (MAE) and root mean square error (RMSE) of the predictions are computed. The user can select which metrics to compute in the Metrics area in on the left-hand side of the panel. The available metrics are: Mean absolute error (MAE): sum(abs(predicted - actual)) / N Mean squared error (MSE): sum((predicted - actual)2) / N Root mean squared error (RMSE): sqrt(sum((predicted - actual)2) / N) Mean absolute percentage error (MAPE): sum(abs((predicted - actual) / actual)) / N Direction accuracy (DAC): count(sign(actualcurrent - actualprevious) sign(predcurrent - predprevious)) / N Relative absolute error (RAE): sum(abs(predicted - actual)) / sum(abs(previoustarget - actual)) Root relative squared error (RRSE): sqrt(sum((predicted - actual)2) / N) / sqrt(sum(previoustarget - actual)2) / N) The relative measures give an indication of how the well forecasters predictions are doing compared to just using the last known target value as the prediction. They are expressed as a percentage, and lower values indicate that the forecasted values are better predictions than just using the last known target value. A score of gt100 indicates that the forecaster is doing no better (or even worse) than predicting the last known target value. Note that the last known target value is relative to the step at which the forecast is being made - e. g. a 12-step-ahead prediction is compared relative to using the target value 12 time steps prior as the prediction (since this is the last known actual target value). The text field to the right of the Evaluate on held out training check box allows the user to select how much of the training data to hold out from the end of the series in order to form an independent test set. The number entered here can either indicate an absolute number of rows, or can be a fraction of the training data (expressed as a number between 0 and 1). 3.2.6 Output The Output panel provides options that control what textual and graphical output are produced by the system. The panel is split into two sections: Output options and Graphing options . The former controls what textual output appears in the main Output area of the environment, while the latter controls which graphs are generated. In the Output area of the panel, selecting Output predictions at step causes the system to output the actual and predicted values for a single target at a single step. The error is also output. For example, the 5-step ahead predictions on a hold-out test set for the Fortified target in the Australian wine data is shown in the following screenshot. Selecting Output future predictions beyond the end of series will cause the system to output the training data and predicted values (up to the maximum number of time units) beyond the end of the data for all targets predicted by the forecaster. Forecasted values are marked with a to make the boundary between training values and forecasted values clear. In the Graphing options area of the panel the user can select which graphs are generated by the system. Similar to the textual output, the predictions at a specific step can be graphed by selecting the Graph predictions at step check box. Unlike the textual output, all targets predicted by the forecaster will be graphed. Selecting the Graph target at steps checkbox allows a single target to be graphed at more than one step - e. g. a graph can be generated that shows 1-step-ahead, 2-step-ahead and 5-step ahead predictions for the same target. The Target to graph drop-down box and the Steps to graph text field become active when the Graph target at steps checkbox is selected. The following screenshot shows graphing the the Fortified target from the Australian wine data on a hold-out set at steps 1,2,3,6 and 12. 4 Using the API Here is an example that shows how to build a forecasting model and make a forecast programatically. Javadoc for the time series forecasting package can be found at weka. sourceforge. net/doc. packages/timeseriesForecasting/ 5 Time Series Analysis PDI Spoon Plugin The time series analysis environment described in the previous sections can also be used within Pentaho Data Integrations Spoon user interface. It appears as a perspective within Spoon and operates in exactly the same way as described above. The only difference is in how data is brought into the time series environment. When running inside of Spoon, data can be sent to the time series environment via a Table Input or Table Output step. Right-clicking on either of these steps brings up a contextual menu selecting Forecast from this menu activates the time series Spoon perspective and loads data from the data base table configured in the Table Input/Output step into the time series environment.

Comments