Data Quality: Why Preprocess the Data?
◼ Measures for data quality: A multidimensional view
◼ Accuracy: correct or wrong?
◼ Completeness: not recorded, unavailable, …
◼ Consistency: some modified but some not, dangling, …
◼ Timeliness: timely update?
◼ Believability: how trustable the data is?
◼ Interpretability: how easily the data can be
understood?
1
Major Tasks in Data Preprocessing
◼ Data cleaning
◼ Data integration
◼ Data reduction
◼ Data transformation and data discretization
2
Major Tasks in Data Preprocessing
◼ Data cleaning
◼ Fill in missing values
◼ smooth noisy data
◼ identify or remove outliers
◼ resolve inconsistencies
◼ Data integration
◼ Integration of multiple databases, data cubes, or files
◼ Data reduction
◼ Dimensionality reduction
◼ Numerosity reduction (replacing data by alternate models(regression, histogram)
◼ Data compression
◼ Data transformation and data discretization
◼ Normalization
◼ Concept hierarchy generation
3
Data Cleaning
◼ Data in the Real World Is Dirty: Lots of potentially incorrect data,
e.g., instrument faulty, human or computer error, transmission error
◼ incomplete: lacking attribute values, lacking certain attributes of
interest, or containing only aggregate data
◼ e.g., Occupation=“ ” (missing data)
◼ noisy: containing noise, errors, or outliers
◼ e.g., Salary=“−10” (an error)
◼ inconsistent: containing discrepancies in codes or names, e.g.,
◼ Age=“42”, Birthday=“03/07/2010”
◼ Was rating “1, 2, 3”, now rating “A, B, C”
◼ discrepancy between duplicate records
◼ Intentional (e.g., disguised missing data)
◼ Jan. 1 as everyone’s birthday?
4
How to Handle Missing Data?
◼ Ignore the tuple: usually done when class label is missing
(when doing classification)—not effective when the % of missing
values per attribute varies considerably
◼ Fill in the missing value manually: tedious + infeasible?
◼ Fill in it automatically with
◼ a global constant : e.g., “unknown”, a new class?!
◼ the measures of central tendency
◼ the attribute mean or median for all samples belonging to
the same class: smarter
◼ the most probable value: inference-based such as
Bayesian formula or decision tree
5
Noisy Data
◼ Noise: random error or variance in a measured variable
◼ Incorrect attribute values may be due to
◼ faulty data collection instruments
◼ data entry problems
◼ data transmission problems
◼ technology limitation
◼ inconsistency in naming convention
◼ Other data problems which require data cleaning
◼ duplicate records
◼ incomplete data
◼ inconsistent data
6
How to Handle Noisy Data?
◼ Binning
◼ Smooth the sorted data by its 'neighbourhood’
◼ first sort data and partition into (equal-frequency) bins
◼ then one can smooth by bin means, smooth by bin
median, smooth by bin boundaries, etc.
◼ smooth by bin means replaces each value in the bin by the
mean value of the bin.
◼ smooth by bin median replaces each value in the bin by the
median value of the bin.
◼ smooth by bin boundaries replaces each value in the bin by
the closest boundary value ie min or max.
7
How to Handle Noisy Data?
◼ Regression
◼ smooth by fitting the data into regression functions
◼ Linear Regression, Multiple Regression
◼ Clustering
◼ detect and remove outliers
◼ Combined computer and human inspection
◼ detect suspicious values and check by human (e.g.,
deal with possible outliers)
8
Data Cleaning as a Process
◼ Data discrepancy detection
◼ Use metadata (e.g., domain, range, dependency, distribution)
◼ Use commercial tools
◼ Data scrubbing: use simple domain knowledge (e.g., postal
code, spell-check) to detect errors and make corrections
◼ Data auditing: by analyzing data to discover rules and
relationship to detect violators (e.g., correlation and clustering
to find outliers)
◼ Data migration and integration
◼ Data migration tools: allow transformations to be specified
◼ ETL (Extraction/Transformation/Loading) tools: allow users to
specify transformations through a graphical user interface
9
Data Integration
◼ Combines data from multiple sources into a coherent store.
◼ Schema integration: e.g., [Link]-id [Link]-#
◼ Integrate metadata from different sources
◼ Entity identification problem:
◼ Identify real world entities from multiple data sources, e.g., Bill
Clinton = William Clinton
◼ Detecting and resolving data value conflicts
◼ For the same real world entity, attribute values from different
sources are different
◼ Possible reasons: different representations, different scales, e.g.,
metric vs. British units
10
Handling Redundancy in Data Integration
◼ Redundant data occur often when integration of multiple
databases
◼ Object identification: The same attribute or object
may have different names in different databases
◼ Derivable data: One attribute may be a “derived”
attribute in another table, e.g., annual revenue
◼ Redundant attributes may be able to be detected by
correlation analysis and covariance analysis
11
Correlation
❑Correlation can be defined as a measurement that is used to
quantify the relationship between variables.
❑If an increase (or decrease) in one variable causes a
corresponding increase (or decrease) in another then the two
variables are said to be directly correlated.
❑If an increase in one causes a decrease in another or vice versa,
then the variables are said to be indirectly correlated.
❑If a change in an independent variable does not cause a change
in the dependent variable then they are uncorrelated.
❑Thus, correlation can be positive (direct correlation), negative
(indirect correlation), or zero. This relationship is given by
the correlation coefficient.
Correlation
❑A correlation coefficient such as
Pearson's correlation coefficient is
used to give a numeric value that
depicts the strength as well as the
direction of the correlation.
❑The scatter plot gives the
correlation between two variables x
and y for individual data points as
shown below.
❑The formula for Pearson
Correlation Coefficient, (written
as rxy) for sample of size n is given
as:
Correlation Example
Example 1. Given the following population data. Find the Pearson correlation coefficient
between x and y for this data.
x 600 800 1000
y 1200 1000 2000
Correlation Example
6 12 -2 -2 4 4 4
8 10 0 -4 0 16 0
10 20 2 6 4 36 12
24 42 0 0 8 56 16
Correlation Example
Using the correlation coefficient formula,
Pearson correlation coefficient = 0.756
Visually Evaluating Correlation
Scatter plots
showing the
similarity from
–1 to 1.
17
Correlation Analysis (Nominal Data)
◼ Χ2 (chi-square) test
(Observed − Expected) 2
2 =
Expected
◼ The larger the Χ2 value, the more likely the variables are
related
◼ The cells that contribute the most to the Χ2 value are
those whose actual count is very different from the
expected count
◼ Correlation does not imply causality
◼ # of hospitals and # of car-theft in a city are correlated
◼ Both are causally linked to the third variable: population
18
Correlation Analysis (Nominal Data)
Chi-Square test
Fiction\ Chess Play chess Not play chess Sum (row)
◼
Like science fiction 250 200 450
Not like science fiction 50 1000 1050
Sum(col.) 300 1200 1500
19
Chi-Square test: An Example
Play chess Not play chess Sum (row)
Like science fiction 250(90) 200(360) 450
Not like science fiction 50(210) 1000(840) 1050
Sum(col.) 300 1200 1500
◼ Null Hypotheses: There is no relation between the two
variables.
◼ Significant Hypotheses: There is a significant relation
between the two variables.
◼ Significance Level=0.05
20
Chi-Square test: An Example
Play chess Not play chess Sum (row)
Like science fiction 250(90) 200(360) 450
Not like science fiction 50(210) 1000(840) 1050
Sum(col.) 300 1200 1500
(Observed − Expected) 2
2
=
Expected
(250 − 90) 2 (50 − 210) 2 (200 − 360) 2 (1000 − 840) 2
=
2
+ + + = 507.93
90 210 360 840
Degrees of freedom=(row-1) X (col-1)=(2-1) X (2-1)=1 which gives
χ2(tabular)=3.84
Since 3.84<507.93, Significant Hypotheses holds true.
21
Percentage points for Chi-Square
distribution
22
Covariance (Numeric Data)
◼ Covariance is similar to correlation
Correlation coefficient:
where n is the number of tuples, A and B are the respective mean or
expected values of A and B, σA and σB are the respective standard
deviation of A and B.
◼ Positive covariance: If CovA,B > 0, then A and B both tend to be larger
than their expected values.
◼ Negative covariance: If CovA,B < 0 then if A is larger than its expected
value, B is likely to be smaller than its expected value.
◼ Independence: CovA,B = 0 but the converse is not true:
◼ Some pairs of random variables may have a covariance of 0 but are not
independent. Only under some additional assumptions (e.g., the data follow
multivariate normal distributions) does a covariance of 0 imply independence23
Co-Variance: An Example
◼ It can be simplified in computation as
◼ Suppose two stocks A and B have the following values in one week:
(2, 5), (3, 8), (5, 10), (4, 11), (6, 14).
◼ Question: If the stocks are affected by the same industry trends, will
their prices rise or fall together?
◼ E(A) = (2 + 3 + 5 + 4 + 6)/ 5 = 20/5 = 4
◼ E(B) = (5 + 8 + 10 + 11 + 14) /5 = 48/5 = 9.6
◼ Cov(A,B) = (2×5+3×8+5×10+4×11+6×14)/5 − 4 × 9.6 = 4
◼ Thus, A and B rise together since Cov(A, B) > 0.
Data Reduction Strategies
◼ Data reduction: Obtain a reduced representation of the data set that
is much smaller in volume but yet produces the same (or almost the
same) analytical results
◼ Why data reduction? — A database/data warehouse may store
terabytes of data. Complex data analysis may take a very long time to
run on the complete data set.
◼ Data reduction strategies
◼ Dimensionality reduction, e.g., remove unimportant attributes
◼ Wavelet transforms
◼ Principal Components Analysis (PCA)
◼ Feature subset selection, feature creation
◼ Numerosity reduction (some simply call it: Data Reduction)
◼ Regression and Log-Linear Models
◼ Histograms, clustering, sampling
◼ Data cube aggregation
◼ Data compression
25
Data Reduction 1: Dimensionality Reduction
◼ Curse of dimensionality
◼ When dimensionality increases, data becomes increasingly sparse
◼ Density and distance between points, which is critical to clustering, outlier
analysis, becomes less meaningful
◼ The possible combinations of subspaces will grow exponentially
◼ Dimensionality reduction
◼ Avoid the curse of dimensionality
◼ Help eliminate irrelevant features and reduce noise
◼ Reduce time and space required in data mining
◼ Allow easier visualization
◼ Dimensionality reduction techniques
◼ Wavelet transforms
◼ Principal Component Analysis
◼ Supervised and nonlinear techniques (e.g., feature selection)
26
Mapping Data to a New Space
◼ Fourier transform
◼ Wavelet transform
Two Sine Waves Two Sine Waves + Noise Frequency
27
What Is Wavelet Transform?
◼ Decomposes a signal into
different frequency subbands
◼ Applicable to n-
dimensional signals
◼ Data are transformed to
preserve relative distance
between objects at different
levels of resolution
◼ Allow natural clusters to
become more distinguishable
◼ Used for image compression
28
Wavelet Transformation
Haar2 Daubechie4
◼ Discrete wavelet transform (DWT) for linear signal
processing
◼ Compressed approximation: store only a small fraction of
the strongest of the wavelet coefficients
◼ Similar to discrete Fourier transform (DFT), but better
lossy compression, localized in space
29
Principal Component
Analysis(PCA)
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
PCA Example
❑Next, rotate the line and project the points on to the new line and
calculate the sum of squared distances.
❑Repeat until we get a line with the largest sum of squared
distances between the projected points and the origin.
❑This line is called Principal Component 1(PC1)
❑ PC1 has a slope of 0.25 ie for every 4 units that we go along X
axis, we go 1 unit along Y axis. ie data is more spread out along X
axis.
❑PC1= (4 parts) Gene1 + (1 parts) Gene2 ie a linear
combination of both the genes.
❑Hence, Gene1 is more important to describe how far the data is
spread out on X axis.
PCA Example
PCA Example
◼
PCA Example
❑ This unit vector a is
called eigen vector for
PC1
❑ Also, the sum of
squared distances,
SS(distances) is the
eigenvalue for PC1
❑ Now, we will find PC2
❑ PC2 will be the line
through the origin
perpendicular to PC1
PCA Example
❑ This unit vector a is called
eigen vector for PC1
❑ Also, the sum of squared
distances, SS(distances) is the
eigenvalue for PC1
❑ Now, we will find PC2
❑ PC2 will be the line through the
origin perpendicular to PC1
PCA Example
❑ This unit vector a is called
eigen vector for PC1
❑ Also, the sum of squared
distances, SS(distances) is the
eigenvalue for PC1
❑ Now, we will find PC2
❑ PC2 will be the line through the
origin perpendicular to PC1
Attribute Subset Selection
◼ Another way to reduce dimensionality of data
◼ Redundant attributes
◼ Duplicate much or all of the information contained in
one or more other attributes
◼ E.g., purchase price of a product and the amount of
sales tax paid
◼ Irrelevant attributes
◼ Contain no information that is useful for the data
mining task at hand
◼ E.g., students' ID is often irrelevant to the task of
predicting students' GPA
58
Attribute Subset Selection
◼ There are 2d possible attribute combinations of d attributes
◼ Typical heuristic attribute selection methods:
◼ Best single attribute under the attribute independence
assumption: choose by significance tests
◼ Forward Selection: step-wise feature selection
◼ The best single-attribute is picked first
◼ Then next best attribute condition to the first, ...
◼ Backward elimination:
◼ Pick the set of all attributes.
◼ Repeatedly eliminate the worst attribute
◼ Best is to combine attribute selection and elimination
59
Attribute Creation (Feature Generation)
◼ Create new attributes (features) that can capture the
important information in a data set more effectively than
the original ones
◼ Three general methodologies
◼ Attribute extraction
◼ Domain-specific
◼ Mapping data to new space (see: data reduction)
◼ E.g., Fourier transformation, wavelet
transformation, manifold approaches (not covered)
◼ Attribute construction
◼ Combining features (see: discriminative frequent
patterns in Chapter 7)
◼ Data discretization
60
Data Reduction 2: Numerosity Reduction
◼ Reduce data volume by choosing alternative, smaller
forms of data representation
◼ Parametric methods (e.g., regression)
◼ Assume the data fits some model, estimate model
parameters, store only the parameters, and discard
the data (except possible outliers)
◼ Ex.: Regression models
◼ Non-parametric methods
◼ Do not assume models
◼ Major families: histograms, clustering, sampling.
61
Parametric Data Reduction: Regression
◼ Linear regression
◼ Data modeled to fit a straight line
◼ Often uses the least-square method to fit the line
◼ Multiple regression
◼ Allows a response variable Y to be modeled as a
linear function of multidimensional feature vector
62
y
Regression Analysis
Y1
◼ Regression analysis: A collective name for
techniques for the modeling and analysis Y1’
y=x+1
of numerical data consisting of values of a
dependent variable (also called
response variable or measurement) and X1 x
of one or more independent variables (aka.
explanatory variables or predictors)
◼ Used for prediction
◼ The parameters are estimated so as to give (including forecasting of
a "best fit" of the data time-series data), inference,
hypothesis testing, and
◼ Most commonly the best fit is evaluated by
modeling of causal
using the least squares method, but
relationships
other criteria have also been used
63
Regression Analysis
◼ Linear regression: Y = w X + b
◼ Two regression coefficients, w and b, specify the line and are to be
estimated by using the data at hand
◼ Using the least squares criterion to the known values of Y1, Y2, …,
X1, X2, ….
◼ Multiple regression: Y = b0 + b1 X1 + b2 X2
◼ Many nonlinear functions can be transformed into the above
64
Histogram Analysis
◼ Divide data into buckets and 40
store average (sum) for each 35
bucket
30
◼ Partitioning rules:
25
◼ Equal-width: equal bucket 20
range
15
◼ Equal-frequency (or equal- 10
depth)
5
0
100000
10000
20000
30000
40000
50000
60000
70000
80000
90000
65
Clustering
◼ Partition data set into clusters based on similarity, and
store cluster representation (e.g., centroid and diameter)
only
◼ Can have hierarchical clustering and be stored in multi-
dimensional index tree structures
◼ There are many choices of clustering definitions and
clustering algorithms
66
Sampling
◼ Sampling: obtaining a small sample s to represent the
whole data set N
◼ Allow a mining algorithm to run in complexity that is
potentially sub-linear to the size of the data
◼ Key principle: Choose a representative subset of the data
◼ Simple random sampling may have very poor
performance in the presence of skew
◼ Develop adaptive sampling methods, e.g., stratified
sampling: eg a stratified sample obtained from
customer data, where each stratum is c reated for each
customer age group.
67
Types of Sampling
◼ Simple random sampling
◼ There is an equal probability of selecting any particular
item
◼ Sampling without replacement
◼ Once an object is selected, it is removed from the
population
◼ Sampling with replacement
◼ A selected object is not removed from the population
◼ Stratified sampling:
◼ Partition the data set, and draw samples from each
partition (proportionally, i.e., approximately the same
percentage of the data)
◼ Used in conjunction with skewed data
68
Data Reduction 3: Data Compression
◼ String compression
◼ There are extensive theories and well-tuned algorithms
◼ Typically lossless, but only limited manipulation is
possible without expansion
◼ Audio/video compression
◼ Typically lossy compression, with progressive refinement
◼ Sometimes small fragments of signal can be
reconstructed without reconstructing the whole
◼ Time sequence is not audio
◼ Typically short and vary slowly with time
◼ Dimensionality and numerosity reduction may also be
considered as forms of data compression
69
Data Compression
Original Data Compressed
Data
lossless
Original Data
Approximated
70
Data Transformation
◼ A function that maps the entire set of values of a given attribute to a
new set of replacement values s.t. each old value can be identified
with one of the new values.
◼ Smoothing: Remove noise from data
◼ Attribute/feature construction
◼ New attributes constructed from the given ones
◼ Aggregation: Summarization, data cube construction
◼ Normalization: Scaled to fall within a smaller, specified range
◼ min-max normalization
◼ z-score normalization
◼ normalization by decimal scaling
◼ Discretization: Concept hierarchy climbing
71
Normalization
◼ Measurement units can affect the data analysis.
◼ Expressing an attribute in smaller units will lead to a larger range for
that attribute and thus gives it greater ‘effect’ or ‘weight’.
◼ Hence, it is advisable to transform data into smaller range such as [-
1, 1] or [0.0, 1.0]
◼ Normalizing the data gives equal weight to all attributes.
◼ Types of normalization:
◼ Min-max normalization: preserves the relationships among original
data.
◼ Z-score normalization: useful when the actual minimum and
maximum of attribute A are unknown, or when there are outliers that
dominate the min-max normalization
◼ Normalization by decimal scaling
72
Normalization
◼ Min-max normalization: to [new_minA, new_maxA]
v − minA
v' = (new _ maxA − new _ minA) + new _ minA
maxA − minA
◼ Ex. Let income range $12,000 to $98,000 normalized to [0.0,
73,600 − 12,000
1.0]. Then $73,000 is mapped to 98,000 − 12,000 (1.0 − 0) + 0 = 0.716
◼ Z-score normalization (μ: mean, σ: standard deviation):
v − A
v' =
A
73,600 − 54,000
◼ Ex. Let μ = 54,000, σ = 16,000. Then = 1.225
16,000
◼ Normalization by decimal scaling
v
v' = j Where j is the smallest integer such that Max(|ν’|) < 1
10
73
Data Discretization Methods
◼ Typical methods: All the methods can be applied recursively
◼ Binning
◼ Top-down split, unsupervised
◼ Histogram analysis
◼ Top-down split, unsupervised
◼ Clustering analysis (unsupervised, top-down split or
bottom-up merge)
◼ Decision-tree analysis (supervised, top-down split)
◼ Correlation (e.g., 2) analysis (unsupervised, bottom-up
merge)
74
Concept Hierarchy Generation
◼ Concept hierarchy organizes concepts (i.e., attribute values)
hierarchically and is usually associated with each dimension in a data
warehouse
◼ Concept hierarchies facilitate drilling and rolling in data warehouses to
view data in multiple granularity
◼ Concept hierarchy formation: Recursively reduce the data by collecting
and replacing low level concepts (such as numeric values for age) by
higher level concepts (such as youth, adult, or senior)
◼ Concept hierarchies can be explicitly specified by domain experts
and/or data warehouse designers
◼ Concept hierarchy can be automatically formed for both numeric and
nominal data. For numeric data, use discretization methods shown.
75
Concept Hierarchy Generation
for Nominal Data
◼ Specification of a partial/total ordering of attributes
explicitly at the schema level by users or experts
◼ street < city < state < country
◼ Specification of a hierarchy for a set of values by explicit
data grouping
◼ {Urbana, Champaign, Chicago} < Illinois
◼ Specification of only a partial set of attributes
◼ E.g., only street < city, not others
◼ Automatic generation of hierarchies (or attribute levels) by
the analysis of the number of distinct values
◼ E.g., for a set of attributes: {street, city, state, country}
76
Automatic Concept Hierarchy Generation
◼ Some hierarchies can be automatically generated based on
the analysis of the number of distinct values per attribute in
the data set
◼ The attribute with the most distinct values is placed at
the lowest level of the hierarchy
◼ Exceptions, e.g., weekday, month, quarter, year
country 15 distinct values
province_or_ state 365 distinct values
city 3567 distinct values
street 674,339 distinct values
77
References
◼ D. P. Ballou and G. K. Tayi. Enhancing data quality in data warehouse environments. Comm. of
ACM, 42:73-78, 1999
◼ A. Bruce, D. Donoho, and H.-Y. Gao. Wavelet analysis. IEEE Spectrum, Oct 1996
◼ T. Dasu and T. Johnson. Exploratory Data Mining and Data Cleaning. John Wiley, 2003
◼ J. Devore and R. Peck. Statistics: The Exploration and Analysis of Data. Duxbury Press, 1997.
◼ H. Galhardas, D. Florescu, D. Shasha, E. Simon, and C.-A. Saita. Declarative data cleaning:
Language, model, and algorithms. VLDB'01
◼ M. Hua and J. Pei. Cleaning disguised missing data: A heuristic approach. KDD'07
◼ H. V. Jagadish, et al., Special Issue on Data Reduction Techniques. Bulletin of the Technical
Committee on Data Engineering, 20(4), Dec. 1997
◼ H. Liu and H. Motoda (eds.). Feature Extraction, Construction, and Selection: A Data Mining
Perspective. Kluwer Academic, 1998
◼ J. E. Olson. Data Quality: The Accuracy Dimension. Morgan Kaufmann, 2003
◼ D. Pyle. Data Preparation for Data Mining. Morgan Kaufmann, 1999
◼ V. Raman and J. Hellerstein. Potters Wheel: An Interactive Framework for Data Cleaning and
Transformation, VLDB’2001
◼ T. Redman. Data Quality: The Field Guide. Digital Press (Elsevier), 2001
◼ R. Wang, V. Storey, and C. Firth. A framework for analysis of data quality research. IEEE Trans.
Knowledge and Data Engineering, 7:623-640, 1995
78