Introdução e Motivação de DW, OLAP e Data Mining (baseado nos slides do livro: Data Mining: C & T) Motivação Problema: Explosão de dados As maturidade atingida pelas ferramentas de recolha automática de dados e pelas tecnologias de BD têm como consequência a existência de grandes volumes de dados armazenados em BDs, DWs e outros repositórios de informação. “Afogados” em dados, mas “famintos” de conhecimento. Solução: Data warehousing e data mining Data warehousing e on-line analytical processing (OLAP) Extracção de conhecimento interessante (regras, padrões, restrições) dos dados existentes em grandes BDs SAD Tagus 2004/05 H. Galhardas Evolução da tecnologia de BD 1960s: Data collection, database creation, IMS and network DBMS 1970s: Relational data model, relational DBMS implementation 1980s: RDBMS, advanced data models (extended-relational, OO, deductive, etc.) and application-oriented DBMS (spatial, scientific, engineering, etc.) 1990s—2000s: Data mining and data warehousing, multimedia databases, Web databases SAD Tagus 2004/05 H. Galhardas Plano Objectivo de um DW Operações OLTP vs OLAP Conceito de DW: repositório e arquitectura Interrogações OLAP Exploração de dados (Data Mining) e aplicações Processo de descoberta de conhecimento (KDD) Arquitectura típica de um sistema de data mining Funções de data mining Medidas de interesse SAD Tagus 2004/05 H. Galhardas Objectivo Geral de um DW Acumular informação para produzir indicadores de negócio que permitam tomar decisões SAD Tagus 2004/05 H. Galhardas Informação Grandes quantidades de informação estão disponíveis A análise de informação é a base da tomada de decisão Características necessárias: precisa fiável actualizada relevante orientada à acção SAD Tagus 2004/05 H. Galhardas Sistemas operacionais (OLTP) Contabilidade, compras, reservas, telecomunicações, etc Muitas fontes de dados dispersas (ficheiros excel, BD Access,etc), mtas aplicações, mtas interfaces Problemas: acesso aos dados díficil, qualidade de dados duvidosa, dados estruturados à aplicação (ex: códigos específicos), suporte a interrogações simples SAD Tagus 2004/05 H. Galhardas Esquema TPC-C (benchmark) Warehouse W Stock 100K W*100K 10 100K (fixed) one-to-many relationship <cardinality> W*10 secondary index 3K Customer Order 1+ W*30K+ 1+ 10-15 History Order-Line W*30K+ W*300K+ SAD Tagus 2004/05 W Legend Table Name District W*30K Item H. Galhardas New-Order 0-1 W*5K Vista detalhada CUSTOMER ORDER C_ID C_D_ID C_W_ID C_FIRST C_MIDDLE C_LAST C_STREET_1 C_STREET_2 C_CITY C_STATE C_ZIP C_PHONE C_SINCE C_CREDIT C_CREDIT_LIM C_DISCOUNT C_BALANCE C_YTD_PAYMENT C_PAYMENT_CNT C_DELIVERY_CNT C_DATA SAD Tagus 2004/05 O_ID O_D_ID O_W_ID O_C_ID O_ENTRY_D O_CARRIER_ID O_OL_CNT O_OL_CNT O_ALL_LOCAL ORDER-LINE OL_O_ID OL_D_ID OL_C_ID OL_NUMBER OL_I_ID OL_SUPPLY_W_ID OL_DELIVERY_D OL_QUANTITY OL_AMOUNT OL_DIST_INFO H. Galhardas Operações OLTP New-order: enter a new order from a customer Payment: update customer balance to reflect a payment Delivery: deliver orders (done as a batch transaction) Order-status: retrieve status of customer’s most recent order Stock-level: monitor warehouse inventory SAD Tagus 2004/05 H. Galhardas Interrogações de apoio à decisão Extractos de TPC-D (actualmente H e R): Retrieve the 10 unshipped orders with the highest value. Report the amount of business that was billed, shipped, and returned. Determines how well the order priority system is working and gives an assessment of customer satisfaction. That is, count the number of orders ordered in a given quarter of a given year in which at least one lineitem was shipped by the customer later than its committed date. The query lists the count of such orders for each order priority sorted in ascending priority order. SAD Tagus 2004/05 H. Galhardas Extracção de dados operacionais Para suportar aplicações de SAD, existem vários problemas: Duplicação de esforço em extracções múltiplas Versões de dados incoerentes e obsoletas Qualidade de dados:falta de chave universal, entrada de dados livre, campos c/ valores heterógeneos, normalização Sistemas operacionais SAD Tagus 2004/05 Extracções H. Galhardas Gestores OLTP vs. OLAP OLTP OLAP users clerk, IT professional knowledge worker function day to day operations decision support DB design application-oriented subject-oriented data current, up-to-date detailed, flat relational isolated repetitive historical, summarized, multidimensional integrated, consolidated ad-hoc lots of scans unit of work read/write index/hash on prim. key short, simple transaction # records accessed tens millions #users thousands hundreds DB size 100MB-GB 100GB-TB metric transaction throughput query throughput, response usage access SAD Tagus 2004/05 H. Galhardas complex query Conceito de DW (1) Conjunto centralizado de dados: temáticos históricos datados integrados persistentes que oferece um nível de qualidade adequado às aplicações de decisão SAD Tagus 2004/05 H. Galhardas Dados temáticos Os dados estão organizados por processo de negócio e não por aplicação de produção Exemplos : Cliente(contratos seguros, empréstimos, contas, planos de poupança, etc) Produto(gama, vendas, compras, custos de produção, etc) SAD Tagus 2004/05 H. Galhardas Dados históricos Os dados residem no DW durante um largo período de tempo É feita a adição sucessiva de incrementos de dados Actualizações e remoções são raras Carregamentos sucessivos e incrementais Arquivo de dados muito antigos SAD Tagus 2004/05 H. Galhardas Dados datados Os dados do DW representam imagens sucessivas do mundo real São importantes os seguintes aspectos: Granularidade de tempo Granularidade de refrescamento Coerência das imagens SAD Tagus 2004/05 H. Galhardas Dados integrados Todos os dados relativos a um processo de negócio encontram-se organizados de forma pertinente, coerente e não redundante A integração de dados é obtida através de processos de transformação de dados: consolidação, agregação, interpretação Estes processos devem estar documentados através de metadados SAD Tagus 2004/05 H. Galhardas Dados persistentes Os dados estão fisicamente separados dos sistemas operacionais Não são necessários mecanismos de gestão de transacções, recuperação e controlo de concorrência As operações fundamentais são: carregamento inicial e incremental dos dados, e leitura dos dados SAD Tagus 2004/05 H. Galhardas Conceito de DW (2) Arquitectura de integração de dados que suporta a tomada de decisão através de: Técnicas OLAP (interrogações estruturadas ou ad-hoc, geração de relatórios analíticos) para visualização e navegação de informação segundo difs. perspectivas Técnicas de data mining: técnicas de análise de dados mais avançadas para compreender os dados. SAD Tagus 2004/05 H. Galhardas Arquitectura típica de DW Metadata other sources Operational DBs Data Sources SAD Tagus 2004/05 Extract Transform Load Refresh Data Warehouse OLAP Server Serve OLAP Ad-hoc Query Reports Data mining Data Marts Data StorageH. GalhardasOLAP Engine Front-End Tools Interrogações OLAP (1) TIMES timeid date week month quarter year holiday_flag PRODUCTS pid timeid locid sales SALES (Fact table) LOCATIONS pid pname category price locid city state country WI CA Total Pivoting: Agragação por determinadas dimensões 1995 63 81 144 Ex: Pivoting on Location and Time yields this cross-tabulation: SAD Tagus 2004/05 H. Galhardas 1996 38 107 145 1997 75 35 110 Total 176 223 339 Interrogações OLAP (2) Outra operação comum: agregar uma medida sobre uma ou mais dimensões Find total sales. Find total sales for each city, or for each state. Find top five products ranked by total sales. Roll-up: Agregar a diferentes níveis de uma hierarquia de dimensões Given total sales by city, we can roll-up to get sales by state. SAD Tagus 2004/05 H. Galhardas SQL para expressar interrogações OLAP A cross-tabulation pode ser calculada usando uma colecção de interrogações SQL SELECT SUM(S.sales) FROM Sales S, Times T, Locations L WHERE S.timeid=T.timeid AND S.timeid=L.timeid GROUP BY T.year, L.state SELECT SUM(S.sales) FROM Sales S, Times T WHERE S.timeid=T.timeid GROUP BY T.year SAD Tagus 2004/05 SELECT SUM(S.sales) FROM Sales S, Location L WHERE S.timeid=L.timeid GROUP BY L.state H. Galhardas O operador CUBE (SQL:1999) Generalizando, se existirem k dimensões, existem 2^k possíveis interrogações GROUP BY sobre um subcjto de dimensões CUBE pid, locid, timeid BY SUM Sales Equivalente a fazer rolling up de Sales em todos os 8 sucjtos do conjunto {pid, locid, timeid}; cada roll-up corresponde a uma interrogação SQL da forma: SELECT SUM(S.sales) FROM Sales S GROUP BY grouping-list SAD Tagus 2004/05 H. Galhardas O que é Data Mining? Data mining ou descoberta de conhecimento em BDs (knowledge discovery in databases): Extracção de informação interessante (não trivial, implicita, desconhecida ou potencialmente útil) ou padrões em grandes BDs Nomes alternativos: Knowledge discovery(mining) in databases (KDD), knowledge extraction, data/pattern analysis, data archeology, data dredging, information harvesting, business intelligence, etc. SAD Tagus 2004/05 H. Galhardas Aplicações Análise de dados e suporte à decisão: 1. Análise e gestão de mercado: target marketing, customer relation management, market basket analysis, cross selling, market segmentation 2. Análise e gestão de risco: Forecasting, customer retention, improved underwriting, quality control, competitive analysis 3. Detecção e gestão de fraudes Outras aplicações: Text mining (news group, email, documents) and Web analysis. Intelligent query answering SAD Tagus 2004/05 H. Galhardas 1. Análise e gestão de mercado Fontes de dados: Alvo de mercado: Find clusters of “model” customers who share the same characteristics: interest, income level, spending habits, etc. Deteminar padrões de aquisição/compra ao longo do tempo Credit card transactions, loyalty cards, discount coupons, customer complaint calls, plus (public) lifestyle studies Conversão de uma conta bancária simples para uma conta conjunta quando as pessoas se casam Cross-market analysis Associações entre compras de produtos Previsão baseada nas associações encontradas SAD Tagus 2004/05 H. Galhardas 1. Análise e gestão de mercado (cont) Traçar perfil de clientes Que tipos de clientes compram que tipo de produtos (clustering e classificação) Identificar requisitos dos clientes Quais os melhores produtos para diferentes clientes Usar previsão para encontrar quais os factores que atraiem novos clientes Fornece informação sumarizada Vários relatórios com informação (estatistica) sumarizada SAD Tagus 2004/05 H. Galhardas 2. Análise e gestão de risco Planeamento financeiro e avaliação de bens Previsão e análise de cash flow contingent claim analysis to evaluate assets cross-sectional and time series analysis (financial-ratio, trend analysis, etc.) Planeamento de recursos: Sumarizar e comparar recursos e gastos Competição: Monitorizar a concorrência e as direcções do mercado Agrupar os clientes em classes e conceber uma estratégia de preços baseada nessas classes SAD Tagus 2004/05 H. Galhardas 3. Detecção e gestão de fraudes Aplicações: medicina, retalho, serviços de cartões de crédio, telecom (detecção de fraudes nos cartões telefónicos), etc Aproximação: Usar dados históricos para construir modelos de comportamento fraudulento Exemplos: Seguros: detectar grupos de pessoas que forjam acidentes para receber o dinheiro do seguro Branqueamento de capital: detectar transacções bancárias suspeitas SAD Tagus 2004/05 H. Galhardas Outras aplicações Sports IBM Advanced Scout analyzed NBA game statistics (shots blocked, assists, and fouls) to gain competitive advantage for New York Knicks and Miami Heat Astronomy JPL and the Palomar Observatory discovered 22 quasars with the help of data mining Internet Web Surf-Aid IBM Surf-Aid applies data mining algorithms to Web access logs for market-related pages to discover customer preference and behavior pages, analyzing effectiveness of H. Galhardas SADWeb Tagus 2004/05 marketing, improving Web site organization, etc. Data Mining para KDD Pattern Evaluation Data Mining Task-relevant Data Data Warehouse Selection Data Cleaning Data Integration Databases SAD Tagus 2004/05 H. Galhardas Passos de um processo de KDD Apreender o domínio do problema Seleccionar as fontes de dados relevantes Limpeza e pré-processamento de dados Redução e transformação de dados Escolher funções/tarefas de data mining Para procurar padrões de interesse Avaliar os padrões encontrados e a apresentação de conhecimento Sumarização, classificação, regressão, associação, clustering Escolher e executar o algoritmo de data mining Descobrir características úteis, reduzir as dimensões, etc Visualização, remoção de padrões redundantes, etc Utilização do conhecimento descoberto SAD Tagus 2004/05 H. Galhardas Arquitectura típica de um sistema de data mining Graphical user interface Pattern evaluation Data mining engine Knowledge-base Database or data warehouse server Filtering Data cleaning & data integration Databases SAD Tagus 2004/05 Data Warehouse H. Galhardas Data Mining e Business Intelligence Increasing potential to support business decisions Making Decisions Data Presentation Visualization Techniques Data Mining Information Discovery End User Business Analyst Data Analyst Data Exploration Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts OLAP, MDA Data Sources Paper, Files, Information Providers, Database Systems, OLTP SAD Tagus 2004/05 H. Galhardas DBA Sobre que tipos de dados se faz data mining? Relational databases Data warehouses Transactional databases Advanced DB and information repositories Object-oriented and object-relational databases Spatial databases Time-series data and temporal data Text databases and multimedia databases Heterogeneous and legacy databases WWW SAD Tagus 2004/05 H. Galhardas Data Mining: confluência de várias disciplinas Database Technology Machine Learning Statistics Data Mining Information Science SAD Tagus 2004/05 Visualization Other Disciplines H. Galhardas Funções de Data Mining (1) Descrição de conceitos: caracterização e discriminação Generalizar, sumarizar e contrastar características dos dados Associação (correlação e causalidade) Associação multi-dimensional vs uni-dimensional age(X, “20..29”) ^ income(X, “20..29K”) buys(X, “PC”) [support = 2%, confidence = 60%] contains(T, “computer”) contains(x, “software”) [1%, 75%] SAD Tagus 2004/05 H. Galhardas Funções de Data Mining (2) Classificação Encontrar modelos que descrevam e sejam capazes de distinguir classes/conceitos para previsão Ex: classificar países baseado no clima, ou classificar carros baseado na kilometragem Técnicas: árvores de decisão, regras de classificação, redes neuronais Previsão Prever valores desconhecidos ou em falta SAD Tagus 2004/05 H. Galhardas Funções de Data Mining (3) Análise de clusters Não existe uma catalogação apriori, logo agrupa dados para formar novas classes Ex: agrupar casas para encontrar padrões de distribuição Principio: maximizar a semelhança dentro de uma classe e minimizar a semelhança entre classes SAD Tagus 2004/05 H. Galhardas Funções de Data Mining (4) Detecção de outliers Outlier é um objecto de dados que não obedece ao comportamento genérico dos dados Pode ser considerado como ruído ou excepção, mas é útil em detecção de fraudes Trend and evolution analysis Técnicas: análise de regressão, mining de padrões em sequências, análise baseada em semelhança SAD Tagus 2004/05 H. Galhardas Todos os padrões descobertos são interessantes? Milhares de padrões gerados, nem todos interessantes Um padrão é interessante se fôr compreendido por humanos, fôr válido para dados de teste e novos dados com um grau de certeza fôr potencialmente útil Validar alguma hipótese procurada pelo utilizador. Medidas de interesse: objectivas: baseadas em estatística e estruturas de padrões (suporte, confiança, etc) subjectivas: baseadas na crença do utilizador nos dados SAD Tagus 2004/05 H. Galhardas Podem ser descobertos todos os padrões e só os interessantes? Completude: encontrar todos os padrões interessantes Association vs. classification vs. clustering Optimização: procurar só os padrões interessantes Todos os padrões e depois filtrar só os interessantes Optimização de interrogações de mining: encontrar só os interessantes SAD Tagus 2004/05 H. Galhardas OLAP Mining: integração de data mining e DW On-line analytical mining data Mining interactivo de conhecimento a diferentes níveis Integração de tecnologias de mining e OLAP Explorar conhecimento e padrões a diferentes níveis de abstracção,através das operações de drilling/rolling, pivoting, etc. Integração de múltiplas funções de mining Classificação, clustering, associação SAD Tagus 2004/05 H. Galhardas An OLAM Architecture Mining query Mining result Layer4 User Interface User GUI API OLAM Engine OLAP Engine Layer3 OLAP/OLAM Data Cube API Layer2 MDDB MDDB Meta Data Filtering&Integration Database API Filtering Layer1 Data cleaning Databases SAD Tagus 2004/05 Data Warehouse Data integration H. Galhardas Data Repository Aspectos mais importantes em data mining Metodologia de mining e interacção com o utilizador Desempenho e escalabilidade Lidar com diversidade de tipos de dados ... SAD Tagus 2004/05 H. Galhardas Bibliografia (Livro) Data Mining: Concepts and Techniques, J. Han & M. Kamber, Morgan Kaufmann, 2001 (Cap 1 ) (Livro) The Data Warehouse Toolkit, R. Kimball, Wiley 2001 (?) (Artigo) An Overview of Data Warehousing and OLAP Technology, S. Chaudhuri & U. Dayal, SIGMOD Record, March 1997 SAD Tagus 2004/05 H. Galhardas