Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Data Mining and
Knowledge Acquizition
— Chapter 2 —
— Data Preprocessing —
2015/2016 Summer
1
Chapter 2: Data Preprocessing
Why preprocess the data?
Descriptive data summarization
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Summary
2
Mining Data Dispersion Characteristics
Motivation
Data dispersion characteristics
To better understand the data: central tendency, variation
and spread
median, max, min, quantiles, outliers, variance, etc.
Numerical dimensions correspond to sorted intervals
Data dispersion: analyzed with multiple granularities of
precision
Boxplot or quantile analysis on sorted intervals
Dispersion analysis on computed measures
Folding measures into numerical dimensions
Boxplot or quantile analysis on the transformed cube
3
Measuring the Central Tendency
Mean (algebraic measure):
1 n
x xi
n i 1
Weighted arithmetic mean:
Trimmed mean: chopping extreme values
n
x
w x
i
i 1
n
i
w
i 1
i
Median: A holistic measure
Middle value if odd number of values, or average of the
middle two values otherwise
Estimated by interpolation (for grouped data)
median L1 (
Mode
Value that occurs most frequently in the data
Unimodal, bimodal, trimodal
Empirical formula:
n / 2 ( f )l
f median
)c
mean mode 3 (mean median)
4
Symmetric vs. Skewed Data
Median, mean and mode of
symmetric, positively and
negatively skewed data
5
Measuring the Dispersion of Data
Quartiles, outliers and boxplots
Quartiles: Q1 (25th percentile), Q3 (75th percentile)
Inter-quartile range: IQR = Q3 – Q1
Five number summary: min, Q1, M, Q3, max
Boxplot: ends of the box are the quartiles, median is marked,
whiskers, and plot outlier individually
Outlier: usually, a value higher/lower than 1.5 x IQR
Variance and standard deviation
s
2
Variance s2: (algebraic, scalable computation)
n
n
n
1
1
1
2
2
2
(
x
x
)
[
x
(
x
)
i
i
i ]
n 1 i 1
n 1 i 1
n i 1
Standard deviation s is the square root of variance s2
6
Properties of Normal Distribution Curve
The normal (distribution) curve
From μ–σ to μ+σ: contains about 68% of the
measurements (μ: mean, σ: standard deviation)
From μ–2σ to μ+2σ: contains about 95% of it
From μ–3σ to μ+3σ: contains about 99.7% of it
7
Boxplot Analysis
Five-number summary of a distribution:
Minimum, Q1, M, Q3, Maximum
Boxplot
Data is represented with a box
The ends of the box are at the first and third
quartiles, i.e., the height of the box is IRQ
The median is marked by a line within the box
Whiskers: two lines outside the box extend to
Minimum and Maximum
8
Positively and Negatively Correlated Data
9
Not Correlated Data
10
Correlation Coefficient
Covariance of X and Y:
Covx,y= ni=1(xi-mean_x)(yi-mean_y)/[(n-1)
Depends on units of X and Y
To get rid of units
rx,y= ni=1(xi-mean_x)(yi-mean_y)/[(n-1)xy]
where x,y are standard deviation of X and Y
as r1 positive correlation: x y or x y, one is
redundant
r 0, X and X are independent
r -1 negative correlation: x y or x y one is
redundant
11
Exercise
Construct a data set or a functional relationship
of two variables X and Y where there is a
perfect relation between X and Y:
knowing value of X, Y corresponding to that
X can be predicted with no error
but correlation coefficient between X and Y is
ZERO
12
Correlation and Causation
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
13
Graphic Displays of Basic Statistical Descriptions
Histogram: (shown before)
Boxplot: (covered before)
Quantile plot: each value xi is paired with fi indicating
that approximately 100 fi % of data are xi
Quantile-quantile (q-q) plot: graphs the quantiles of
one univariant distribution against the corresponding
quantiles of another
Scatter plot: each pair of values is a pair of coordinates
and plotted as points in the plane
Loess (local regression) curve: add a smooth curve to a
scatter plot to provide better perception of the pattern
of dependence
14
Chapter 8: Data Preprocessing
Why preprocess the data?
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Time-dependent data
Summary
15
Why Data Preprocessing?
Data in the real world is dirty
incomplete: lacking attribute values, lacking
certain attributes of interest, or containing
only aggregate data
noisy: containing errors or outliers
e.g., occupation=“”
e.g., Salary=“-10”
inconsistent: containing discrepancies in codes
or names
e.g., Age=“42” Birthday=“03/07/1997”
e.g., Was rating “1,2,3”, now rating “A, B, C”
e.g., discrepancy between duplicate records
16
Why Is Data Dirty?
Incomplete data comes from
n/a data value when collected
different consideration between the time when the data was
collected and when it is analyzed.
human/hardware/software problems
Noisy data comes from the process of data
collection
entry
transmission
Inconsistent data comes from
different data sources
functional dependency violation
17
Why Is Data Preprocessing Important?
No quality data, no quality mining results!
Quality decisions must be based on quality data
e.g., duplicate or missing data may cause incorrect or even
misleading statistics.
Data warehouse needs consistent integration of quality
data
Data extraction, cleaning, and transformation comprises
the majority of the work of building a data warehouse
18
Multi-Dimensional Measure of Data Quality
A well-accepted multidimensional view:
Accuracy
Completeness
Consistency
Timeliness
Believability
Value added
Interpretability
Accessibility
Broad categories:
intrinsic, contextual, representational, and
accessibility.
19
Major Tasks in Data Preprocessing
Data cleaning
Data integration
Normalization and aggregation
Data reduction
Integration of multiple databases, data cubes, or files
Data transformation
Fill in missing values, smooth noisy data, identify or remove
outliers, and resolve inconsistencies
Obtains reduced representation in volume but produces the
same or similar analytical results
Data discretization
Part of data reduction but with particular importance, especially
for numerical data
20
Forms of data preprocessing
21
Chapter 3: Data Preprocessing
Why preprocess the data?
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Time-dependent data
Summary
22
Data Cleaning
Importance
“Data cleaning is one of the three biggest
problems in data warehousing”—Ralph Kimball
“Data cleaning is the number one problem in data
warehousing”—DCI survey
Data cleaning tasks
Fill in missing values
Identify outliers and smooth out noisy data
Correct inconsistent data
Resolve redundancy caused by data integration
23
Missing Data
Data is not always available
Missing data may be due to
equipment malfunction
inconsistent with other recorded data and thus deleted
data not entered due to misunderstanding
E.g., many tuples have no recorded value for several
attributes, such as customer income in sales data
certain data may not be considered important at the time of
entry
not register history or changes of the data
Missing data may need to be inferred.
24
How to Handle Missing Data?
Ignore the tuple: usually done when class label is missing (assuming
the tasks in classification—not effective when the percentage of
missing values per attribute varies considerably.
Fill in the missing value manually: tedious + infeasible?
Use a global constant to fill in the missing value: e.g., “unknown”, a
new class?!
Use the attribute mean,median or mode to fill in the missing value
Use the attribute mean for all samples belonging to the same class
to fill in the missing value: smarter
Use the most probable value to fill in the missing value: inferencebased such as Bayesian formula or decision tree
25
Most Probable Value
Use the most probable value to fill in the missing value: inferencebased such as Bayesian formula or decision tree
develop a submodel to predict the category or
numerical value of the missing case
income = f(education,sex, age,...)
A neural network model
K-NN model
Decision tree
Regression
...
26
An Extreme Case
Suppose all values of an
attribute is missing
This attribute may be
considered as the
unknown label in
unsupervised learning
Assigning an object into
a cluster can be thought
of filling the missing
values of an attribute
Education
gende
r
incom
e
type
UGrad
M
1-2
?
HighSc
F
0.5-1
?
Grad
F
0.5-1
?
27
Time Series and Spacial Data
Filling missing values in time series and spatial
data needs a different tratement
Stock index
x x
x
xo x
x
o
x
o
x data exisits
o missing
Time
in days
28
Noisy Data
Noise: random error or variance in a measured variable
Incorrect attribute values may due to
faulty data collection instruments
data entry problems:human or computer error
data transmission problems
technology limitation
inconsistency in naming convention
duplicate records
Some noice is inavitable and due to variables or factors
that can not be measured
29
How to Handle Noisy Data?
Binning method:
first sort data and partition into (equi-depth) bins
then one can smooth by bin means, smooth by bin
median, smooth by bin boundaries, etc.
Clustering
detect and remove outliers
Combined computer and human inspection
detect suspicious values and check by human
Regression
smooth by fitting the data into regression functions
30
Simple Discretization Methods: Binning
Equal-width (distance) partitioning:
It divides the range into N intervals of equal size:
uniform grid
if A and B are the lowest and highest values of the
attribute, the width of intervals will be: W = (B-A)/N.
The most straightforward
But outliers may dominate presentation
Skewed data is not handled well.
Equal-depth (frequency) partitioning:
It divides the range into N intervals, each containing
approximately same number of samples
Managing categorical attributes can be tricky.
31
Binning Methods for Data Smoothing
* Sorted data for price (in dollars): 4, 8, 9, 15, 21, 21, 24, 25, 26, 28,
29, 34
* Partition into (equi-depth) bins:
- Bin 1: 4, 8, 9, 15
- Bin 2: 21, 21, 24, 25
- Bin 3: 26, 28, 29, 34
* Smoothing by bin means:
- Bin 1: 9, 9, 9, 9
- Bin 2: 23, 23, 23, 23
- Bin 3: 29, 29, 29, 29
* Smoothing by bin boundaries:
- Bin 1: 4, 4, 4, 15
- Bin 2: 21, 21, 25, 25
- Bin 3: 26, 26, 26, 34
32
Cluster Analysis
33
Regression
y
Y1
Y1’
y=x+1
X1
x
34
Example use of regression to determine
outliers
Problem: predict the yearly spending of AE
customers from their income.
Y: yearly spending in YTL
X: average montly income in YTL
35
Data set
X
50
100
200
250
300
400
500
700
750
800
1000
Y
200
50
70
80
85
120
130
150
150
180
200
X: income, Y: spending
First data is probabliy an outlier
But examining only spending data that is
Distribution of Y 200 spending of the first
Customer can not be identified as an
outlier
36
Regression
y
Y1:200
Y1’
Examine residuals
Y1-Y1* is high
But Y10-Y10* is low
So data point 1 is an
outlier
y = 0.15x + 20
X1:50
X10:1000
x
inccome
37
Notes
Some methods are used for both smoothing
and data reduction or discretization
binning
used in decision tress to reduce number of
categories
concept hierarchies
Example price a numerical variable
in to concepts as expensive, moderately
prised, expensive
38
Inconsistent Data
Inconsistent data may due to
faulty data collection instruments
data entry problems:human or computer error
data transmission problems
Chang in scale over time
inconsistency in naming convention
Data integration:
Different units used for the same variable
1,2,3 to A, B. C
TL or dollar
Value added tax ıncluded ın one source not in other
duplicate records
39
Chapter 8: Data Preprocessing
Why preprocess the data?
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Time-dependent data
Summary
40
Data Integration
Data integration:
combines data from multiple sources into a coherent store
Schema integration
integrate metadata from different sources
Entity identification problem: identify real world entities from
multiple data sources, e.g., A.cust-id B.cust-#
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
price may include value added tax in one source and not include in
the other
Name are entered by different convensıons:
name lastname or lastname name or ...
41
Handling Redundant Data
in Data Integration
Redundant data occur often when integration of multiple
databases
The same attribute may have different names in different
databases
One attribute may be a “derived” attribute in another table, e.g.,
annual revenue
Redundant data may be able to be detected by correlational
analysis
ni
rx,y= =1(xi-mean_x)(yi-mean_y)/[(n-1)xy]
where x,y are standard deviation of X and Y
as r1 positive correlation: x y or x y, one is
redundant
r 0, X and X are independent
r -1 negative correlation: x y or x y one is
redundant
42
Data Transformation:
Normalization
min-max normalization
v minA
v'
(new _ maxA new _ minA) new _ minA
maxA minA
When a score is outside the new range the algorithm
may give an error or warning message
in the presence of outliers regular observations are
squized in to a small interval
43
Data Transformation:
Normalization
z-score normalization
v meanA
v'
stand _ devA
Good in handling outliers
as the new range is between -to + no out of range
error
44
Data Transformation:
Normalization
Decimal scaling
v
v' j
10
v '|)<1
Where j is the smallest integer such that Max(|
Ex: max v=984 then j =3 v’=0.984
preserves the appearance of figures
45
Data Transformation:Logarithmic
Transformation
Logarithmic transformations:
Y` = logY
Used in some distance based methods
Clustering
For ratio scaled variables
E.g.: weight, TL/dollar
Distance between objects is related to
percentage changes rather then actual
differences
46
Linear transformations
Note that linear transformations preserve the
shape of the distribution
Whereas non linear transformations distors the
distribution of data
Example:
Logistic function f(x) = 1/(1+exp(-x))
Transforms x between 0 and 1
New data are always between 0-1
47
Attribute/feature construction
Automatic attribute generation
Using product or and opperations
E.g.: a regression model to explain spending of a
customer shown by Y
Using X1: age, X2: income, ...
Y = a + b1*X1 + b2*X2 : a linear model
a,b1,b2 are parameters to be estimated
Y = a + b1*X1 + b2*X2 + c*X1*X2 :
a nonlinear model a,b1,b2,c are parameters to be
estimated but linear in parameters as:
X1*X2 can be directly computed from income and age
48
Ratios or differences
Define new attributes
E.g.:
Real variables in macroeconomics
Real GNP
Financial ratios
Profit = revenue – cost
49
Chapter 8: Data Preprocessing
Why preprocess the data?
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Time-dependent data
Summary
50
Data Reduction Strategies
Warehouse may store terabytes of data: Complex data
analysis/mining may take a very long time to run on the
complete data set
Data reduction
Obtains a reduced representation of the data set that is
much smaller in volume but yet produces the same (or
almost the same) analytical results
Data reduction strategies
Data cube aggregation
Dimensionality reduction—remove unimportant
attributes
Data Compression
Numerosity reduction—fit data into models
Discretization and concept hierarchy generation
51
Credit Card Promotion Database
Magazıne
Promotıon
Income
Range
Watch
Promotıon
Lıfe Insurance
Promotıon
Gender
Credıt Card
Insurance
Age
40-50 K
Yes
No
No
Male
45
No
30-40 K
Yes
Yes
Yes
Female
40
No
40-50 K
No
No
No
Male
42
No
30-40 K
Yes
Yes
Yes
Male
43
Yes
50-60 K
Yes
No
Yes
Female
38
No
20-30 K
No
No
No
Female
55
No
30-40 K
Yes
No
Yes
Male
35
Yes
20-30 K
No
Yes
No
Male
27
No
30-40 K
Yes
No
No
Male
43
No
30-40 K
Yes
Yes
Yes
Female
41
No
40-50 K
No
Yes
Yes
Female
43
No
20-30 K
No
Yes
Yes
Male
29
No
50-60 K
Yes
Yes
Yes
Female
39
No
40-50 K
No
Yes
No
Male
55
No
20-30 K
No
No
Yes
Female
19
Yes
52
Data Reduction
Eliminate redandent attributes
correlation coefficients show that
Watch and magazine are associated
Eliminate one
Combine variables to reduce number of independent
variables
Principle component analysis
Sampling reduce number of cases (records) by
sampling from secondary storage
Discretization
Age to categorical values
53
Dimensionality Reduction
Feature selection (i.e., attribute subset selection):
Select a minimum set of features such that the
probability distribution of different classes given the
values for those features is as close as possible to the
original distribution given the values of all features
reduce # of patterns in the patterns, easier to
understand
Heuristic methods (due to exponential # of choices):
step-wise forward selection
step-wise backward elimination
combining forward selection and backward elimination
decision-tree induction
54
Example for irrelevent features
income
low
mid
high
young
5
7
9
mid
senior
5.1
4.9
6.9
7.1
8.9
9.1
income
low
5
mid
7
high
9
Average spending of a
customer by income and
age
Droping age
Expain spending by
İncome only
Does not change results
significantly
55
Example of Decision Tree Induction
Initial attribute set:
{A1, A2, A3, A4, A5, A6}
A4 ?
A6?
A1?
Class 1
>
Class 2
Class 1
Class 2
Reduced attribute set: {A1, A4, A6}
56
Example: Economic indicator problem
There are tens of macroeconomic variables
say totally 45
Which ones is the best predictor for inflation rate three
months ahead?
Develop a simple model to predict inflation by using
only a couple of those 45 macro variables
Best-stepwise feature selection
The single macro variable predicting inflation among
the 45 is seleced first: try 45 models say: $/TL
repeat
The k th variable is entered among 45-(k-1) variables
Stop at some point introducing new variables
58
Example cont.
Best feature elimination
Develop a model including all 45 variables
Remove just one of them try 45 models each
excluding just one out of 45 variables
repeat
Continue eliminating a new variable at each
step
Unitl a stoping criteria
Rearly used comared to feature selection
59
Principal Component Analysis
Given N data vectors from k-dimensions, find c <= k
orthogonal vectors that can be best used to represent
data
The original data set is reduced to one consisting of
N data vectors on c principal components (reduced
dimensions)
Each data vector is a linear combination of the c
principal component vectors
Works for numeric data only
Used when the number of dimensions is large
60
Principal Component Analysis
X2
Y1
Y2
*
*
*
* **
* *
*
*
*
*
*
*
*
X1
61
Principal Component Analysis
X2
Y1
Y2
*
a2
Coordinate
of Z1 is
a1
Z1,Z2 in
when using principleZ1
components
Z= y1,y2 expressed in
unit vectors a1 a2
62
How to perform PCA
Is the dataset is appropriate for PCA
Obtaining the components
Number of components
Rotating the components
Naming the components
63
Is data appropriate for PCA
1 – corrolation matrix
Bivariate
High correlations likely to form
components
2 - Barlett test of sphericity
Test at least there are correlation amang some of
the variables
3- Laiser-Meyer-Olkin
Considers correlqtion as well as partial corelations
among vriables
Higher values indication of appropriateness
64
Optaining the Components
Number of components
Eignevalue over 1.0 are taken
Percentage of variance nunber of factors
explaining a prespecified total variance are
considered
Specified by user
65
Rotting the factors
Facilitates interpretation and naming
Orthogonal rotation: preserve the orthogonality
among factors
Factors are still perpendicualt to each other
No correlation among factors
66
Communality
For a variable the common variance shared
with other variables
Should be > 0.5 or remove the variable
67
Rotation
Rotated compnent matrix
Shows the correlations between original
variables and components
Naming of components
Name factors or component by examining
highly correlated original variables
68
Factor Scores
Components are stored as new variables
69
Histograms
30
25
20
15
10
100000
90000
80000
70000
60000
0
50000
5
40000
35
30000
40
20000
A popular data reduction
technique
Divide data into buckets
and store average (sum)
for each bucket
Can be constructed
optimally in one
dimension using dynamic
programming
Related to quantization
problems.
10000
70
Equiwidht: the width of each bucket range is
uniform
Equidepth (equiheight):each bucket contains
roughly the same number of continuous data
samples
V-Optimal:least variance
histogram variance is the is a weighted sum
of the original values that each bucket
represents
bucket weight = #values in bucket
71
MaxDiff
MaxDiff: make a bucket boundry between
adjacent values if the difference is one of the
largest k differences
xi+1 - xi >= max_k-1(x1,..xN)
72
V-optimal design
Sort the values
assign equal number of values in each bucket
compute variance
repeat
change bucket`s of boundary values
compute new variance
until no reduction in variance
variance = (n1*Var1+n2*Var2+...+nk*Vark)/N
N= n1+n2+..+nk,
Vari= nij=1(xj-x_meani)2/ni,
Note that: V-Optimal in one dimension is equivalent to
K-means clusterıng in one dimension
73
Sampling
Allow a mining algorithm to run in complexity that is
potentially sub-linear to the size of the data
Choose a representative subset of the data
Simple random sampling may have very poor
performance in the presence of skew
Develop adaptive sampling methods
Stratified sampling:
Approximate the percentage of each class (or
subpopulation of interest) in the overall database
Used in conjunction with skewed data
Sampling may not reduce database I/Os (page at a time).
74
Sampling methods
Simple random sample without replacement
(SRSWOR) of size n:
n of N tuples from D n<N
P(drawing any tuple)=1/N all are equally
likely
Simple random sample with replacement
(SRSWR) of size n:
each time a tuple is drawn from D, it is
recorded and then replaced
it may be drawn again
75
Sampling methods cont.
Cluster Sample: if tuples in D are grouped into M
mutually disjoint “clusters” then an SRS of m clusters
can be obtained where m < M
Tuples in a database are retrieved a page at a time
Each pages can be considered as a cluster
Stratified Sample: if D is divided into mutually
disjoint parts called strata.
Obtain a SRS at each stratum
a representative sample when data are skewed
Ex: customer data a stratum for each age group
The age group having the smallest number of customers
will be sure to be presented
76
Confidence intervals and sample size
Cost of obtaining a sample is propotional to the
size of the sample, n
Specifying a confidence interval and
you should be able to determine n number of
samples required so that the sample mean will
be within the confidence interval with %(1-p)
confident
n is very small compared to the size of the
database N
n<<N
77
Sampling
Raw Data
78
Sampling
Raw Data
Cluster/Stratified Sample
79
Chapter 3: Data Preprocessing
Why preprocess the data?
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Time-dependent data
Summary
80
Discretization Process
Univariate - one feature at a time
Steps of a typical discritization process
sorting the continuous values of the feature
evaluating a cut-point for splitting or
adjacent intervals for merging
splitting or merging intervals of continuous
value
top-down approach intervals are split
chose the best cut point to split the values into two
partitions
until a stopping criterion is satisfied
81
Discretization Process cont.
bottom-up approach intervals are merged
find best pair of intervals to merge
until stopping criterion is satisfied
stopping at some point
lower # better understanding less accuracy
high # poorer understanding higher accuracy
Stopping criteria
number of intervals reach a critical value
number of observations in each interval exceeds a
value
all observations in an interval are of the same class
a minimum information gain is not satisfied
82
Generalized Splitting Algorithm
S= sorted values of feature f
splitting(S) {
if stopping criterion satisfied
}
return
T = GetBestSplitPoint(S)
S1=GetLeftPart(S,T)
S2=GetRightPart(S,T)
Splitting(S1)
Splitting(S2)
83
Discretization and concept hierarchy
generation for numeric data
Binning (see sections before)
Histogram analysis (see sections before)
Clustering analysis (see sections before)
Entropy-based discretization
Segmentation by natural partitioning
84
1R a supervised discretization
method
After sorting the continuous values,
divides the range of continuous values into a
number of disjoint intervals and adjusts the
boundaries based on the class labels
Example
11 14 15 18 19 20 21 22 23 25 30 31 33 35 36
R C C R C R C R C C R C R C R
C
C
R
interval of class C from 11-21
another interval of C from 22-35
last of class R including just 36
the two leftmost intervals are merged as they
predict the same class
stoping: each interval should contain a prespecified
minimum number of instances
85
Entropy
A measure of (im)purity of an sample variable S
is defined as
Ent(S) = -spslog2ps
s is a value of S
Ps is its estimated probability
average amount of information per event
Information of an event is
I(s)= -log2ps
information is high for lower probable events
and low otherwise
86
Entropy-Based Discretization
Given a set of samples S, if S is partitioned into two
intervals S1 and S2 using boundary T, the entropy after
partitioning isE ( S , T ) | S1| Ent ( ) | S 2 | Ent ( )
| S|
S1
| S|
S2
The boundary that minimizes the entropy function over all
possible boundaries is selected as a binary discretization.
The process is recursively applied to partitions obtained
until some stopping criterion is met, e.g.,
Ent ( S ) E (T , S )
Experiments show that it may reduce data size and
improve classification accuracy
87
Age Splitting Example
A sample of ages for 15 customers
19 27 29 35 38 39 40 41 42 43 43 43 45 55 55
y n y y y y y y n y y n n n n
classes are y or n response to life insurance
Responding to life promotion (y or n) v.s. Age of
customer
y or n yes or no
entropy of the whole sample without partitioning
ent(S)=(-6/15)*log2(6/15)+(-9/15)*log2(9/15)=
=-0.4*(-1.322)+(-0.6)*(-0.734)=0.969
88
Age Splitting Example
Splitting value of age=41.5
S1 age<41.5: 7 y, 1 n
S2 T> 41.5: 2 y, 5 n
I(S,T)=#S1/#S*ent(S1)+#S2/#S*ent(S2)
= (8/15)*ent(S1)+(7/15)ent(S2)
ent(S1)=(-1/8)log2(1/8)+(-7/8)log2(7/8)=
=-0.125*(-3.000)+(-0.875*(-0.193)=0.544
ent(S2)=(-2/7)log2(2/7)+(-5/7)log2(5/7)=
=-0.286*(-1.806)+(-0.714*(-0.486)=0.863
ent(S1,S2) = (8/15)*0.544+(7/15)*0.863=0.692
89
Age Splitting Example
Information gain:
0.969-0.692=0.277
try all possible partitions
chose the partition providing maximum
information gain
then reccursively partition each interval
until the stoping criteria is satisfied
when information gain < a treshold value
90
Exercise
1.
Consider a data set of two attributes A and B.
A is continuous, whereas B is categorical,
having two values as “y” and “n”, which can
be considered as class of each observation.
When attribute A is discretized into two
equiwidth intervals no information is provided
by the class attribute B but when discretized
into three equiwidth intervals there is perfect
information provided by B. Construct a simple
dataset obeying these characteristics.
91
Chapter 3: Data Preprocessing
Why preprocess the data?
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Time-dependent data
Summary
92
Time Series Data
A time series database consists of sequences of
values or events changing with time.
The values are typically measured at equal time
intervals
Examples:
daily closing values of stock market index
sales of products
economic variables: GNP, exchange rates...
93
Mining Time-Series and Sequence
Data
Time-series plot
94
Objective (1)
forecasting future unknown values based on
historical observed data
one step ahead
multiple steps ahead
predict Yt+1 from Yt+Yt-1, Yt-2...
predict Yt+1Yt+2 Yt+3 .. from Yt+Yt-1, Yt-2...
univariate: just one variable
forecast of TL/$ based on its own values
95
Objective (2)
multivariate: more then one variable is
forecasted simultaneously
inflation, stock index, exchange rate, interest
rates influence each other
model based forecasts
96
Data preprosessing
Handling missing values
methods for cross-sectional data are not
applicable
fill missing values by smoothing
Aggregation disaggregation problems
frequency of raw data and desired forecast
frequency may be different
aggregation: form low level to high level
sum,average, minimum,maximum, last,first
which function is used depends on the type of
data
97
disaggregation: from high to low frequency
different concept from OLAPs drill down
where low level data is already available
here low level data is not available
GNP is available at the quarterly level
but may be needed in monthly forecast of GNP
Methods:
constant value is used
equally partitioned
linear smoothing
cubic smoothing
98
Components of time series data
long-term or trend
indicate the general direction in which a time
series variable is moving over a long interval of
time
a line or curve
Cyclic movements or cyclic variations
long term oscillations about a trend line or curve
may or may not be periodic
99
Components of time series data
Seasonal movements or variations
due to events that recur annually
sales of beverages varies from season to season
fuel oil sales in winter are higher than in summer
identical or nearly identical patterns during
corresponding months or seasons of successive
years
Irregular or random movements
sporadic motion of time series due to random or
chance events
100
Decomposition of time series
product of the four variables
Yi = TiCiSiIi,
or sum of the four variables
Yi = Ti + Ci + Si + Ii,
İdentify each components and try to forecast
each seperately
The I component can not be forecasted or
predicted as it is irregular
101
How to determine trend
A moving average of order m
(y1+y2+...+ym)/m
a moving average tends to reduce the amount
of variation present in the data set
eliminates unwanted fluctuations
smoothing of time series
Weighted moving average of order m
102
Example
original data
3 7 2 0 4 5 9 7 2
MA(3) 4 3 2 3 6 7 6
weighed
MA(3) 5.5 2.5 1 3.5 5.5 8 6.5
141
the first WMA value:
(1*3+4*7+1*2)/(1+4+1)=5.5
MA loses the data at the beginning and end of
a series may sometimes
103
Detecting trend
By moving averages
cyclic, seasonal and irregular patterns in the
data can be eliminated
resulting only the trend movement
Free-hand method
approximate curve or line is drawn to fit a
set of data based on the user’s own
judgement
costly and not reliable
104
least square method
Fit a line by regression
Yt = a + bt a linear trend
Yt = a + bt +ct2 a quadratic trend
Yt = atb,convert into linear by logarithmic
transformation
lnYt = lna+blnt
Yt = aebt, exponential
lnYt = lna + bt
105
Seasonal variations
identify and remove seasonal variations
deseasonalize the data for trend and cyclic
analysis
A seasonal index: set of number showing the
relative values of a variable during the months
of a year
y’t= yt/st,
where y’t is deseasonalized variable
st is seasonal index value at time t
106
Estimation of seasonal variations
Seasonal index
Set of numbers showing the relative values of a variable during
the months of the year
E.g., if the sales during October, November, and December are
80%, 120%, and 140% of the average monthly sales for the
whole year, respectively, then 80, 120, and 140 are seasonal
index numbers for these months
Deseasonalized data
Data adjusted for seasonal variations
E.g., divide the original monthly data by the seasonal index
numbers for the corresponding months
107
108
Visually inspect the data
to identify trend cyclic or seasonal components
109
110
Mining Time-Series and Sequence Data
Time-series database
Consists of sequences of values or events changing
with time
Data is recorded at regular intervals
Characteristic time-series components
Trend, cycle, seasonal, irregular
Applications
Financial: stock price, inflation
Biomedical: blood pressure
111
Mining Time-Series and Sequence
Data: Trend analysis
A time series can be illustrated as a time-series graph
which describes a point moving with the passage of
time
Categories of Time-Series Movements
Long-term or trend movements (trend curve)
Cyclic movements or cycle variations, e.g., business
cycles
Seasonal movements or seasonal variations
i.e, almost identical patterns that a time series
appears to follow during corresponding months of
112
Estimation of Trend Curve
The freehand method
Fit the curve by looking at the graph
Costly and barely reliable for large-scaled data
mining
The least-square method
Find the curve minimizing the sum of the squares
of the deviation of points on the curve from the
corresponding data points
The moving-average method
Eliminate cyclic, seasonal and irregular patterns
Loss of end data
Sensitive to outliers
113
Discovery of Trend in Time-Series (1)
Estimation of seasonal variations
Seasonal index
Set of numbers showing the relative values of a variable during
the months of the year
E.g., if the sales during October, November, and December are
80%, 120%, and 140% of the average monthly sales for the
whole year, respectively, then 80, 120, and 140 are seasonal
index numbers for these months
Deseasonalized data
Data adjusted for seasonal variations
E.g., divide the original monthly data by the seasonal index
numbers for the corresponding months
114
Discovery of Trend in Time-Series (2)
Estimation of cyclic variations
Estimation of irregular variations
If (approximate) periodicity of cycles occurs, cyclic
index can be constructed in much the same manner
as seasonal indexes
By adjusting the data for trend, seasonal and cyclic
variations
With the systematic analysis of the trend, cyclic,
seasonal, and irregular components, it is possible to
make long- or short-term predictions with reasonable
quality
115
Chapter 3: Data Preprocessing
Why preprocess the data?
Data cleaning
Data integration and transformation
Data reduction
Discretization and concept hierarchy generation
Summary
116
Summary
Data preparation is a big issue for both warehousing
and mining
Data preparation includes
Data cleaning and data integration
Data reduction and feature selection
Discretization
A lot a methods have been developed but still an active
area of research
117