A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Mineração de Dados Temporais Introdução

Apresentações semelhantes


Apresentação em tema: "Mineração de Dados Temporais Introdução"— Transcrição da apresentação:

1 Mineração de Dados Temporais Introdução
Data Mining Sandra de Amo 25/03/2017 Pós-graduação em Ciência da Computação

2 Mineração de Dados Temporais
Fator tempo é importante ! {Leite, Manteiga} só é frequente nas compras feitas entre 7:00 e 9:00. A confiança da regra {Queijo  Vinho} é alta nos finais de semana (comportamento cíclico). A confiança da regra de associação Escolaridade = Superior  Partido = PT vem decaindo nos últimos 10 anos. Clientes que compram ipod frequentemente compram base para ipod depois de um mes da compra do ipod. 25-Mar-17 Escola de Verão - USP - São Carlos 2010

3 Panorama Geral : Dados Simbólicos versus Séries Temporais
Dados simbólicos: elementos que evoluem no tempo são representados por símbolos. Artigos comprados por um cliente ao longo do tempo: ipod, rádio, computador, base de ipod,... Sintomas apresentados por um paciente ao longo do tratamento: febre, náusea, tontura,... Eventos de uma linha de montagem: troca de turnos de funcionário, falha na execução da tarefa, congestionamento da linha,... 25-Mar-17 Escola de Verão - USP - São Carlos 2010

4 Panorama Geral : Dados Simbólicos versus Séries Temporais
Dados numéricos (séries temporais): Cotações de uma determinada ação ao longo do ano de 2009. Temperaturas registradas numa determinada região no século XX. Indice pluviométrico de uma determinada região do planeta na década de 90. Colheita obtida (em toneladas) de um determinado cereal, numa determinada região, na década de 2000 a 2009. 25-Mar-17 Escola de Verão - USP - São Carlos 2010

5 Dados numéricos x Dados simbólicos
Domínio dos valores dos dados é estruturado: totalmente ordenado dado 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 tempo 25-Mar-17 Escola de Verão - USP - São Carlos 2010

6 Série temporal: representação gráfica
Permite utilizar técnicas de análise matemática e estatistica para detecção de formatos (shapes) especificos que se repetem com frequência ao longo do gráfico 25-Mar-17 Escola de Verão - USP - São Carlos 2010

7 Problemas tratados neste curso : Mineração de Padrões Temporais
Mineração de Regras de Associação Temporais 2. Mineração de Dados Sequenciais (simbólicos) 3. Mineração de Séries Temporais 25/03/2017 Pós-graduação em Ciência da Computação

8 Um outro problema de Mineração Temporal = Classificação Temporal
Dado: um conjunto de sequências (amostras de treinamento) [ (a1,...,an), classe 1] [ (b1,...,bn), classe 2] .... [ (z1,...,zn), classe 1] Objetivo: produzir um modelo de classificação sequência não classificada  sequência classificada

9 Aplicações As principais aplicações: dados são sequências numéricas ou sequências de vetores numéricos. gestos sequência de imagens = sequência de vetores numéricos Objetivo: classificar um gesto em uma determinada classe: gesto de adeus, gesto de acolhida (“hello !”), gesto de dúvida, etc. fala sequência de fonemas (sinais sonoros) Objetivo: transcrever sequências de sinais sonoros em sua representação escrita. assinatura manual sequência de coordenadas de pontos (x,y) no plano desenhadas por usuários num dispositivo (tábua) digital. Objetivo: associar a uma dada assinatura manual um nome de usuário.

10 Problema de Mineração de Regras Temporais Cíclicas [Özden et al 1998]
Base de dados = uma única sequência longa de itemsets D1, D2, …, Dn,… Di = conjunto das compras realizadas por clientes no instante i (unidade de tempo = hora, dia, semana, mes, …) Clientes não são identificados 25/03/2017 Pós-graduação em Ciência da Computação

11 Problema de Mineração de Regras Temporais Cíclicas
Padrão Temporal : Regra de Associação Cíclica Regra X  Y, onde X e Y são itemsets XY tem bom suporte e boa confiança em certos instantes i que ocorrem periodicamente. Exemplo: café pão-com-manteiga tem boa confiança entre 7 e 9 da manhã. Padrão se repete a cada 24 horas. 25/03/2017 Pós-graduação em Ciência da Computação

12 Pós-graduação em Ciência da Computação - 2012
Exemplo Suporte mínimo = 40% Confiança minima = 50 % 1 2 3 4 {a,b} {a,c,b} {c,b,a,d} {c,a} {b,d} {a,c,b} {d,c} {b,c,d} {c,b} {d,e} {a,b} {a,c} {c,b,d} {d,b} {a,d,b} {a,c,e} {a,c} {a,e,c,d} {a,f,b} {b,d} Suporte = 3/5 Confiança = 3/4 Suporte = 1/5 Confiança = 100% Suporte = 2/5 Confiança = 2/3 Suporte = 1/5 Confiança = 1/4 X X Regra : a  b 25/03/2017 Pós-graduação em Ciência da Computação

13 Pós-graduação em Ciência da Computação - 2012
Conceitos de Base Ciclo = (p,m) p = período m = offset = instante a partir do qual o padrão começa a se repetir periodicamente, 0 ≤ m < p Regra de Associação Cíclica (X Y, ciclo) Medidas de Interesse : Suporte , Confiança (3,1) (3,2) (3,0) 1 2 3 4 5 6 7 8 Como são os instantes i que fazem parte de um ciclo (p,m) ? i = m + kp, k = 0,1,… isto é : m = i mod p 25/03/2017 Pós-graduação em Ciência da Computação

14 Formulação do Problema Mineração de Regras de Associação Cíclicas
Entrada Uma sequência D0, ..., Dn-1 onde Di = conjunto de itemsets Lmin > 0 , Lmax > 0 α = nível mínimo de suporte β = nível mínimo de confiança Saída: Todas as regras de associação cíclicas (r,(p,m)) tais que : Lmin ≤ p ≤ Lmax Para todo i = j.p, e m ≤ i ≤ n-1, tem-se que suporte(r) ≥ A e confiança(r) ≥ B em Di 25/03/2017 Pós-graduação em Ciência da Computação

15 Pós-graduação em Ciência da Computação - 2012
Algoritmo Sequencial Fase 1: Encontra as regras Para cada instante i, aplica algoritmo Apriori (ou outro mais eficiente) e encontra todas as regras de associação X  Y com suporte e confiança acima dos limites mínimos, com relação ao banco de transações Di Apriori é aplicado m vezes, onde m = comprimento da sequência D 25/03/2017 Pós-graduação em Ciência da Computação

16 Pós-graduação em Ciência da Computação - 2012
Algoritmo Sequencial Armazenamento das regras em formato sequencial Para cada regra de associação r é associada uma sequência de bits de tamanho n ( ) 0 na posição i = a regra r não é boa em Di 1 na posição i = a regra r é boa em Di 25/03/2017 Pós-graduação em Ciência da Computação

17 Pós-graduação em Ciência da Computação - 2012
Algoritmo Sequencial Fase 2: Detecta os ciclos Para cada sequência de bits S = (s1,s2, ... , sn) C := conjunto de todos os ciclos, ciclo = (p,m), Lmin ≤ p ≤ Lmax, 0 ≤ m < p Etapa 2.1 Para cada i = 0,...,n Se si = 0 : elimina de C todos os ciclos (p,m) Lmin ≤ p ≤ Lmax e m = i mod p Etapa 2.2 Se C é não vazio: elimina ciclos inúteis Para Lmin ≤ p ≤ Lmax - Para k = 0, ..., p-1 Se (p,k) ∈ C : elimina de C todos os ciclos (p.j, m) tais que k = m mod p 25/03/2017 Pós-graduação em Ciência da Computação

18 Pós-graduação em Ciência da Computação - 2012
Exemplo Seja S = ( ) Lmin = 1 , Lmax = 3 C = { (1,0), (2,0), (2,1), (3,0), (3,1), (3,2) } 1 2 3 4 5 6 7 8 9 Etapa 2.1 : Ciclos eliminados i = 2 : (1,0), (2,0),(3,2) i = 6 : (1,0), (2,0),(3,0) i = 9 : (1,0), (2,1), (3,0) No final da Etapa 2.1: C = {(3,1)} 25/03/2017 Pós-graduação em Ciência da Computação

19 Pós-graduação em Ciência da Computação - 2012
Exemplo Sejam Lmin = 1, Lmax = 5 Final da Etapa 2.1 C = {(2,0), (2,1), (3,2), (4,3) } Etapa 2.2: Ciclo (2,0) : ciclos eliminados (2n,i) tal que n > 0 i ≡ 0 mod 2 Nada é eliminado Ciclo (2,1) : ciclos eliminados (2n,i) tal que n > 0, i ≡ 1 mod 2 É eliminado o ciclo (4,3) Ciclo supérfluo 1 2 3 4 5 6 7 8 9 25/03/2017 Pós-graduação em Ciência da Computação

20 Considerações de Performance
Algoritmo Sequencial é factível quando o conjunto das sequências representando as regras cabem na memória principal. Um outro algoritmo mais eficiente: Algoritmo Interleaved Redução do tempo da fase do cálculo do suporte dos itemset Fase 1: Itemsets frequentes cíclicos são encontrados Fase 2: Regras de Associação cíclicas são encontradas 25/03/2017 Pós-graduação em Ciência da Computação

21 Propriedade Importante – FASE 2
Um ciclo da regra X  Y é um múltiplo de um ciclo do itemset X U Y Permite executar a geração das regras cíclicas a partir da detecção dos itemsets cíclicos 25/03/2017 Pós-graduação em Ciência da Computação

22 Pós-graduação em Ciência da Computação - 2012
Exemplo Suporte mínimo = 40% Confiança minima = 50 % 1 2 3 4 {a,b} {a,c,b} {c,b,a,d} {c,a} {b,d} {a,c,b} {d,c} {b,c,d} {c,b} {d,e} {a,b} {a,c} {c,b,d} {d,b} {a,d,b} {a,c,e} {a,c} {a,e,c,d} {a,f,b} {b,d} Suporte = 3/5 Suporte = 1/5 Suporte = 2/5 Suporte = 1/5 X X Regra : a  b 25/03/2017 Pós-graduação em Ciência da Computação

23 Propriedades Importantes – FASE 1
“Pulo” de ciclos : Reduz o número de itemsets candidatos no cálculo do suporte em certos instantes. “Poda” de ciclos: Reduz o escopo dos ciclos candidatos para um determinado itemset baseado nos ciclos de seus subitemsets Eliminação de ciclos: Reduz o escopo dos ciclos candidatos para um determinado itemset baseado no fato de X não ser frequente em algum instante t 25/03/2017 Pós-graduação em Ciência da Computação

24 Propriedades Importantes – Fase 1
“Pulo” de ciclos : técnica que evita o cálculo do suporte de um itemset candidato X nos instantes que não são parte do ciclo do itemset X Se o instante t não é parte de um ciclo do itemset X então X pode ser podado do conjunto de candidatos durante a fase da poda de Apriori executado no instante t. Poda de ciclos : Se um itemset X tem um ciclo (p,m) então todos os seus subitemsets tem o ciclo (p,m). Os ciclos de um itemset X são múltiplos de ciclos de seus subitemsets 25/03/2017 Pós-graduação em Ciência da Computação

25 Pós-graduação em Ciência da Computação - 2012
Exemplo 1. Se (2,1) é o único ciclo de {A} Se (2,1) é o único ciclo de {B} Então os ciclos de {A,B} são (2,1) e seus múltiplos 2. Se (2,1) é o único ciclo de {A} e (2,0) é o único ciclo de {B} então {A,B} não tem ciclo nenhum (propriedade da poda de ciclos) Logo, não há necessidade de calcular o suporte de {A,B} em nenhum instante. (propriedade do pulo de ciclos) 25/03/2017 Pós-graduação em Ciência da Computação

26 Propriedades Importantes – Fase 1
3. Eliminação de Ciclos: Se num instante i , sup(X) < minsup então X não pode ter nenhum ciclo (p,m), onde m = i mod p , Lmin ≤ p ≤ Lmax, 0 ≤ m < p Exemplo: Suponha que Lmax = 3 e suponha que o itemset X não é frequente nos instances 0, 1, 2 e 3. Então X não tem nenhum ciclo. Assim, não há necessidade de calcular o suporte de X para t > 3. 25/03/2017 Pós-graduação em Ciência da Computação

27 Algoritmo Interleaved (Fase 1)
K = 1 : todos os itemsets de tamanho 1 são gerados e seus ciclos detectados. K > 1 : 1. Gera candidatos (Apriori) juntamente com a lista de seus possíveis ciclos candidatos .(“poda ciclos”) Ck = { (X,Ciclos(X)) | X k-itemset , Ciclos(X) = ciclos candidatos de X 2. Para cada instante t = 0, …, n Poda candidatos : se o instante t não faz parte de Ciclo(X) então candidato X é podado.(“pula ciclos”) 2.2 Poda candidatos (Apriori) 2.3 Cálculo do Suporte (Apriori) 2.4 Elimina ciclos: se sup(X) < minsup, elimina ciclos de Ciclos(X) 25/03/2017 Pós-graduação em Ciência da Computação

28 Resultados Experimentais
25/03/2017 Pós-graduação em Ciência da Computação

29 Referência Banu Ozden Sridhar Ramaswamy Avi Silberschatz
Cyclic Association Rules. Proceeding ICDE '98 Proceedings of the Fourteenth International Conference on Data Engineering


Carregar ppt "Mineração de Dados Temporais Introdução"

Apresentações semelhantes


Anúncios Google