Mineração de Séries Temporais e Dados Seqüenciais Eufrásio de Andrade Lima Neto Juliana Loureiro Centro de Informática – UFPE, Janeiro.2003 Séries Temporais Um conjunto de observações tomadas em tempos determinados, comumente em intervalos iguais (Spiegel, 1993). Consiste de uma seqüência de valores mensurados em iguais intervalos de tempo (Han e Kamber, 2001). Séries Temporais Principal objetivo Realizar previsões futuras baseando-se comportamento passado dos dados. Exemplos Cotação Diária do Dólar Consumo Mensal de Gasolina Faturamento Anual da Microsoft no Data Índice Nasdaq 4000 10/21/2002 07/12/02 04/03/02 12/19/2001 09/05/01 05/25/2001 02/14/2001 11/02/00 07/26/2000 04/14/2000 01/05/00 09/27/1999 06/17/1999 03/09/99 11/24/1998 08/17/1998 05/07/98 01/27/1998 10/15/1997 07/08/97 03/27/1997 12/16/1996 09/06/96 05/29/1996 02/16/1996 11/07/95 07/31/1995 04/20/1995 01/10/95 Índice Evolução do Índice NASDAQ 11.Jan.95 a 10.Jan.03 6000 5000 Futuro 3000 2000 1000 0 Séries Temporais Componentes Os movimentos (ou componentes) de uma série temporal podem ser divididos em 4 tipos principais: Movimento de Tendência Variações Cíclicas Variações Sazonais Movimentos Aleatórios - ERRO Séries Temporais Movimentos Aleatórios Os movimentos aleatórios ou irregulares correspondem aos deslocamentos esporádicos de uma série temporal, que não podem ser captados por nenhuma das três componentes: tendência, ciclo e sazonalidade. Normalmente são denominados de erro aleatório. Séries Temporais Movimentos de Tendência Compreende o movimento dominante de uma série temporal, segundo o qual a mesma se desenvolve em um longo intervalo de tempo. A estimação da tendência de uma série temporal pode ser obtida através dos seguintes métodos: Séries Temporais Movimentos de Tendência Principais Métodos Método dos Mínimos Quadrados: proporciona o ajuste da MELHOR reta que minimiza a soma dos quadrados resíduos. (Gujarati, 2000). Método do Sentimento: proporciona o ajuste de uma reta mediante uma inspeção gráfica da série. Apesar da fácil aplicabilidade, depende consideravelmente do critério individual de cada analista. Métodos das Médias Móveis: mediante o emprego de médias móveis simples ou ponderadas, podem ser eliminadas as variações cíclicas, sazonais ou aleatórias, conservando apenas o movimento de tendência. Referência, Speigel (1993). Data Índice Nasdaq 10/21/2002 07/12/02 04/03/02 12/19/2001 09/05/01 05/25/2001 02/14/2001 11/02/00 07/26/2000 04/14/2000 01/05/00 09/27/1999 06/17/1999 03/09/99 11/24/1998 08/17/1998 05/07/98 01/27/1998 10/15/1997 07/08/97 03/27/1997 12/16/1996 09/06/96 05/29/1996 02/16/1996 4000 11/07/95 5000 07/31/1995 04/20/1995 01/10/95 Índice Séries Temporais Movimentos de Tendência Evolução do Índice NASDAQ 11.Jan.95 a 10.Jan.03 6000 Método dos Mínimos Quadrados 3000 2000 Y = 1170,50 + 0,7528x 1000 0 Data Índice Nasdaq 10/21/2002 07/12/02 04/03/02 12/19/2001 09/05/01 05/25/2001 02/14/2001 11/02/00 07/26/2000 04/14/2000 01/05/00 09/27/1999 06/17/1999 03/09/99 11/24/1998 08/17/1998 05/07/98 01/27/1998 10/15/1997 07/08/97 03/27/1997 12/16/1996 4000 09/06/96 5000 05/29/1996 02/16/1996 11/07/95 07/31/1995 04/20/1995 01/10/95 Índice Séries Temporais Movimentos de Tendência Evolução do Índice NASDAQ 11.Jan.95 a 10.Jan.03 6000 Método do Sentimento R1 3000 R2 2000 1000 0 Data 10/21/2002 07/12/02 04/03/02 12/19/2001 09/05/01 05/25/2001 02/14/2001 6000 11/02/00 MM (240 pregões) 07/26/2000 MM (120 pregões) 04/14/2000 MM (60 pregões) 01/05/00 Índice Nasdaq 09/27/1999 06/17/1999 03/09/99 11/24/1998 08/17/1998 05/07/98 01/27/1998 10/15/1997 07/08/97 03/27/1997 12/16/1996 09/06/96 05/29/1996 02/16/1996 5000 11/07/95 07/31/1995 04/20/1995 01/10/95 Índice Séries Temporais Movimentos de Tendência Evolução do Índice NASDAQ 11.Jan.95 a 10.Jan.03 Método das Médias Móveis 4000 3000 2000 1000 0 Séries Temporais Variações Cíclicas Compreendem nas oscilações de longo prazo que podem ocorrer em torno de uma linha de tendência. Tais movimentos podem ser ou não periódicos e somente são considerados quando ocorrem depois de intervalos de tempo superiores a um ano. Alguns autores citam a utilização de técnicas gráficas e o uso de médias móveis para detectar possíveis variações cíclicas. Séries Temporais Variações Cíclicas S e r ie s 160. 140. 120. 100. 80. 60. 40. 20. 0. 0 20 40 60 80 100 Séries Temporais Variações Cíclicas Observação: Vale ressaltar, que para detectar variações cíclicas de caráter não empírico necessitamos a transição para o domínio da freqüência. Referência, Brockwell e Davis, 1991. Séries Temporais Variações Sazonais Referem-se a movimentos similares, que uma série temporal obedece durante os mesmos meses (semanas, dias, quinzenas, etc) de anos sucessivos. Um índice de Sazonalidade tem por objetivo, analisar o comportamento típico de uma série temporal. Para tanto, esta análise deve ser realizada em intervalos de tempos eqüidistantes. Como, por exemplo: a cada 12 meses; a cada 7 dias. Séries Temporais Índices Sazonais Para o cálculo do índice de sazonalidade, são conhecidos vários métodos. Percentagem Média: os dados de cada mês são expressos em percentagens da média anual; Relação Percentual: os dados de cada mês são expressos em percentagens dos valores da tendência mensal; Elos Relativos: os dados de cada mês são expressos em percentagens em relação aos dados do mês anterior. Referência, Spiegel, 1993. Séries Temporais Índices Sazonais Método da Percentagem Média Passo 1: os dados de cada mês são expressos em percentagens da média anual; Passo 2: as percentagens dos meses correspondentes, para diferentes anos, são balanceadas mediante o emprego de uma nova média; Passo 3: as 12 percentagens resultantes dão os índices de sazonalidade. Mês Nov/02 Set/02 Jul/02 Mai/02 Mar/02 Jan/02 Nov/01 Set/01 Jul/01 Mai/01 Mar/01 Jan/01 Nov/00 Set/00 Jul/00 Mai/00 Mar/00 Jan/00 Nov/99 Set/99 Jul/99 Mai/99 Mar/99 Jan/99 Consumo (em milhões de m3) Índices Sazonais Método da Percentagem Média Evolução do Consumo de Gasolina no Brasil entre Jan/99 e Nov/02 2,30 2,20 2,10 2,00 1,90 1,80 1,70 1,60 1,50 Índices Sazonais Método da Percentagem Média Evolução do Consumo de Gasolina no Brasil entre Jan/99 e Nov/02 Consumo 1999 Consumo 2000 Consumo 2001 Consumo 2002 Jan 2.04 1.81 1.84 1.91 Fev 1.77 1.96 1.71 1.80 Mar 2.12 1.79 1.87 1.87 Abr 1.99 1.86 1.85 1.89 Mai 1.97 1.86 1.89 1.88 Jun 1.98 2.00 1.93 1.74 Jul 2.06 1.78 1.79 1.83 Ago 1.89 1.84 1.89 1.85 Set 1.89 1.88 1.77 1.79 Out 1.91 1.92 1.82 2.01 Nov 1.84 1.87 1.73 1.61 Dez Média 2.20 1.97 1.99 1.88 1.82 1.83 Índices de Sazonalidade para o Consumo de Gasolina no Brasil 1999 2000 2001 Sazonalidade Jan 1.03 0.96 1.01 1.00 Fev 0.90 1.04 0.93 0.96 Mar 1.08 0.95 1.03 1.02 Abr 1.01 0.99 1.01 1.00 Mai 1.00 0.99 1.04 1.01 Jun 1.00 1.07 1.05 1.04 Jul 1.04 0.95 0.98 0.99 Ago 0.96 0.98 1.04 0.99 Set 0.96 1.00 0.97 0.98 Out 0.97 1.02 0.99 0.99 Nov 0.93 1.00 0.95 0.96 Dez Média 1.12 1.06 1.00 1.06 12.00 Índices Sazonais Método da Percentagem Média Sazonalidade do Consumo de Gasolina no Brasil 1,15 Indice Sazonal 1,10 1,05 1,00 0,95 0,90 0,85 Jan Fev Mar Abr Mai Jun Jul Ago Mês Sazonalidade Set Out Nov Dez Índices Sazonais Método da Percentagem Média Sazonalidade do Consumo de Gasolina no Brasil 1,15 2,1 2,01 2,0 Indice Sazonal 1,87 1,89 1,88 1,83 1,05 1,9 1,85 1,8 1,74 1,80 1,79 1,7 1,00 1,6 1,61 0,95 1,5 1,4 0,90 1,3 0,85 1,2 Jan Fev Mar Abr Mai Jun Jul Ago Set Out Mês Sazonalidade Consumo 2002 Nov Dez Gasolina (em milhões de m3) 1,10 1,91 Séries Temporais Modelagem Um modelo de série temporal consiste numa descrição matemática que incorpora as componentes: tendência - T; cíclica - C; sazonal - S; erro - E. Y = f (T, C, S, E | t), onde Y é uma variável aleatória indexada ao tempo. Séries Temporais Principais Famílias de Modelos Modelos de Box-Jenkins Autoregressivo (AR) Médias Móvel (MA) Autoregressivo e Média Móvel (ARMA) Autoregressivo Integrado de Média Móvel (ARIMA) SAR, SARIMA Modelos de Suavizamento Suavizamento Exponencial Holt Winters Referência, Gujarati,2000; Hamilton,1994. Séries Temporais Modelagem Elaborar uma previsão para a produção médica. Dados mensais de Jan/97 a Jan/99. 1800000 1600000 Producao 1400000 1200000 1000000 Index 10 20 30 Séries Temporais Modelagem Modelo Holt Winters Sazonal O método de Holt-Winters é baseado em três equações, uma para cada componente: nível, tendência e sazonalidade. Modelo de Previsão => Yt m ( Lt bt m )St s m Séries Temporais Modelagem Produção Médica 1900000 Actual Predicted Forecast Producao 1700000 Actual Predicted Forecast 1500000 1300000 MAPE: MAD: 1100000 MSD: 0 10 20 30 Time 40 50 8 105645 1.99E+10 Mineração de Padrões Seqüenciais É minerar a ocorrência de padrões freqüentes relacionados ao tempo ou outras seqüências. Dado um conjunto de dados seqüenciais, o problema é descobrir subseqüências que são freqüentes, a partir de um suporte mínimo. Exemplo: clientes que geralmente alugam Star Wars, alugam Empire Striks Back e Return of the Jedi. Mineração de Padrões Seqüenciais Definições Seqüência: lista ordenada de itens (s) Itens simples de um conjunto literais (siki) Itemsets – um conjunto não vazio de itens (si) Notação Elementos de uma seqüência s <s1, s2,..., sn> Elementos de um itemset si {si1, si2,..., siki} Tamanho de uma seqüência s |s| Mineração de Padrões Seqüenciais Uma seqüência (a1, a2,..., an) está contida em outra seqüência (b1, b2,..., bn) se existe inteiros i1, i2,..., in, tal que a1 bi1, a2 bi2,..., an bin. Exemplo: A B? A = {(3) (4 5) (8)} B = {(7) (3 8) (9) (4 5 6) (8)} Se (3) (3 8), (4 5) (4 5 6), e (8) (8). A = {(3) (5)} B = {(3 5)} (3) (3 5), (5) (3 5) Mineração de Padrões Seqüenciais Os algoritmos existentes são baseados nos algoritmos: Apriori FP-Tree Mineração de Padrões Seqüenciais - Algoritmo Fases do problema de mineração Sort – a base de dados é ordenada; Litemset – encontra o conjunto de todos litemsets; Seqüência – usa o conjunto de litemsets para encontrar as seqüências desejadas; Maximal – encontra as seqüências máximas entre o conjunto de seqüências. Uma seqüência é maximal se ela não está contida em nenhuma outra seqüencia. Mineração de Padrões Seqüenciais - Exemplo A partir de uma base de transações de clientes encontrar padrões seqüenciais. Cada transação consiste: id-cliente; hora da transação; itens comprados. Nenhum cliente tem mais de uma transação no mesmo horário; Cada item é uma variável binária representando se o item foi comprado ou não. O suporte mínimo é 25%, 2 clientes. Mineração de Padrões Seqüenciais - Exemplo id-cliente hora da transação itens comprados 1 June 25 ' 93 30 1 June 30 ' 93 90 2 June 10 ' 93 10, 20 2 June 15 ' 93 30 2 June 20 ' 93 40, 60, 70 3 June 25 ' 93 30, 50, 70 4 June 25 ' 93 30 4 June 30 ' 93 40, 70 4 June 20 ' 93 90 5 June 12 ' 93 90 * Base de Dados ordenada por id-cliente e hora da transação Mineração de Padrões Seqüenciais - Exemplo Seq. (10 20) (30) (30 70) (40 70) (90) (30 50 70) (40 60 70) Freq. 1 3 1 2 3 1 1 Seq. (30) (40 70) (30) (90) (40 70) (90) Freq. 2 2 1 Seq. (30) (40 70) (90) Suporte mínimo de 25% => 2 clientes Freq. 1 Mineração de Padrões Seqüenciais - Exemplo Seqüência máxima baseada no suporte definido. Padrões de Seqüência com suporte > 25% { (30) (90) } { (30) (40 70) } Softwares Séries Temporais SPSS (contém módulo de Data Minning); Statistica (contém módulo de Data Minning); ITSM S-Plus R Minitab Dados Seqüênciais (algoritmos) Apriori FP-Tree Referências Murray R. Spiegel, Estatística, Terceira Edição, Makron Books, 1993; Damodar N. Gujarati, Econometria Básica, Terceira Edição, Makron Books, 2000; Maddala, E., Econometrics, McGraw-Hill, Nova York, 1977; R. Agrawai e R. Srikant, “Mining Sequential Patterns”, Proc. 11th Int’l Conf. Data Eng., March 1995; M. Garofalakis, R. Rastogi e K. Shim, “Mining Sequential Patterns with Regular Expression Constrain”, IEEE Transaction on Knowledge and Data Engineering, Vol. 14, No.3, Ma/June 2002;