1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data...

98
1

Transcript of 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data...

Page 1: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

1

Page 2: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

2

Decision Support Systems

Data Analysis and OLAP

Data Warehousing

Data Mining

Page 3: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

3

Decision-support systems are used to make business decisions,

often based on data collected by on-line transaction-processing

systems.

Examples of business decisions:

What items to stock?

What insurance premium to change?

To whom to send advertisements?

Examples of data used for making decisions

Retail sales transaction details

Customer profiles (income, age, gender, etc.)

Page 4: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Databases

Databases are developed on the IDEA that

DATA is one of the critical materials of the

Information Age

Information, which is created by data,

becomes the bases for decision making

4

Page 5: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Decision Support Systems

Created to facilitate the decision making

process

So much information that it is difficult to

extract it all from a traditional database

Need for a more comprehensive data storage

facility

Data Warehouse

5

Page 6: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Decision Support Systems

Extract Information from data to use as the basis

for decision making

Used at all levels of the Organization

Tailored to specific business areas

Interactive

Ad Hoc queries to retrieve and display

information

Combines historical operation data with

business activities6

Page 7: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

4 Components of DSS

1. Data Store – The DSS Database

Business Data

Business Model Data

Internal and External Data

2. Data Extraction and Filtering

Extract and validate data from the

operational database and the external data

sources7

Page 8: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

4 Components of DSS

3. End-User Query Tool

Create Queries that access either the

Operational or the DSS database

4. End User Presentation Tools

Organize and Present the Data

8

Page 9: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Differences with DSS

Operational

Stored in Normalized Relational Database

Support transactions that represent daily

operations (Not Query Friendly)

3 Main Differences

Time Span

Granularity

Dimensionality

9

Page 10: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

1. Time SpanOperational

Real Time

Current Transactions

Short Time Frame

Specific Data Facts

DSS

Historic

Long Time Frame (Months/Quarters/Years)

Patterns

10

Page 11: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

2. Granularity

Operational

Specific Transactions that occur at a given time

DSS

Shown at different levels of aggregation

Different Summary Levels

Decompose (drill down)

Summarize (roll up)

11

Page 12: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

3. Dimensionality

Most distinguishing characteristic of DSS data

Operational

Represents atomic transactions

DSS

Data is related in Many ways

Develop the larger picture

Multi-dimensional view of data

12

Page 13: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

DSS Database Requirements

DSS Database Scheme

Support Complex and Non-Normalized

data

Summarized and Aggregate data

Multiple Relationships

Queries must extract multi-dimensional time slices

Redundant Data

13

Page 14: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

DSS Database Requirements

Data Extraction and Filtering

DSS databases are created mainly by extracting

data from operational databases combined with

data imported from external source Need for advanced data extraction & filtering tools

Allow batch / scheduled data extraction

Support different types of data sources

Check for inconsistent data / data validation rules

Support advanced data integration / data formatting

conflicts

14

Page 15: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

DSS Database Requirements

End User Analytical Interface

Must support advanced data modeling and data presentation

tools

Data analysis tools

Query generation

Must Allow the User to Navigate through the DSS

Size Requirements

VERY Large – Terabytes

Advanced Hardware (Multiple processors, multiple disk

arrays, etc.)

15

Page 16: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

16

Data analysis tasks are simplified by specialized tools and SQL extensions

Example tasks

For each product category and each region, what were the total sales in

the last quarter and how do they compare with the same quarter last

year

As above, for each product category and each customer category

Statistical analysis packages (e.g., : S++) can be interfaced with databases

Statistical analysis is a large field, but not covered here

Data mining seeks to discover knowledge automatically in the form of

statistical rules and patterns from large databases.

A data warehouse archives information gathered from multiple sources, and

stores it under a unified schema, at a single site.

Important for large businesses that generate data from multiple divisions,

possibly at multiple sites

Data may also be purchased externally

Page 17: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

17

Online Analytical Processing (OLAP)

Interactive analysis of data, allowing data to be summarized and

viewed in different ways in an online fashion (with negligible

delay)

Data that can be modeled as dimension attributes and measure

attributes are called multidimensional data.

Measure attributes

Measure some value

Can be aggregated upon

e.g. the attribute number of the sales relation

Dimension attributes

Define the dimensions on which measure attributes (or

aggregates thereof) are viewed

e.g. the attributes item_name, color, and size of the sales

relation

Page 18: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

18

The table above is an example of a cross-tabulation (cross-tab), also referred to as a pivot-table. Values for one of the dimension attributes form the row headers Values for another dimension attribute form the column

headers Other dimension attributes are listed on top Values in individual cells are (aggregates of) the values of the

dimension attributes that specify the cell.

Page 19: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

19

Cross-tabs can be represented

as relations

We use the value all is used to

represent aggregates

The SQL:1999 standard

actually uses null values in

place of all despite confusion

with regular null values

Page 20: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

20

A data cube is a multidimensional generalization of a cross-tab Can have n dimensions; we show 3 below Cross-tabs can be used as views on a data cube

Page 21: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

OLAP

Online Analytical Processing Tools

DSS tools that use multidimensional data

analysis techniques

Support for a DSS data store

Data extraction and integration filter

Specialized presentation interface

21

Page 22: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

22

Pivoting: Changing the dimensions used in a cross-tab is

called

Slicing: Creating a cross-tab for fixed values only

Sometimes called dicing, particularly when values for

multiple dimensions are fixed.

Rollup: moving from finer-granularity data to a coarser

granularity

Drill down: The opposite operation - that of moving from

coarser-granularity data to finer-granularity data

Page 23: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

23

Hierarchy on dimension attributes: lets dimensions to be viewed

at different levels of detail

E.g. the dimension DateTime can be used to aggregate by hour of

day, date, day of week, month, quarter or year

Page 24: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

24

Cross-tabs can be easily extended to deal with hierarchies

Can drill down or roll up on a hierarchy

Page 25: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

OLAP

Need for More Intensive Decision Support

4 Main Characteristics

Multidimensional data analysis

Advanced Database Support

Easy-to-use end-user interfaces

Support Client/Server architecture

25

Page 26: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Multidimensional Data Analysis Techniques

Advanced Data Presentation Functions

3-D graphics, Pivot Tables, Crosstabs, etc.

Compatible with Spreadsheets & Statistical

packages

Advanced data aggregations, consolidation and

classification across time dimensions

Advanced computational functions

Advanced data modeling functions26

Page 27: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Advanced Database Support

Advanced Data Access Features

Access to many kinds of DBMS’s, flat files, and

internal and external data sources

Access to aggregated data warehouse data

Advanced data navigation (drill-downs and roll-

ups)

Ability to map end-user requests to the

appropriate data source

Support for Very Large Databases27

Page 28: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Easy-to-Use End-User Interface

Graphical User Interfaces

Much more useful if access is kept simple

28

Page 29: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Client/Server Architecture

Framework for the new systems to be

designed, developed and implemented

Divide the OLAP system into several

components that define its architecture

Same Computer

Distributed among several computer

29

Page 30: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

OLAP Architecture

3 Main Modules

GUI

Analytical Processing Logic

Data-processing Logic

30

Page 31: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

OLAP Client/Server ArchitectureOLAP Client/Server Architecture

31

Page 32: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Relational OLAP

Relational Online Analytical Processing

OLAP functionality using relational database

and familiar query tools to store and analyze

multidimensional data

Multidimensional data schema support

Data access language & query performance

for multidimensional data

Support for Very Large Databases32

Page 33: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

33

The earliest OLAP systems used multidimensional arrays

in memory to store data cubes, and are referred to as

multidimensional OLAP (MOLAP) systems.

OLAP implementations using only relational database

features are called relational OLAP (ROLAP) systems

Hybrid systems, which store some summaries in memory

and store the base data and other summaries in a

relational database, are called hybrid OLAP (HOLAP)

systems.

Page 34: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

OLAP Implementation (Cont.) Early OLAP systems precomputed all possible aggregates in order to provide online

response

Space and time requirements for doing so can be very high

2n combinations of group by

It suffices to precompute some aggregates, and compute others on demand from

one of the precomputed aggregates

Can compute aggregate on (item-name, color) from an aggregate on (item-name,

color, size)

For all but a few “non-decomposable” aggregates such as median

is cheaper than computing it from scratch

Several optimizations available for computing multiple aggregates

Can compute aggregate on (item-name, color) from an aggregate on

(item-name, color, size)

Can compute aggregates on (item-name, color, size),

(item-name, color) and (item-name) using a single sorting

of the base data

34

Page 35: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

35

The cube operation computes union of group by’s on every subset of the

specified attributes

E.g. consider the query

select item-name, color, size, sum(number)

from sales

group by cube(item-name, color, size)

This computes the union of eight different groupings of the sales relation:

{ (item-name, color, size), (item-name, color),

(item-name, size), (color, size),

(item-name), (color),

(size), ( ) }

where ( ) denotes an empty group by list.

For each grouping, the result contains the null value for attributes not

present in the grouping.

Page 36: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Extended Aggregation (Cont.) Relational representation of cross-tab that we saw earlier, but with null in place of all, can be

computed by

select item-name, color, sum(number)

from sales

group by cube(item-name, color)

The function grouping() can be applied on an attribute

Returns 1 if the value is a null value representing all, and returns 0 in all other cases.

select item-name, color, size, sum(number),

grouping(item-name) as item-name-flag,

grouping(color) as color-flag,

grouping(size) as size-flag,

from sales

group by cube(item-name, color, size)

Can use the function decode() in the select clause to replace

such nulls by a value such as all

E.g. replace item-name in first query by

decode( grouping(item-name), 1, ‘all’, item-name)36

Page 37: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

37

The rollup construct generates union on every prefix of specified list of attributes

E.g. select item-name, color, size, sum(number)from salesgroup by rollup(item-name, color, size)

Generates union of four groupings: { (item-name, color, size), (item-name, color), (item-name), ( ) }

Rollup can be used to generate aggregates at multiple levels of ahierarchy.

E.g., suppose table itemcategory(item-name, category) gives the category of each item. Then select category, item-name, sum(number) from sales, itemcategory where sales.item-name = itemcategory.item-name group by rollup(category, item-name)would give a hierarchical summary by item-name and by category.

Page 38: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

38

Multiple rollups and cubes can be used in a single group by clause

Each generates set of group by lists, cross product of sets gives

overall set of group by lists

E.g.,

select item-name, color, size, sum(number)

from sales

group by rollup(item-name), rollup(color, size)

generates the groupings

{item-name, ()} X {(color, size), (color), ()}

= { (item-name, color, size), (item-name, color), (item-name),

(color, size), (color), ( ) }

Page 39: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

39

Ranking is done in conjunction with an order by specification.

Given a relation student-marks(student-id, marks) find the rank of

each student.

select student-id, rank( ) over (order by marks desc) as s-rank

from student-marks

An extra order by clause is needed to get them in sorted order

select student-id, rank ( ) over (order by marks desc) as s-rank

from student-marks

order by s-rank

Ranking may leave gaps: e.g. if 2 students have the same top

mark, both have rank 1, and the next rank is 3

dense_rank does not leave gaps, so next dense rank would be

2

Page 40: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Ranking (Cont.) Ranking can be done within partition of the data.

“Find the rank of students within each section.”

select student-id, section,

rank ( ) over (partition by section order by marks

desc)

as sec-rank

from student-marks, student-section

where student-marks.student-id = student-section.student-id

order by section, sec-rank

Multiple rank clauses can occur in a single select clause

Ranking is done after applying group by clause/aggregation

40

Page 41: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Ranking (Cont.)

Other ranking functions:

percent_rank (within partition, if partitioning is done)

cume_dist (cumulative distribution)

fraction of tuples with preceding values

row_number (non-deterministic in presence of duplicates)

SQL:1999 permits the user to specify nulls first or nulls last

select student-id,

rank ( ) over (order by marks desc nulls last) as s-rank

from student-marks

41

Page 42: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

42

For a given constant n, the ranking the function ntile(n) takes

the tuples in each partition in the specified order, and divides

them into n buckets with equal numbers of tuples.

E.g.:

select threetile, sum(salary)

from (

select salary, ntile(3) over (order by salary) as

threetile

from employee) as s

group by threetile

Page 43: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

43

Used to smooth out random variations.

E.g.: moving average: “Given sales values for each date, calculate for each date the

average of the sales on that day, the previous day, and the next day”

Window specification in SQL:

Given relation sales(date, value)

select date, sum(value) over

(order by date between rows 1 preceding and 1 following)

from sales

Examples of other window specifications:

between rows unbounded preceding and current

rows unbounded preceding

range between 10 preceding and current row

All rows with values between current row value –10 to current value

range interval 10 day preceding

Not including current row

Page 44: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Windowing (Cont.) Can do windowing within partitions

E.g. Given a relation transaction (account-number, date-time, value),

where value is positive for a deposit and negative for a withdrawal

“Find total balance of each account after each transaction on the

account”

select account-number, date-time,

sum (value ) over

(partition by account-number

order by date-time

rows unbounded preceding)

as balance

from transaction

order by account-number, date-time

44

Page 45: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Warehousing Data sources often store only current data, not historical data

Corporate decision making requires a unified view of all

organizational data, including historical data

A data warehouse is a repository (archive) of information

gathered from multiple sources, stored under a unified schema, at

a single site

Greatly simplifies querying, permits study of historical trends

Shifts decision support query load away from transaction

processing systems

45

Page 46: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

46

Page 47: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Warehouse

DSS – friendly data repository for the DSS is

the DATA WAREHOUSE

Definition: Integrated, Subject-Oriented,

Time-Variant, Nonvolatile database that

provides support for decision making

47

Page 48: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Integrated

The data warehouse is a centralized,

consolidated database that integrated data

derived from the entire organization

Multiple Sources

Diverse Sources

Diverse Formats

48

Page 49: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Subject-Oriented

Data is arranged and optimized to provide

answer to questions from diverse functional

areas

Data is organized and summarized by topic

Sales / Marketing / Finance / Distribution / Etc.

49

Page 50: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Time-Variant

The Data Warehouse represents the flow of

data through time

Can contain projected data from statistical

models

Data is periodically uploaded then time-

dependent data is recomputed

50

Page 51: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Nonvolatile

Once data is entered it is NEVER removed

Represents the company’s entire history

Near term history is continually added to it

Always growing

Must support terabyte databases and

multiprocessors

Read-Only database for data analysis and

query processing51

Page 52: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Marts

Small Data Stores

More manageable data sets

Targeted to meet the needs of small groups

within the organization

Small, Single-Subject data warehouse subset

that provides decision support to a small

group of people

52

Page 53: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

12 Rules of a Data Warehouse

Data Warehouse and Operational Environments

are Separated

Data is integrated

Contains historical data over a long period of

time

Data is a snapshot data captured at a given point

in time

Data is subject-oriented53

Page 54: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

12 Rules of Data Warehouse

Mainly read-only with periodic batch updates

Development Life Cycle has a data driven

approach versus the traditional process-

driven approach

Data contains several levels of detail

Current, Old, Lightly Summarized, Highly

Summarized

54

Page 55: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

12 Rules of Data WarehouseEnvironment is characterized by Read-only

transactions to very large data sets

System that traces data sources, transformations,

and storage

Metadata is a critical componentSource, transformation, integration, storage,

relationships, history, etc

Contains a chargeback mechanism for resource

usage that enforces optimal use of data by end

users55

Page 56: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

56

When and how to gather data

Source driven architecture: data sources transmit new

information to warehouse, either continuously or

periodically (e.g. at night)

Destination driven architecture: warehouse periodically

requests new information from data sources

Keeping warehouse exactly synchronized with data sources

(e.g. using two-phase commit) is too expensive

Usually OK to have slightly out-of-date data at warehouse

Data/updates are periodically downloaded form online

transaction processing (OLTP) systems.

What schema to use

Schema integration

Page 57: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

More Warehouse Design Issues Data cleansing

E.g. correct mistakes in addresses (misspellings, zip code errors)

Merge address lists from different sources and purge duplicates

How to propagate updates

Warehouse schema may be a (materialized) view of schema from

data sources

What data to summarize

Raw data may be too large to store on-line

Aggregate values (totals/subtotals) often suffice

Queries on raw data can often be transformed by query optimizer

to use aggregate values

57

Page 58: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Warehouse Schemas Dimension values are usually encoded using small integers and

mapped to full values via dimension tables

Resultant schema is called a star schema

More complicated schema structures

Snowflake schema: multiple levels of dimension tables

Constellation: multiple fact tables

58

Page 59: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Star Schema

4 Components

Facts

Dimensions

Attributes

Attribute Hierarchies

59

Page 60: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

1. FactsNumeric measurements (values) that represent

a specific business aspect or activity

Stored in a fact table at the center of the star

scheme

Contains facts that are linked through their

dimensions

Can be computed or derived at run time

Updated periodically with data from operational

databases

60

Page 61: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

2. Dimensions

Qualifying characteristics that provide

additional perspectives to a given fact

DSS data is almost always viewed in relation to

other data

Dimensions are normally stored in dimension

tables

61

Page 62: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

3. AttributesDimension Tables contain Attributes

Attributes are used to search, filter, or classify facts

Dimensions provide descriptive characteristics about

the facts through their attributed

Must define common business attributes that will be

used to narrow a search, group information, or

describe dimensions. (ex.: Time / Location / Product)

No mathematical limit to the number of dimensions

(3-D makes it easy to model)

62

Page 63: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

4. Attribute Hierarchies

Provides a Top-Down data organization

Aggregation

Drill-down / Roll-Up data analysis

Attributes from different dimensions can be

grouped to form a hierarchy

63

Page 64: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Star Schema for Sales

Fact Table

Dimension Tables

64

Page 65: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Star Schema RepresentationFact and Dimensions are represented by physical

tables in the data warehouse database

Fact tables are related to each dimension table in a

Many to One relationship (Primary/Foreign Key

Relationships)

Fact Table is related to many dimension tables

The primary key of the fact table is a composite primary key

from the dimension tables

Each fact table is designed to answer a specific DSS

question65

Page 66: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Star Schema

The fact table is always the large table in the

star schema

Each dimension record is related to thousand

of fact records

Star Schema facilitated data retrieval functions

DBMS first searches the Dimension Tables

before the larger fact table

66

Page 67: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Warehouse Implementation

An Active Decision Support Framework

Not a Static Database

Always a Work in Process

Complete Infrastructure for Company-Wide

decision support

Hardware / Software / People / Procedures / Data

Data Warehouse is a critical component of the

Modern DSS – But not the Only critical component

67

Page 68: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Mining

Discover Previously unknown data

characteristics, relationships,

dependencies, or trends

Typical Data Analysis Relies on end users

Define the Problem

Select the Data

Initial the Data Analysis

Reacts to External Stimulus68

Page 69: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data MiningProactive

Automatically searches Anomalies

Possible Relationships

Identify Problems before the end-user

Data Mining tools analyze the data, uncover problems

or opportunities hidden in data relationships, form

computer models based on their findings, and then

user the models to predict business behavior – with

minimal end-user intervention

69

Page 70: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Mining

A methodology designed to perform

knowledge-discovery expeditions over the

database data with minimal end-user

intervention

3 Stages of Data

Data

Information

Knowledge

70

Page 71: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Extraction of Knowledge from Data

71

Page 72: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

4 Phases of Data MiningData Preparation

Identify the main data sets to be used by the data

mining operation (usually the data warehouse)

Data Analysis and Classification

Study the data to identify common data

characteristics or patterns

Data groupings, classifications, clusters, sequences

Data dependencies, links, or relationships

Data patterns, trends, deviation

72

Page 73: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

4 Phases of Data Mining Knowledge Acquisition

Uses the Results of the Data Analysis and Classification phase

Data mining tool selects the appropriate modeling or knowledge-

acquisition algorithms Neural Networks

Decision Trees

Rules Induction

Genetic algorithms

Memory-Based Reasoning

Prognosis Predict Future Behavior

Forecast Business Outcomes 65% of customers who did not use a particular credit card in the last 6 months

are 88% likely to cancel the account.

73

Page 74: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Mining

Still a New Technique

May find many Unmeaningful Relationships

Good at finding Practical Relationships

Define Customer Buying Patterns

Improve Product Development and Acceptance

Etc.

Potential of becoming the next frontier in

database development

74

Page 75: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Mining Data mining is the process of semi-automatically analyzing large

databases to find useful patterns

Prediction based on past history

Predict if a credit card applicant poses a good credit risk, based on

some attributes (income, job type, age, ..) and past history

Predict if a pattern of phone calling card usage is likely to be

fraudulent

Some examples of prediction mechanisms:

Classification

Given a new item whose class is unknown, predict to which class it

belongs

Regression formulae

Given a set of mappings for an unknown function, predict the

function result for a new parameter value

75

Page 76: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Data Mining (Cont.)

Descriptive Patterns

Associations

Find books that are often bought by “similar” customers. If a

new such customer buys one such book, suggest the others too.

Associations may be used as a first step in detecting causation

E.g. association between exposure to chemical X and cancer,

Clusters

E.g. typhoid cases were clustered in an area surrounding a

contaminated well

Detection of clusters remains important in detecting epidemics

76

Page 77: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

77

Classification rules help assign new objects to classes.

E.g., given a new automobile insurance applicant, should he or

she be classified as low risk, medium risk or high risk?

Classification rules for above example could use a variety of data,

such as educational level, salary, age, etc.

person P, P.degree = masters and P.income > 75,000

P.credit = excellent

person P, P.degree = bachelors and

(P.income 25,000 and P.income 75,000)

P.credit = good

Rules are not necessarily exact: there may be some

misclassifications

Classification rules can be shown compactly as a decision tree.

Page 78: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

78

Page 79: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

79

Training set: a data sample in which the classification is

already known.

Greedy top down generation of decision trees.

Each internal node of the tree partitions the data into

groups based on a partitioning attribute, and a

partitioning condition for the node

Leaf node:

all (or most) of the items at the node belong to the

same class, or

all attributes have been considered, and no further

partitioning is possible.

Page 80: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

80

Pick best attributes and conditions on which to partition The purity of a set S of training instances can be measured

quantitatively in several ways. Notation: number of classes = k, number of instances = |S|,

fraction of instances in class i = pi. The Gini measure of purity is defined as[

Gini (S) = 1 -

When all instances are in a single class, the Gini value is 0 It reaches its maximum (of 1 –1 /k) if each class the same number

of instances.

kk

ii- 1- 1pp22

ii

Page 81: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Best Splits (Cont.)

Another measure of purity is the entropy measure, which is defined as

entropy (S) = –

When a set S is split into multiple sets Si, I=1, 2, …, r, we can measure the purity of the resultant set of sets as:

purity(S1, S2, ….., Sr) =

The information gain due to particular split of S into Si, i = 1, 2, …., r Information-gain (S, {S1, S2, …., Sr) = purity(S ) – purity (S1, S2, … Sr)

81

rr

ii= 1= 1

||SSii||

||SS||purity purity ((SSii))

kk

i- i- 11ppiiloglog2 2 ppii

Page 82: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

82

Measure of “cost” of a split:

Information-content (S, {S1, S2, ….., Sr})) = –

Information-gain ratio = Information-gain (S, {S1, S2, ……, Sr})

Information-content (S, {S1, S2, ….., Sr})

The best split is the one that gives the maximum information gain ratio

loglog22

rr

ii- 1- 1

||SSii||

||SS||

||SSii||

||SS||

Page 83: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Finding Best Splits Categorical attributes (with no meaningful order):

Multi-way split, one child for each value

Binary split: try all possible breakup of values into two sets,

and pick the best

Continuous-valued attributes (can be sorted in a meaningful

order)

Binary split:

Sort values, try each as a split point

E.g. if values are 1, 10, 15, 25, split at 1, 10, 15

Pick the value that gives best split

Multi-way split:

A series of binary splits on the same attribute has roughly

equivalent effect 83

Page 84: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

84

Procedure GrowTree (S )Partition (S );

Procedure Partition (S)if ( purity (S ) > p or |S| < s ) then return;for each attribute A

evaluate splits on attribute A;Use best split found (across all attributes) to

partition S into S1, S2, …., Sr,

for i = 1, 2, ….., r Partition (Si );

Page 85: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Other Types of Classifiers Neural net classifiers are studied in artificial intelligence and are

not covered here

Bayesian classifiers use Bayes theorem, which says

p (cj | d ) = p (d | cj ) p (cj )

p ( d )

where

p (cj | d ) = probability of instance d being in class cj,

p (d | cj ) = probability of generating instance d given class

cj,

p (cj ) = probability of occurrence of class cj, and

p (d ) = probability of instance d occuring

85

Page 86: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Naïve Bayesian Classifiers Bayesian classifiers require

computation of p (d | cj )

precomputation of p (cj )

p (d ) can be ignored since it is the same for all classes

To simplify the task, naïve Bayesian classifiers assume attributes have

independent distributions, and thereby estimate

p (d | cj) = p (d1 | cj ) * p (d2 | cj ) * ….* (p (dn | cj )

Each of the p (di | cj ) can be estimated from a histogram on di values

for each class cj

the histogram is computed from the training instances

Histograms on multiple attributes are more expensive to compute and

store86

Page 87: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

87

Regression deals with the prediction of a value, rather than a class.

Given values for a set of variables, X1, X2, …, Xn, we wish to

predict the value of a variable Y.

One way is to infer coefficients a0, a1, a1, …, an such that

Y = a0 + a1 * X1 + a2 * X2 + … + an * Xn

Finding such a linear polynomial is called linear regression.

In general, the process of finding a curve that fits the data is

also called curve fitting.

The fit may only be approximate

because of noise in the data, or

because the relationship is not exactly a polynomial

Regression aims to find coefficients that give the best possible fit.

Page 88: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

88

Retail shops are often interested in associations between different items that

people buy.

Someone who buys bread is quite likely also to buy milk

A person who bought the book Database System Concepts is quite likely also

to buy the book Operating System Concepts.

Associations information can be used in several ways.

E.g. when a customer buys a particular book, an online shop may suggest

associated books.

Association rules:

bread milk DB-Concepts, OS-Concepts Networks

Left hand side: antecedent, right hand side: consequent

An association rule must have an associated population; the population

consists of a set of instances

E.g. each transaction (sale) at a shop is an instance, and the set of all

transactions is the population

Page 89: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

89

Rules have an associated support, as well as an associated

confidence.

Support is a measure of what fraction of the population satisfies

both the antecedent and the consequent of the rule.

E.g. suppose only 0.001 percent of all purchases include milk

and screwdrivers. The support for the rule is milk

screwdrivers is low.

Confidence is a measure of how often the consequent is true

when the antecedent is true.

E.g. the rule bread milk has a confidence of 80 percent if 80

percent of the purchases that include bread also include milk.

Page 90: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

90

We are generally only interested in association rules with

reasonably high support (e.g. support of 2% or greater)

Naïve algorithm

1. Consider all possible sets of relevant items.

2. For each set find its support (i.e. count how many

transactions purchase all items in the set).

Large itemsets: sets with sufficiently high support

3. Use large itemsets to generate association rules.

1. From itemset A generate the rule A - {b } b for each b

A.

Support of rule = support (A).

Confidence of rule = support (A ) / support (A - {b })

Page 91: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

91

Determine support of itemsets via a single pass on set of transactions

Large itemsets: sets with a high count at the end of the pass

If memory not enough to hold all counts for all itemsets use multiple

passes, considering only some itemsets in each pass.

Optimization: Once an itemset is eliminated because its count (support)

is too small none of its supersets needs to be considered.

The a priori technique to find large itemsets:

Pass 1: count support of all sets with just 1 item. Eliminate those

items with low support

Pass i: candidates: every set of i items such that all its i-1 item

subsets are large

Count support of all candidates

Stop if there are no candidates

Page 92: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Other Types of Associations Basic association rules have several limitations

Deviations from the expected probability are more interesting

E.g. if many people purchase bread, and many people purchase cereal, quite a

few would be expected to purchase both

We are interested in positive as well as negative correlations between sets of

items

Positive correlation: co-occurrence is higher than predicted

Negative correlation: co-occurrence is lower than predicted

Sequence associations / correlations

E.g. whenever bonds go up, stock prices go down in 2 days

Deviations from temporal patterns

E.g. deviation from a steady growth

E.g. sales of winter wear go down in summer

Not surprising, part of a known pattern.

Look for deviation from value predicted using past patterns92

Page 93: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Clustering Clustering: Intuitively, finding clusters of points in the given data

such that similar points lie in the same cluster

Can be formalized using distance metrics in several ways

Group points into k sets (for a given k) such that the average

distance of points from the centroid of their assigned group is

minimized

Centroid: point defined by taking average of coordinates in

each dimension.

Another metric: minimize average distance between every

pair of points in a cluster

Has been studied extensively in statistics, but on small data sets

Data mining systems aim at clustering techniques that can

handle very large data sets

E.g. the Birch clustering algorithm (more shortly) 93

Page 94: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Hierarchical Clustering Example from biological classification

(the word classification here does not mean a prediction mechanism)

chordata

mammalia reptilia

leopards humans snakes crocodiles Other examples: Internet directory systems (e.g. Yahoo, more on

this later) Agglomerative clustering algorithms

Build small clusters, then cluster small clusters into bigger clusters, and so on

Divisive clustering algorithms Start with all items in a single cluster, repeatedly refine (break)

clusters into smaller ones

94

Page 95: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Clustering Algorithms

Clustering algorithms have been designed to handle very large

datasets

E.g. the Birch algorithm

Main idea: use an in-memory R-tree to store points that are being

clustered

Insert points one at a time into the R-tree, merging a new point

with an existing cluster if is less than some distance away

If there are more leaf nodes than fit in memory, merge existing

clusters that are close to each other

At the end of first pass we get a large number of clusters at the

leaves of the R-tree

Merge clusters to reduce the number of clusters

95

Page 96: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Collaborative Filtering Goal: predict what movies/books/… a person may be interested in, on the basis

of

Past preferences of the person

Other people with similar past preferences

The preferences of such people for a new movie/book/…

One approach based on repeated clustering

Cluster people on the basis of preferences for movies

Then cluster movies on the basis of being liked by the same clusters of

people

Again cluster people based on their preferences for (the newly created

clusters of) movies

Repeat above till equilibrium

Above problem is an instance of collaborative filtering, where users

collaborate in the task of filtering information to find information of interest96

Page 97: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

Other Types of Mining

Text mining: application of data mining to textual documents

cluster Web pages to find related pages

cluster pages a user has visited to organize their visit history

classify Web pages automatically into a Web directory

Data visualization systems help users examine large volumes of

data and detect patterns visually

Can visually encode large amounts of information on a single

screen

Humans are very good a detecting visual patterns

97

Page 98: 1. Data Analysis and Mining 2 Decision Support Systems Data Analysis and OLAP Data Warehousing Data Mining.

53