500 likes | 710 Views
Databases Illuminated. Chapter 15 Data Warehouses and Data Mining. Intro to Data Warehouses. Term coined by W.H. Inmon “a subject-oriented, integrated, non-volatile, time-varying collection of data that is used primarily in organizational decision making”
E N D
Databases Illuminated Chapter 15 Data Warehouses and Data Mining
Intro to Data Warehouses • Term coined by W.H. Inmon • “a subject-oriented, integrated, non-volatile, time-varying collection of data that is used primarily in organizational decision making” • Enterprises use historical and current data taken from operational databases as resource for decision making • Data warehouses store massive amounts of data • Typical uses • Decision Support Systems (DSS) • Executive Information Systems ((EIS) • Business Intelligence (BI) was coined by Howard Dresner in 1989 • "concepts and methods to improve business decision making by using fact-based support systems."
Advances in Data Warehouses • Explosion in development of data warehouses due to • Major DB vendors now provide warehouse features, including OLAP tools • SQL3 includes data mining functions • Hardware advances - parallel machines, cheaper and faster data storage devices, better data communications technology • Data mining - developing new information by searching large amounts of data to identify patterns, trends, and anomalies - allows more sophisticated analysis and modeling • Large volume of data available through cloud computing, the explosion in digitized content, the availability of clickstream data
Characteristics of Operational Databases • Support online transaction processing (OLTP) • use limited number of repetitive transactions • transactions involve a few tuples at a time • Data stored in normalized form in relational model, or O-R or OO model • Serve the information needs of end users • Support day-to-day business operations • Require high availability and efficient performance • Handle large volume of transactions • Must deliver query responses quickly • Must do updates quickly • State must reflect current environment of the enterprise • Older data is purged to preserve performance
Characteristics of Data Warehouses • Support on-line analytical processing- OLAP • Examine large amounts of data to produce results • Allow complex queries, often using grouping • Support time-series analysis using historical data • Support data mining • Must support ad-hoc queries and unanticipated types of analysis • Used for decision making • Contain very large amount of data • Have data from multiple operational databases, taken at different periods of time (historical data) • Sources may have different models or standards; data warehouse integrates the data • May include data from other sources, summarized data, metadata • Optimized for efficient query processing and presentation of results • May use dimensional or other model • Updates done periodically; not in real time
Data Warehouse Architecture-1 • See next slide for diagram • Input data • Taken from various data sources • Multiple operational databases • Independent files • Environmental data-e.g. geographical or financial data • ETL system accesses data stores, transforms and integrates the data, loads the database files, creates indexes, and performs associated tasks • Extracted using back-end system tools-accommodate differences among heterogeneous sources • Reformatted into a consistent form • Checked for integrity and validity- data cleaning • Put into the data model for the warehouse • Loaded - long transaction due to large volume
Data Warehouse Architecture-2 • DBMS for data warehouse has • System catalog that stores metadata • Other standard database system components • Data marts - segments of the data organized into subsets that focus on specific subjects; e.g. may contain specialized information about a single department • Data warehouse output • Supports queries for OLAP • Provides information for decision support systems • Provides data for data mining tools • Can result in new knowledge, which can then be used as a data source
Data Refresh • Data from all sources must be refreshed periodically • New data is added to the existing warehouse, if there is room; old data is kept as long as it is useful • Data no longer used is purged periodically • Frequency and scope of updates depends on the environment • Factors for deciding the update policy • How much storage is available • Whether the warehouse needs recent data • Whether warehouse can be off-line during refresh • How long the process of transmitting the data, cleaning, formatting, loading, and building indexes will take • Usual policy is to do a partial refresh periodically
Developing a Data Warehouse-Top Down- Inmon’s Method • Make the initial data warehouse operational quickly, then iterate the process as often as needed • Work within a “time box” • Data warehouse is the centerpiece for a Corporate Information Factory, a delivery framework for BI • As users gain experience with system, they provide feedback for the next iteration • Data marts are identified as individual business units identify the subject areas that are of interest to them – after the process
Top Down Method– Major Steps • constructing a data model for the data warehouse • selecting data warehouse hardware and software • sizing the data warehouse • collecting obvious informational requirements • Choosing subsets of data for initial loading into the data warehouse • selecting a subject area for design • identifying physical characteristics of the subject area • identifying the unit of time for the data • identifying the system of record • determining whether delta data should be used • loading transformation data to metadata • specifying the frequency of transformation • executing DDL • creating code that embodies the transformations • allocating space • population of data into the warehouse • Providing the end user with access to the data
Developing a Data Warehouse-Bottom-Up-Kimball Method • Begins with building a data mart rather than a complete data warehouse • Aim is to eventually develop data marts for the entire enterprise, and combine them into a single data warehouse • Enterprise data warehouse bus matrix – a document that shows overall data needs-guides development of data marts • Uses Business Dimensional Lifecycle • See diagram on next slide
Steps in Bottom-Up Method • Program Planning-overall plan for BI resource, requires development of enterprise data warehouse bus matrix • Project Planning • Business Requirements Definition • Development of Technology, Data, BI Tracks • Deployment • Maintainance • Growth
Data Models for Data Warhouses • relational OLAP (ROLAP)- Inmon • multiple relational tables • highly-normalized relational model based on the Entity-Relationship model • multidimensional OLAP (MOLAP)- Kimball • Uses multidimensional arrays
MOLAP Model • Data cube - multidimensional matrix for storing data • Can view the data by dimension of interest • Possible operations on data cube • pivoting - rotating to display a different dimension • rollup - displaying a coarser level of data granularity, by combining or aggregating data • drill-down - showing more detail on some dimension, using finer granularity for the data; requires that the more detailed data be available • slicing - examining a portion of the data cube using a selection with equality conditions for one or more dimensions; appears as if the user has cut through the cube in the selected directions • dicing- specifying a range of values in a selection • Cross-tabulation – displaying totals for the rows and columns in a two-dimensional spreadsheet-style display • Hypercube - data cube of dimension > 3 • Possible to do pivoting, rollup, drilling down, slicing, dicing • No physical representation of cube itself • See example on next slide
Schemas for Data Warehouses • Star schema • Central fact table of un-aggregated, observed data • Has attributes that represent dimensions, plus dependent attributes • Each dimension has its own dimension table • Dimension tables have corresponding dimension attributes in fact table, usually foreign keys there • Snowflake schema • Variation in which normalized dimension tables have dimensions themselves • Columnar Data • Each column stored separately • Relative position determines which values belong to same record See example on next slide
Warehouse Queries in SQL92 Form • SQL92 aggregate functions SUM, COUNT, MAX, MIN and AVG allow some slicing and dicing queries. Form is SELECT <grouping attributes> <aggregation function> FROM <fact table> JOIN <dimension table(s)> WHERE <attribute = constant>… <attribute = constant> GROUP BY <grouping attributes>;
SQL3 Warehouse Queries • SQL3 includes functions for • stddev (standard deviation) and variance for single attributes – measures of data spread from mean • correlation and regression, which apply to pairs of attributes • rank for data values • GROUP BY extended with CUBE and ROLLUP options
Analytic Functions • Use a group of tuples, the window, and compute aggregate values for the group • Window can be moved to compute a moving, centered, or cumulative aggregate Examples are CORR (correlation), REGR (regression), CUME_DIST (cumulative distribution), percentile, RATIO_TO_REPORT, and others
Indexes for Warehouses • Efficient indexes important because of large quantity of data • Allow queries to be executed in reasonable time • Since data is relatively static, cost of maintaining indexes is not a factor • Special indexing techniques used for warehouses • bitmap indexing • join indexing
Bitmap Indexes • Can be constructed for any attributes that have a limited number of distinct possible values-small domain • For each value in the domain, a bit vector is constructed to represent that value, by placing a 1 in the position for that value • Take much less space than standard indexes • Allow processing of some queries directly from the index
Join Indexes • Join is slow when tables are large • Join indexes speed up join queries • Most join operations are done on foreign keys • For a star schema, the join operation involves comparing the fact table with dimension tables • Join index relates the values of a dimension table to the rows of the fact table • For each value of the indexed attribute in the dimension table, join index stores the tuple IDs of all the tuples in the fact table having that value • Hashing also used to speed up joins
Views and Query Modification • Views are important in data warehouses for customizing the user’s environment • SQL operators, including CUBE and ROLLUP, can be performed on views as well as on base tables • SQL CREATE VIEW command defines the view, but does not create any new tables • Can execute a query for a view by query modification, replacing the reference in the WHERE line by the view definition • Query modification may be too slow in a warehouse environment
View Materialization • View materialization – pre-computing views from the definition and storing them for later use • Indexes can be created for the materialized views, to speed processing of view queries • Designer must decide which views to materialize; weighs storage constraints against benefit of speeding up important queries
Materialized View Maintenance • When the underlying base tables change, view should also be updated • Immediate view maintenance, done as part of the update transaction for the base tables; slows down the refresh transaction for the data warehouse • Alternative is deferred view maintenance. Possible policies • Lazy refresh, update the view when a query using the view is executed and the current materialized version is obsolete • Periodic refresh, update the view at regular time intervals • Forced refresh, update the view after a specified number of updates to the underlying base tables • Process can be done by re-computing the entire materialized view • For complex views especially with joins or aggregations, may be done incrementally, incorporating only changes to the underlying tables
Materialized Views in Oracle • Oracle SQL statement to create materialized views CREATE MATERIALIZED VIEW <materialized_view-name> [BUILD {IMMEDIATE|DEFERRED}] [REFRESH{FAST|COMPLETE|FORCE} {ON COMMIT|ON DEMAND…}] … AS SELECT <view-query>;
Data Mining • Important process in BI • Discovering new information from very large data sets • Knowledge discovered is usually in the form of patterns or rules • Uses techniques from statistics and artificial intelligence • Need a large database or a data warehouse
Data Mining vs querying and OLAP • Standard database querying • can only tell users what is in the database, reporting facts already stored • OLAP • analyst can use the database to test hypotheses about relationships or patterns in the data • analyst has to formulate the hypothesis first, and then study the data to verify it • Data mining • Can study the data without formulating a hypothesis first • uncovers relationships or patterns by induction • Explores existing data, finding important factors that an analyst might never have included in a hypothesis
Data Formats for Data Mining • Data mining application should be considered in the original design of the warehouse • Requires summarized data as well as raw data taken from original data sources • Requires knowledge of the domain and of the data mining process • Best data format may be “flat file” or vector,where all data for each case of observed values appears as a single record • Data values may be either numerical or categorical. Some categorical values may be ordinal, while others may be nominal
Purpose of Data Mining • Usually the ultimate purpose is to • give a company a competitive advantage, enabling it to earn a greater profit • provide better service • advance scientific knowledge • make better use of resources • Goals of data mining • Predict the future behavior of attributes • Classify items, placing them in the proper categories • Identify the existence of an activity or an event • Optimize the use of the organization’s resources
Possible Output: Association and Rules • Association rules have form {x} {y}, where x and y are events that occur at the same time. • Example: market basket data, which shows what items were purchased for a transaction • Have measures of support and confidence • Support is the percentage of transactions that contain all items included in both left and right hand sides • Confidence is how often the rule proves to be true; where the left hand side of the implication is present, percentage of those in which the right hand side is present as well
Possible Output: Classification Rules • Classification rules, placing instances into the correct one of several possible categories • Example: deciding which customers should be granted credit, based on factors such as income, home ownership, and others • Developed using a training set, past instances for which the correct classification is known • System develops a method for correctly classifying a new item whose class is currently unknown
Possible Output: Sequential Patterns • Sequential patterns • Example: predicting that a customer who buys a particular product in one transaction will purchase a related product in a later transaction • Can involve a set of products • Patterns are represented as sequences {S1}, {S2} • First subsequence {S1} is a predictor of the second subsequence {S2} • Support is the percentage of times such a sequence occurs in the set of transactions • Confidence is the probability that when {S1} occurs, {S2} will occur on a subsequent transaction - can calculate from observed data
Time Series Patterns • A time series is a sequence of events that are all of the same type • Example: Sales figures, stock prices, interest rates, inflation rates, and many other quantities • Time series data can be studied to discover patterns and sequences • For example, we can look at the data to find the longest period when the figures continued to rise each month, or find the steepest decline from one month to the next
Models and Methods Used • Data Mining Process Model • Regression • Decision Trees • Artificial Neural Networks • Clustering • Genetic Algorithms
Data Mining Process Model • Developed from CRISP-DM (Cross Industry Standard Model for Data Mining) • Business Understanding - identify the problem • Data Understanding – gain insight, use visualization • Data Preparation – select, clean, format data, identify outliers • Modeling – identify and construct type of model needed, predictor and target variables, or training set • Evaluation – test and validate model • Deployment – put results to use
Regression • Statistical method for predicting the value of an attribute, Y, (the dependent variable), given the values of attributes X1, X2, …, Xn (the independent variables) • Using linear regression, the package finds the contribution or weight of each independent variable, as coefficients, a0, a1, …, an for a linear function Y= a0 + a1 X1 + a2 X2 + … + anXn • Formula represents a curve that fits the observed values as closely as possible. • System itself may identify the independent variables, as well as finding the regression function • Can also use non-linear regression, using curve-fitting, finding the equation of the curve that fits the observed values
Decision Trees • Decision tree, a method of developing classification rules • Developed by examining past data to determine how significant attributes and values are related to outcomes • Nodes of the tree represent partitioning attributes, which allow the set of training instances to be partitioned into disjoint classes • The partitioning conditions are shown on the branches • Tree is then used to classify new cases • See example on next slide
CART vs CHAID Trees • Classification and Regression Trees (CART) • binary tree, each node has only two options • calculates distance, the amount of difference between the groups • algorithm seeks to maximize the distance between groups • Chi Square Automatic Interaction Detection (CHAID) Trees • allows multi-way splits • uses the chi-square distribution to measure distances.
Artificial Neural Networks • Non-linear models that resemble biological neural networks • Use a set of samples to find the strongest relationships between variables and observations • Network given training set that provides facts about input values • Use a learning method, adapting as they learn new information from additional samples • Hidden layers developed by the system as it examines cases, using generalized regression technique • System refines its hidden layers until it has learned to predict correctly a certain percentage of the time; then test cases are provided to evaluate it
Problems with Neural Networks • Overfitting the curve - prediction function fits the training set values too perfectly, even ones that are incorrect (data noise); prediction function will then perform poorly on new data • Knowledge of how the system makes its predictions is in the hidden layers: users do not see the reasoning; weights assigned to the factors cannot be interpreted in a natural way • Output may be difficult to understand and interpret
Clustering • Methods used to place cases into clusters or groups that can be disjoint or overlapping • Using a training set, system identifies a set of clusters into which the tuples of the database can be grouped • Tuples in each cluster are similar, and they are dissimilar to tuples in other clusters • Similarity is measured by using a distance function defined for the data
Genetic Algoritms • simulate evolution using combination, mutation, and natural selection • begins with a population of candidate solutions, individuals • Each individual given a score using a fitness function, which measures desirable properties of individuals • fittest individuals are selected and then modified by recombination or mutation to form a new generation whose individuals are called chromosomes • process is then repeated • Process stopped when the scores of the evolved population are sufficiently high or when a predefined number of generations has been propagated
Applications of Data Mining-1 • Retailing • Customer relations management (CRM) • Advertising campaign management • Banking and Finance • Credit scoring • Fraud detection and prevention • Manufacturing • Optimizing use of resources • Manufacturing process optimization • Product design
Applications of Data Mining-2 • Science and Medicine • Determining effectiveness of treatments • Analyzing effects of drugs • Finding relationships between patient care and outcomes • Astronomy • Weather prediction • Bioinformatics • Homeland Security • Identify and track terrorist activities • Identify individual terrorists • Search Engines