Slides - Técnico Lisboa

Propaganda
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
Download