Organizaes modernas para se manterem competitivas, necessitam responder rapidamente s mudanas do mercado. Para tal, elas necessitam de rpido acesso s informaes relevantes antes de tomarem qualquer deciso de negcio. Por outro lado, o crescimento explosivo de bases de dados empresariais, governamentais e cientficas tm ultrapassado o poder das tecnologias convencionais de banco de dados para interpretar e digerir estes dados, criando a necessidade de uma nova gerao de ferramentas e tcnicas para automatizar e dar mais inteligncia aos processos analticos em bases de dados (FSS, 1996). Neste contexto, o campo de Sistemas de Suporte Deciso (Decision Support Systems - DSS) tem crescido rapidamente. Sistemas de Suporte Deciso possuem a finalidade de prover automaticamente, para os responsveis pelo processo de tomada de deciso dentro das organizaes, insights descobertos e informaes agregadas de valor, necessrias para se fazer as melhores escolhas e de forma mais rpida (CAMPOS; FILHO, 2000). Neste cenrio de apoio tomada de deciso, onde h a necessidade de automao do processo de obteno, organizao e tratamento dos dados para anlise, surgem os Sistemas de Suporte Deciso, envolvendo as seguintes tecnologias de Banco de Dados e Inteligncia Artificial: Data Warehouse, OLAP e Minerao de Dados. Nas prximas sees so mostradas estas tecnologias, alm do projeto MATRIKS, onde este trabalho est inserido.
1 Data Warehouse Sistemas de Suporte Deciso (DSS) do lugar a diferentes requisitos de tecnologias de banco de dados daqueles exigidos em aplicaes de processamento transacional tradicional. Em DSS, o ambiente de dados fundamentalmente diferente do ambiente convencional de processamento de transaes. Em um ambiente convencional, os dados so organizados de forma a otimizar as operaes transacionais, j em um ambiente de DSS, os dados so organizados para fins de explorao e anlise. Desta forma, as aplicaes tpicas de uma empresa podem ser classificadas em: aplicaes do negcio, que garantem a operao da empresa (sistemas de produo); e aplicaes sobre o negcio, que analisam o negcio (sistemas de suporte deciso e sistemas de informaes executivas) (CAMPOS; FILHO, 2000). 21 Para dar suporte a esses dois tipos de aplicaes, uma arquitetura de dados adequada deve possuir: bancos de dados operacionais, para dar suporte s aplicaes do negcio; e os bancos de dados de apoio deciso, para dar suporte s aplicaes sobre o negcio. Desta forma, normalmente o data warehouse mantido separadamente da base de dados operacional da organizao, existindo vrias razes para tal. O data warehouse serve como base para o processamento analtico on-line (OLAP) e a minerao de dados, onde os requisitos funcionais e de performance so bem diferentes das aplicaes de processamento transacional on-line (OLTP), cujos bancos de dados tradicionais do suporte. Aplicaes de OLTP normalmente automatizam as operaes do dia a dia das organizaes, tais como entrada de pedidos e transaes bancrias. Estas transaes tem as seguintes caractersticas: So estruturadas e repetitivas, e consistem em transaes pequenas, isoladas e atmicas; Requerem atualizao de dados constante, e relativamente fazem poucas leituras aos mesmos. As atualizaes so feitas de acordo com a mudana de estado do objeto a que ele se refere, no sendo guardado histrico destas atualizaes. Consistncia e recuperao da base de dados so questes crticas; A maximizao do desempenho transacional a principal mtrica de desempenho; Os dados so organizados orientados por atividades/operaes funcionais. A base de dados projetada para refletir a semntica operacional de aplicaes conhecidas, e minimizar conflitos de concorrncia. Os data warehouses, em contraste, visam suporte deciso, e possuem as seguintes caractersticas: Dados histricos, resumidos e consolidados so mais importantes do que registros individuais detalhados. Sistemas de Suporte Deciso requerem dados que podem ser perdidos no ambiente operacional, por exemplo, a anlise de tendncias e previses requerem dados histricos, entretanto, bases de dados operacionais armazenam apenas os dados correntes; Dados integrados de diversas fontes operacionais: data warehouses podem conter dados consolidados de diversas bases de dados operacionais heterogneas. As diferentes fontes podem conter dados de qualidade varivel ou usar representaes, cdigos, ou formatos inconsistentes. Desta forma, importante integrar os dados (nomes, unidades de medidas), de forma que sejam transformados at um estado uniforme. Por exemplo, o dado sexo: uma aplicao pode codific-lo como M/F, outra como H/M ou ainda 0/1. No data 22 warehouse, estes dados so convertidos para um estado uniforme, codificando-o de uma nica forma; Possuem grande volume de dados: visto que data warehouses podem conter dados consolidados de diversas bases de dados operacionais, e potencialmente sobre longos perodos de tempo, eles tendem a ser ordens de magnitude maiores do que as bases de dados operacionais; Orientados por assunto: caracteriza o fato do data warehouse armazenar informaes a respeito de assuntos importantes para o negcio da empresa para fins de anlise. Por exemplo, produtos, lojas, clientes. Enquanto que, em ambientes operacionais os dados esto organizados voltados para atividades, isto , esto modelados e armazenados voltados para as operaes transacionais do dia a dia da empresa, onde normalmente so acessados por suas chaves primrias; Otimizados fisicamente para consultas analticas (OLAP): a carga de trabalho em data warehouses de consultas intensivas, complexas e ad-hoc, que podem acessar milhes de registros, e executar vrias junes e agregaes. Um data warehouse contm dados extrados do ambiente de produo da empresa, selecionados, depurados, e principalmente otimizados para o processamento de consultas, e no para o processamento de transaes, como so os bancos de dados destinados aos sistemas de produo; Modelados logicamente para consultas analticas (OLAP): o desempenho de consultas e tempos de resposta das mesmas so mais importantes do que o desempenho de transaes. Para tal, os dados de um data warehouse so modelados especialmente voltados para anlise; No volteis: os dados armazenados em um data warehouse so apenas para leitura. Significando que, em um data warehouse, aps os dados serem integrados e transformados, dada a carga inicial dos dados e posteriormente apenas consultas podem ser realizadas sobre esses dados; Limpeza de dados: considerando que data warehouses so usados para tomada de deciso, importante que seus dados estejam corretos. Em grandes volumes de dados provenientes de diversas fontes, existe uma grande probabilidade de existirem erros e anomalias nos dados. Dessa forma, antes de serem consolidados em um data warehouse, os dados so limpos, para que no sejam armazenados rudos (dados inconsistentes, em branco, ou anmalos; tamanhos de campos inconsistentes, descries inconsistentes). Tais rudos nos 23 dados podem deteriorar a qualidade dos resultados dos algoritmos de data mining, que podero ser posteriormente aplicados sobre os dados; Fornecem uma viso simples e concisa em torno de alguns assuntos: dados que no so teis ao processo de tomada de deciso devem ser excludos; Possuem um horizonte de tempo significantemente maior que em sistemas operacionais: fornece informaes a partir de uma perspectiva histrica (5 a 10 anos). Visto essas caractersticas, temos ento a seguinte definio de Data Warehouse segundo Inmon (1996): um Data Warehouse uma coleo de dados orientada por assuntos, integrada, variante no tempo e no voltil, que tem por objetivo dar suporte ao processo de tomada de deciso. As diversas etapas do processo para construo de um data warehouse pode ser melhor visualizado atravs da Figura 2.1.
Figura 2.1 Processo de construo de um Data Warehouse. Dados de diversas fontes OLTP so pr-selecionados e integrados atravs de empacotadores de integrao de dados, formando um banco de dados analtico integrado. Posteriormente ferramentas de limpeza de dados so utilizadas a fim de gerar um banco de dados analtico limpo, que atravs de um processo de derivao pode gerar novas informaes, formando 24 assim o data warehouse, um conjunto de dados analticos integrados, limpos, temporais, primitivos e derivados, armazenados em um banco de dados relacional. Considerando que bases de dados operacionais so otimizadas para suportar a carga de trabalho de OLTP, tentar executar consultas complexas de OLAP nestas bases de dados pode resultar em desempenhos no aceitveis (maiores detalhes de OLAP sero abordados na prxima seo). Por essas razes que os data warehouses so, geralmente, implementados separadamente das bases de dados operacionais. Para facilitar as consultas, anlises complexas e visualizao, os dados em um data warehouse so organizados em torno de pontos principais. Por exemplo, em um data warehouse de vendas, data da compra, cliente, vendedor e produto podem ser algumas das dimenses representadas. Geralmente estas dimenses possuem hierarquias: a data da compra, por exemplo, pode ser organizada em uma hierarquia de dia-ms-semestre-ano, produto em uma hierarquia de produto-categoria-indstria, e assim por diante. Operaes tpicas de OLAP, como veremos na prxima seo, so realizadas sobre dimenses e hierarquias.
2 OLAP OLAP (CODD, et.al., 1993; CHAUDHURI; DAYAL, 1996) uma categoria de software especfica para realizar processamento analtico dos dados de um data warehouse, de forma que este processamento deve: (1) ocorrer com alto desempenho e interatividade, e (2) auxiliar tomada de deciso em uma organizao, por meio da interpretao desses dados em uma variedade de vises multidimensionais. A Figura 2.2 mostra uma arquitetura OLAP tpica. Vises multidimensionais dos dados em um data warehouse E-R so um modelo conceitual de dados que influencia as ferramentas de visualizao, o projeto do data warehouse, e os mecanismos de consulta. Em um modelo de dados multidimensional existe um conjunto de medidas numricas que so os objetos da anlise. Exemplos de medidas so: valor das vendas, quantidade vendida, lucros, inventrio. Cada medida depende de um conjunto de dimenses que fornecem o contexto da medida. Por exemplo, as dimenses associadas com a quantidade de vendas podem ser cidade, produto, e data da venda. As dimenses juntas determinam unicamente a medida. Desta forma, uma medida um valor no espao multidimensional de dimenses. Cada dimenso descrita por um conjunto de atributos. Por exemplo, a dimenso produto pode ser descrita pelos seguintes atributos: categoria da indstria, a indstria que fabrica o produto, ano em que foi introduzido no mercado e mdia de lucro. Os atributos de uma dimenso podem estar relacionados atravs de uma hierarquia. Ainda no exemplo de 25 vendas, a dimenso produto pode conter a seguinte hierarquia entre seus atributos: indstria categoria produto.
Figura 2.2 Arquitetura OLAP tpica. Entre os tipos de processamento executados em uma base de dados de uma organizao, vimos, na seo anterior, que o processamento analtico (OLAP) defini-se em contraste ao processamento transacional (OLTP), que destinado a armazenar e analisar dados de suporte operacional, ou seja, dados essencialmente manipulados para permitir anlise de registros atmicos com eficincia. Em OLAP, os dados esto otimizados para o processamento analtico, enquanto que em OLTP, os dados esto otimizados para o processamento transacional. Na Figura 2.3, vemos um resumo das diferenas entre aplicaes de OLAP e OLTP. Vises multidimensionais sobre os dados em OLAP provm do fato de que questes tpicas de anlise de negcios organizacionais geralmente requerem a visualizao dos dados segundo diferentes perspectivas. Por exemplo, suponha-se que uma grande rede de lojas departamentais necessita analisar seu negcio para ter a capacidade de planejar e reagir, 26 rapidamente s mudanas nas condies de seus negcios e, desta forma, tomar decises para se posicionar de forma competitiva no mercado. Para tal, necessrio analisar o histrico dos dados da empresa sobre as vendas, sobre o estoque de produtos. Uma anlise deste tipo requer uma viso histrica por meio de diversas perspectivas, como por exemplo: totais de vendas por produto, totais de vendas por regio, e totais de vendas por perodo de tempo. A anlise de dados sob diversas perspectivas permite fazer previses sobre o negcio em questo, como por exemplo, no caso da rede de lojas departamentais, responder perguntas do tipo: Qual a tendncia do volume de vendas, de um determinado produto, para um determinado perodo de tempo, em uma determinada regio de atuao da rede de lojas departamentais?. OLTP OLAP Objetivos Anlise diria dos dados do negcio Analise histrica sobre os dados do negcio Viso dos dados Relacional Multidimensional Operaes com os dados Incluso, Alterao, Excluso e Consulta. Carga e Consulta Atualizao Contnua (tempo real) Peridica (em lote) Nmero de usurios Centenas Dezenas Tipo de usurio Operacional Gerencial Interao com o usurio Predominantemente pr-definida Predominantemente ad-hoc Granularidade dos dados Detalhada Detalhada e resumida Redundncia No existe Existe Volume de armazenamento Megabytes Gigabytes Gigabytes Terabytes Histrico dos dados No mantm Mantm Acesso aos registros na ordem de Dezenas Milhares Figura 2.3 OLAP x OLTP (LINO, 2000) Desta forma, a anlise de dados sob diferentes perspectivas, que d origem ao aspecto multidimensional da tecnologia OLAP. Discutiremos agora, alguns conceitos pertinentes a tecnologia OLAP, relacionados a este aspecto multidimensional, por meio do exemplo da Figura 2.4. Conceitos: Dimenses: So as diferentes perspectivas envolvidas. Dimenses geralmente correspondem a campos no numricos em um data warehouse e fornecem informaes descritivas. No caso da Figura 2.4, as dimenses so: Tempo (Time), Localizao (Location), e Item (Item). Medidas: Disponibilizam as informaes quantitativas que se deseja consultar e analisar, isto , campos numricos em um banco de dados. No caso da Figura 2.4, a medida o total de vendas de produtos. 27 Cubos ou hipercubos: Os dados que so extrados do data warehouse E-R so organizados e armazenados em estruturas multidimensionais chamadas de cubo 1 . No caso da Figura 2.4, temos um cubo com trs dimenses: Tempo (Time), Localizao (Location), e Item (Item).
Toronto 395 USA 2000 Vancouver Canada Q1 605 Q1 1000 Q2 Q2 computer Q3 home dice for Q4 entertainment (location ="Toronto" or "Vancouver") computer security item (types) and (time ="Q1" or "Q2") and home phone (item="home entertainment" or "computer") entertainment it em (t ypes) r oll-up on location (fromcities Chicago 440 to countries) New York 1560 Toronto 395 Vancouver Q1 605 825 14 400 Q2 Q3 Q4 computer security dr ill-down home phone on time slice entertainment (fromquarters for time ="Q1" it em (t ypes) to months) Chicago Chicago New York New York Toronto Toronto Vancouver 605 825 14 400 Vancouver computer security J anuary 150 home phone February 100 entertainment March 150 it em (t ypes) April May J une J uly August home September entertainment 605 October computer 825 November phone 14 December security 400 computer security New York Vancouver home phone Chicago Toronto entertainment Location (cities) it em (types) pivot L o c a t i o n s
( c i t i e s ) T i m e
( q u a r t e r s ) L o c a t i o n s
( c i t i e s ) T i m e
( m o n t h s ) Locations (countr ies) T i m e
( q u a r t e r s ) Locations (cit ies) T i m e
( q u a r t e r s ) L o c a t i o n s
( c i t i e s ) i t e m
( t y p e s )
Figura 2.4 - Cubo de dados de vendas por trimestre, local e tipo de item (HAN; KAMBER, 2001)
Funes de Agregao: Avaliam-se agregaes das medidas segundo as dimenses do cubo por meio de funes de agregao. Alguns exemplos de funes de agregao so: soma, mdia, desvio padro, mnimo, mximo. No caso da Figura 2.4, a funo de
1 Um cubo pode conter n dimenses, e chamado de n-dimensional. 28 agregao utilizada soma (sum), onde so apresentadas as somas dos totais das vendas segundo as dimenses, isto , a soma de vendas de computadores (computer), no primeiro trimestre (Q1), na cidade de Toronto, por exemplo. Membros: So os elementos de uma dimenso. No caso da Figura 2.4, os membros da dimenso Item so home entertainment, computer, phone e security, enquanto que os membros da dimenso Localizao (Location) so Vancouver, Toronto, New York e Chicago. Hierarquias: Os membros de uma dimenso so organizados (agregados) em nveis de hierarquias. Por exemplo, a dimenso Tempo (Time) da Figura 2.4 poderia organizar seus membros em nveis de granularidade, como Ano, Trimestre, Ms, Dia; ou seja, em uma hierarquia temporal. Em uma hierarquia, a granularidade de um membro de nvel inferior sempre menor do que a de um nvel superior. Por exemplo, a granularidade de Dia menor que a de Ano. A disposio dos membros de uma dimenso, nos nveis de uma hierarquia desta dimenso, deve ser feita respeitando-se o grau de agregao dos mesmos, pois um membro de menor granularidade sempre deve estar imediatamente abaixo do seu membro de granularidade maior seguindo-se a hierarquia. OLAP tambm caracteriza-se por possuir uma srie de operaes especficas para a manipulao/navegao dos dados multidimensionais. A seguir so discutidas brevemente algumas das operaes mais populares, ilustradas com exemplos do cubo de vendas da Figura 2.4: Drill-down: desagregao/detalhamento dos dados para um nvel com menor granularidade. Supondo-se que exista a hierarquia Tempo, definida como Ano TrimestreMsDia no exemplo da Figura 2.4, ento, aplicando-se a operao drill- down sobre a dimenso Tempo, obter-se-ia uma nova visualizao dos dados, com a dimenso data disposta segundo o ms do ano da compra, conforme pode ser observado. Neste caso, ms (months) um nvel imediatamente abaixo de trimestre (quarters), na hierarquia definida de tempo; Roll-up ou Drill-up: agregao dos dados para um nvel com maior granularidade. A operao de roll-up exatamente o inverso da operao de drill-down, isto , aplicando-se operaes de roll-up, partindo-se de visualizaes de dados em nveis de granularidade inferiores, chega-se a nveis de granularidade superiores. Na Figura 2.4, realizando-se a operao de roll-up na dimenso Localizao (Location), que se encontra no nvel de hierarquia Cidades (cities), esta passaria para o nvel imediatamente acima, que neste caso representado por Pases (countries); 29 Slice/Dice: seleo de parte de um cubo (fatiamento do cubo). Por exemplo, na Figura 2.4, uma operao de slice pode ser aplicada ao cubo, de modo que sejam selecionadas as clulas do cubo que fazem parte da dimenso Localizao e Item para o primeiro trimestre (Q1) (fatia do cubo). A operao dice define um sub-cubo pela seleo de duas ou mais dimenses; Pivoting/Rotate: inverso/rotao dos eixos do cubo para visualizao dos resultados de uma consulta. Na Figura 2.4, o cubo est sendo visualizado, dispondo-se a dimenso Item no eixo-x e a dimenso Localizao no eixo-y. Por meio da operao de pivoting pode-se mudar a perspectiva de visualizao, invertendo-se os eixos, isto , dispondo-se a dimenso Localizao no eixo-x e a dimenso Item no eixo-y, por exemplo; Drill-across - desagregao/detalhamento dos dados atravs de mltiplos nveis de dimenses diferentes. Por exemplo, na Figura 2.4, uma operao de drill-across aplicada ao cubo Pases (countries) x Trimestres (quarters) x Tipos (types), poderia levar diretamente ao cubo Cidades (cities) x Meses (months) x Tipos sem passar pelo cubo intermedirio Cidades x Trimestres x Tipos. Apesar de aplicaes de OLAP apresentarem os dados em vises lgicas multidimensionais, estes no necessariamente esto armazenados fisicamente em estruturas multidimensionais 2 . Estruturas relacionais podem ser usadas para a representao e armazenamento de dados multidimensionais. De acordo com a forma como os dados esto armazenados no data warehouse que d suporte aos sistemas OLAP, trs tipos de arquitetura caracterizam as ferramentas OLAP (CHAUDHURI; DAYAL ,1996; PENDSE , 2000): ROLAP (Relational OLAP): Realiza seu processamento analtico em um data warehouse com estrutura fsica relacional, e modelado dimensionalmente por meio de tcnicas de modelagem chamadas Esquema Estrela, Esquema Floco de Neve 3 (KINBALL, 1996; INMON, 1996; CAMPOS; FILHO, 2000) , ou Esquema Constelao 4 ; MOLAP: (Multidimensional OLAP): Realiza seu processamento analtico em um data warehouse cujo armazenamento fsico usa tecnologia de banco de dados multidimensionais (GYSSENS; LAKSHMANAN, 1997) com matrizes n-dimensionais; HOLAP (Hybrid OLAP)- Integra as caractersticas funcionais da ROLAP e MOLAP em uma nica arquitetura hbrida. O armazenamento fsico dos dados do data warehouse
2 SGBD Multidimensionais. 3 Em Esquemas Floco de Neve as tabelas de dimenses esto normalizadas. 4 Em Esquemas Constelao so usadas estruturas mais complexas, nas quais mltiplas tabelas de fatos compartilham tabelas de dimenses. 30 feito em tabelas relacionais, entretanto para implementar eficientemente as consultas, um cache dos nveis de agregao mais comuns guardado na memria como uma matriz n- dimensional. O ambiente OLAP permite aos usurios facilmente sumarizar e acessar dados, mas possuem algumas limitaes na construo e manuteno de modelos analticos complexos dos dados organizacionais. Para aumentar a sua eficcia, sistemas OLAP devem dar suporte a linguagens de consulta, possveis em diferentes nveis de abstrao (TORLONE; CABIBBO, 1998). Consultas OLAP no podem ser previstas e so muito dinmicas. Os tipos de informaes requisitadas cobrem todo o escopo dos dados disponveis. Consultas devem possuir a habilidade de tirar vantagem dos relacionamentos representados no banco de dados. Uma das estratgias para responder a consultas OLAP rapidamente a de computao prvia de consultas complexas envolvendo mltiplas agregaes dependentes em mltiplas granularidades. Estes cubos pr-computados so muito teis na prtica, j que muitas consultas complexas podem ser respondidas sem um aumento significante no custo computacional, em comparao com consultas simples a cubos de dados padres. Assim como o padro SQL utilizado para acesso aos dados em um banco de dados relacional, expresses multidimensionais (MDX - Multidimensional Expressions) vm crescendo como um padro de fato para bancos de dados multidimensionais (MLC, 2000). A seguir apresentaremos as principais caractersticas das expresses multidimensionais.
2.1 Expresses Multidimensionais MDX Padro introduzido pela Microsoft, expresses multidimensionais permitem que programadores OLAP acessem funes orientadas a conjunto e hierarquia, e especifiquem objetos como eixos, medidas, dimenses, e nveis utilizados em consultas OLAP. Embora seja similar a SQL na sintaxe, MDX uma linguagem independente. A seguir veremos a sintaxe utilizada por instrues MDX atravs do uso de exemplos. Apesar dos dados estarem armazenados nos servidores OLAP de uma forma multidimensional, para a realizao de consultas MDX os dados devem estar dispostos em apenas 2 eixos: coluna (eixo obrigatrio) e linha (eixo opcional). A forma mais simples de uma expresso multidimensional obedece estrutura: SELECT especificao_do_eixo ON COLUMNS, (obrigatrio) especificao_do_eixo ON ROWS (opcional) FROM nome_do_cubo (obrigatrio) 31 WHERE especificao_slice (opcional) No exemplo da Figura 2.4, um cubo formado de apenas uma dimenso (Locations) poderia ser gerado atravs da instruo SELECT [Locations].[Countries].MEMBERS ON COLUMNS FROM [Sales] Algumas observaes podem ser feitas a partir deste exemplo: A palavra-chave .MEMBERS refere-se aos membros de um determinado nvel de hierarquia (todos os pases da dimenso Location), se por outro lado, o usurio quisesse referenciar as cidades (filhos) de um determinado pas (membro) deveria utilizar a palavra chave .CHILDREN (ex. [Locations].[Countries].[USA].CHILDREN Chicago e New York); Como no indicamos uma medida para os dados, os resultados apresentados se referem medida definida como padro no momento da criao do cubo de dados, para indicar uma outra medida, deveramos utilizar a clusula WHERE (ex. WHERE [Measures].[Sales Average]). A seguir mostramos a instruo para o cubo de duas dimenses (Location e Item) gerados a partir da operao de slice do cubo central da Figura 2.4: SELECT [Item].[Types].MEMBERS ON COLUMNS, [Locations].[Cities].MEMBERS ON ROWS FROM [Sales] WHERE ([Measures].[Unit Sales], [Time].[Quarters].[Q1]) Para a realizao de consultas MDX envolvendo mais de duas dimenses, deveremos utilizar a funo CROSSJ OIN, que produz todas as combinaes entre dois conjuntos. Como exemplo tomemos o cubo central da Figura 2.4: SELECT [Locations].[Cities].MEMBERS ON COLUMNS, CROSSJ OIN( {[Time].[Quarters].Members}, {[Item].[Types].Members}) ON ROWS FROM [Sales] WHERE [Measures].[Sales Average] Para finalizar esta breve apresentao sobre consultas MDX, j que se trata de uma linguagem poderosa, com muitos recursos e inmeras funes (que podem inclusive ser extendidas), mostraremos o uso da clusula WITH, que permite ao usurio criar suas prprias medidas e membros, tomando por base os dados j existentes. Supondo que a nossa hierarquia da dimenso Tempo esteja organizada da seguinte maneira: AnoTrimestreMs, e que quisssemos apresentar os resultados das vendas por semestre, poderamos utilizar a instruo WITH para criar os novos membros: WITH MEMBER [Time].[S1] AS [Time].[Quarters].[Q1] +[Time].[Quarters].[Q2] MEMBER [Time].[S2] AS [Time].[Quarters].[Q3] +[Time].[Quarters].[Q4] 32 SELECT {[Time].[S1], [Time].[S2]} ON COLUMNS, [Locations].[Cities].MEMBERS ON ROWS FROM [Sales] A seguir apresentamos um exemplo de criao de uma nova medida (percentual de lucro) a partir de medidas existentes: WITH MEMBER Measures.ProfitPercent AS (Measures.[Store Sales] Measures.[Store Cost]) / (Measures.[Store Cost]), FORMAT_STRING =#.00% SELECT [Locations].[Cities].MEMBERS ON COLUMNS, [Time].[Months].MEMBERS ON ROWS FROM [Sales] WHERE Measures.ProfitPercent
3 Descoberta de Conhecimento em Bancos de Dados A descoberta de conhecimento em bancos de dados (KDD Knowledge Discovery in Databases) um processo de identificao de padres previamente desconhecidos, que consiste na aplicao de algoritmos de aprendizagem de mquina ou estatstica, e que produz um conjunto de padres, no triviais, interpretveis e vlidos, e potencialmente teis, em meio aos dados (FSS, 1996). No processo de KDD est inclusa a etapa de Minerao de Dados. Considera-se aqui dados como uma srie de fatos, como por exemplo, registros em uma base de dados; e padres como uma expresso em alguma linguagem, descrevendo um subconjunto dos dados ou um modelo que se aplica ao subconjunto. Desta forma, extrair padres significa ajustar um modelo para os dados, encontrar alguma estrutura nos dados, ou de forma geral, fazer uma descrio de alto nvel de um conjunto de dados. O termo processo usado j que KDD composto de vrias etapas. J no-trivial significa que busca e inferncia est envolvida no processo, isto , no um processo de clculo de quantidades predefinidas, como o clculo de uma mdia por exemplo. Os padres descobertos devem ser vlidos e possuir um certo grau de certeza. desejvel tambm que os padres sejam novos e potencialmente teis, trazendo algum benefcio para o usurio ou para a tarefa de descoberta de conhecimento. E finalmente os padres devem ser compreensveis. Como foi dito, o processo de KDD interativo e iterativo em espiral, envolvendo vrias etapas, nas quais muitas delas necessitam da participao direta do usurio. As primeiras iteraes so ingnuas, muitas vezes trazendo resultados bvios ou incompreensveis. A Figura 2.5 fornece uma viso prtica do processo, enfatizando a natureza interativa do mesmo. 33 Considerando que as etapas de seleo, limpeza, integrao e transformao dos dados do processo de KDD coincidem com os passos para construo de um data warehouse para o processamento analtico on-line. As organizaes podem ento, aps a construo do data warehouse, escolher qual mtodo a ser adotado para anlise dos dados: OLAP e/ou Minerao de Dados. Figura 2.5 Os passos que constituem o processo de KDD (FSS, 1996) Antes de se iniciar o processo de KDD, a primeira coisa a ser feita desenvolver um entendimento do domnio da aplicao e do conhecimento prvio relevante, identificando os objetivos do processo de KDD do ponto de vista do cliente. Entendemos por cliente, neste contexto, as pessoas responsveis pelo processo de tomada de deciso dentro da organizao em foco. Discutiremos a seguir as etapas do processo de KDD, ilustrando com exemplos de uma aplicao de fraude de carto de crdito, cujo objetivo determinar quando usurios esto comprando itens com um carto de crdito roubado. Para este exemplo, o propsito da anlise ser identificar os clientes com padres de uso do carto de crdito que diferem dos padres de uso previamente estabelecidos. As etapas do processo de KDD so: Definio do objetivo da minerao: devem ser respondidas as seguintes questes: Qual tipo de conhecimento est sendo procurado para influenciar qual tipo de deciso? Qual grau de abstrao ele deve possuir? Qual confiabilidade estatstica? Em qual formalismo represent-lo? No nosso exemplo estamos procurando um padro de comportamento para clientes de carto de crdito, como sada obteramos a resposta se determinado tipo de 34 compra representa ou no uma fraude e como conseqncia, a compra seria ou no autorizada pela administradora do carto. Seleo: diz respeito compreenso do domnio de aplicao, do conhecimento prvio relevante, e dos objetivos do processo de KDD do ponto de vista do usurio final, resultando em um conjunto de dados alvo onde ser realizado o processo de descoberta. Envolve o que os estatiscistas chamam de anlise exploratria dos dados. Recorrendo-se ao exemplo do carto de crdito, temos que grandes companhias de carto de crdito normalmente possuem vrios sites de processamento que so responsveis por reas geogrficas especficas. Desta forma, um subconjunto dos dados deve ser selecionado da base de dados, pois seria desnecessrio analisar todos os dados. Pr-processamento: na fase de pr-processamento e limpeza de dados so realizadas operaes bsicas de remoo de rudos, coleta de informaes necessrias para modelar ou explicar rudo nos dados, deciso de que estratgias usar para tratar campos de dados em branco, e tratar informaes temporais seqenciais assim como mudanas conhecidas. Nesta fase, pode tambm ser feita re-configurao de dados, para assegurar formatos consistentes e integrados. Freqentemente dados possuem erros introduzidos em seus processos de entrada, e como os dados alvos podem ser selecionados de vrias fontes, os mesmos esto sujeitos a inconsistncias de vrios tipos (em termos de modelo de dados, semntica dos atributos, modos de representao). No nosso exemplo, possvel que o mesmo cliente seja representado de duas maneiras diferentes, em sites diferentes: em um, o campo nome do cliente pode conter o primeiro nome seguido pelo ltimo, em outro pode conter apenas o ltimo nome. A fase de pr-processamento deve identificar essas diferenas e deixar os dados consistentes e limpos. Transformao: nesta fase so feitas reduo e projeo de dados. Isto alcanado encontrando-se caractersticas teis para represent-los de acordo com o objetivo da tarefa de minerao de dados que ser usada na fase seguinte. Com os mtodos de transformao e reduo aplicados nesta fase, o nmero efetivo de variveis em considerao pode ser reduzido, bem como representaes no variantes dos dados podem ser encontradas, deixando os dados em formatos utilizveis. Ilustrando com o exemplo do carto de crdito, temos que os dados podem ser transformados para uso em diferentes tcnicas de anlise: um conjunto de tabelas individuais podem ser agrupadas em uma nica tabela, um atributo que est representado de diferentes formas (data escrita como 18-03-1999 e 3/18/99) devem ser transformados para um formato comum, ou ainda um dado que est 35 representado como texto deve ser transformado para um formato numrico, se for requerido por uma mtodo de minerao de dados no processo. Minerao dos dados: consiste na escolha e aplicao de um mtodo particular de minerao de dados, isto , um algoritmo de aprendizagem de mquina, para a extrao dos padres de comportamento dos dados. Dentre exemplos de tipos de mtodos de minerao de dados que podem ser aplicados encontram-se: sumarizao, classificao, regresso, agrupamento, entre outros (FSS, 1996). No nosso exemplo, pode ser escolhido um algoritmo que ir automaticamente procurar por agrupamentos no comportamento dos dados. Este tipo de algoritmo pode encontrar, por exemplo, um conjunto de clientes que fazem relativamente pequena quantidade de compras, um conjunto de clientes que fazem grande nmero de compras, e um conjunto de clientes que fazem um grande nmero de compras em perodos muito curtos de tempo. Estes comportamentos podem ser analisados posteriormente para determinar se alguns dos padres so representativos do comportamento de fraude de carto. Desta forma, o algoritmo de minerao escolhido poderia caracterizar um comportamento de fraude por quantidade de compras em um curto perodo de tempo, ou por reas geogrficas diferentes de onde o cliente normalmente realiza compras. Interpretao e Avaliao: nesta etapa feita a interpretao dos resultados, os padres minerados, com possvel retorno aos passos anteriores. Esta fase tambm envolve visualizao dos padres e modelos extrados, ou dos dados de acordo com modelos descobertos. Quando um padro identificado, ele deve ser examinado para determinar se o mesmo novo, relevante, e correto, por algum padro de medida. Esta etapa pode requerer mais interao com o usurio, pois este quem mais pode fazer determinaes de relevncia. Quando o padro considerado relevante e til, ele pode ser considerado conhecimento, e normalmente colocado na base de conhecimento para ser usado em iteraes subseqentes. A base de conhecimento pode ser vista como um mecanismo de armazenamento similar a uma base de dados, usada para armazenar os conhecimentos descobertos e tambm informaes prvias sobre o domnio. Na Figura 2.6 mostramos os passos necessrios para a realizao da etapa de minerao de dados em um ambiente de data warehouse: dados analticos previamente integrados, limpos, primitivos e derivados (armazenados em um data warehouse) so selecionados em tabelas que, aps sofrerem um processo de transformao, se encontram prontas para aplicao de 36 algoritmos de minerao. Ferramentas de minerao so ento utilizadas, gerando o conhecimento minerado, que ser posteriormente apresentado ao usurio.
Figura 2.6 Processo de Minerao de Dados. Os algoritmos de minerao de dados, de acordo com o conhecimento gerado, podem ser classificados em dois tipos: Descritivos descrevem conceitos ou padres relevantes no conjunto de dados; ou Preditivos baseados nos dados em anlise, constroem modelos para o banco de dados e fazem previso de tendncias e de dados desconhecidos. Os resultados obtidos atravs do processo de minerao de dados podem ser apresentados em diversos formatos, a depender do algoritmo de minerao empregado. A seguir mostramos as principais classes de sada de minerao de dados: Descrio conceitual: caracteriza e discrimina os dados algoritmo para generalizao, sumarizao e descoberta de contrastes nas caractersticas dos dados (ex.: caractersticas de regies secas e midas); Associao: identificam correlao e causalidade nos dados. Podem descobrir associaes multi-dimensionais Idade (X, 20..29) ^Renda (X, 20..29mil) Compra (X, PC) 37 [suporte =2%, confidncia =60%], ou uni-dimensionais Comprou (T, Computador) Comprou (x, Software) [1%, 75%]; Classificao e predio: encontram modelos que distinguem e descrevem classes ou conceitos para previso futura (ex.: classificao de pases baseado no clima ou classificao de carros baseada no consumo mdio). Os resultados so apresentados na forma de rvore de deciso, regra de classificao ou rede neural. Podem ser utilizados para prever valores desconhecidos ou em falta; Agrupamento: algoritmo aplicado quando se deseja agrupar dados sem conhecer os nomes das classes. Os dados so agrupados de maneira a formar novas classes (ex.: agrupamento de casas para encontrar padres de distribuio). Baseia-se no princpio de maximizar a similaridade intra-classes e minimizar a similaridade entre classes; Anlise de valores extremos (outliers): encontra objetos que no esto de acordo com o comportamento geral dos dados valores atpicos. til na deteco de fraudes e anlise de eventos raros. Processos de KDD e Minerao de Dados tm sido aplicados em diversos domnios cientficos e empresariais. Em cincia, uma das principais reas de aplicao astronomia; em negcios, dentre as principais reas de aplicao destacam-se marketing, finanas (especialmente investimentos financeiros), deteco de fraudes, telecomunicaes. Exemplos de aplicaes de marketing so sistemas de anlise de compras, onde possvel encontrarmos padres (que podem ser valiosos para varejistas) do seguinte tipo: Se o cliente compra X, ento ele dever comprar Y e Z. Tanto o projeto MATRIKS como OCCOM se focalizam em uma classe de sada do processo de KDD: a minerao de valores extremos (outliers).
4 OLAM Atualmente existe um campo emergente de pesquisa que se foca na integrao das tecnologias de OLAP e Minerao de Dados. O termo Minerao Analtica On-Line (On-Line Analytical Mining OLAM) para se referir integrao destas duas tecnologias complementares em um ambiente de KDD foi introduzido por HAN (1997). A minerao de conhecimento em bancos de dados multidimensionais particularmente importante devido complementaridade de OLAP e minerao de dados: enquanto OLAP fornece dados de alta qualidade (limpos, integrados, consistentes) necessrios para a aplicao de ferramentas de anlise e consultas OLAP, a minerao de dados, por sua vez, automatiza o 38 processo de descoberta de padres interessantes, anlise e explorao do grande volume de dados disponveis nos sistemas OLAP. A arquitetura apresentada na Figura 2.6 pode ser adaptada para ambientes OLAM como mostrado na Figura 2.7. Em um ambiente OLAM, as tabelas para minerao so selecionadas atravs de consultas a bases de dados OLAP, sobre as quais so aplicadas as ferramentas de minerao de dados. O usurio poder ento visualizar tanto os dados originais, atravs da realizao de consultas OLAP, como o conhecimento gerado atravs do processo de minerao. Existem vrios desafios nesta integrao, principalmente porque as ferramentas de Minerao de Dados atuais devem ser refeitas pensando-se em lidar com a representao de dados OLAP. Alguns resultados neste sentido podem ser encontrados no sistema DBMiner (HAN, 1997), e em pesquisas sobre mtodos de Minerao de Dados no contexto OLAP em AAD (1996). Esta proposta de integrao entre OLAP e Minerao de Dados bastante promissora porque se beneficia das principais vantagens da representao, organizao e consultas multidimensionais de dados OLAP: viso histrica e multidimensional dos dados, interatividade, alto desempenho, uso de operaes especficas para navegao nos dados; e da anlise inteligente de dados proporcionado pela tecnologia de Minerao de Dados. A principal caracterstica desta integrao a capacidade de minerar subconjuntos de dados em mltiplos nveis de abstrao e granularidade que OLAP d suporte. 39