Sie sind auf Seite 1von 109

Data Mining Tutorial

D. A. Dickey

Data Mining - What is it?


Large datasets Fast methods Not significance testing Topics
Trees (recursive splitting) Logistic Regression Neural Networks Association Analysis Nearest Neighbor Clustering Etc.

Trees
A divisive method (splits) Start with root node all in one group Get splitting rules Response often binary Result is a tree Example: Loan Defaults Example: Framingham Heart Study Example: Automobile fatalities

Recursive Splitting
Pr{default} =0.007
Pr{default} =0.006 X1=Debt To Income Ratio Pr{default} =0.003 Pr{default} =0.012

Pr{default} =0.0001

No default Default

X2 = Age

Some Actual Data


Framingham Heart Study First Stage Coronary Heart Disease
P{CHD} = Function of:
Age - no drug yet! Cholesterol Systolic BP
Import

Example of a tree
All 1615 patients
Split # 1: Age

Systolic BP

terminal node

options: (1) assessment measure: Avg. Sq. Error (2) N=4, (3) Gini splits

How to make splits?


Which variable to use? Where to split?
Cholesterol > ____ Systolic BP > _____

Goal: Pure leaves or terminal nodes Ideal split: Everyone with BP>x has problems, nobody with BP<x has problems

Where to Split?
First review Chi-square tests Contingency tables
Heart Disease No Yes Low BP Heart Disease No Yes

95

100 100

75 75

25 25

High BP

55

45

DEPENDENT

INDEPENDENT

c2 Test Statistic
Expect 100(150/200)=75 in upper left if independent (etc. e.g. 100(50/200)=25)
Heart Disease No Yes
2 ( observed exp ected ) c 2 allcells exp ected

Low BP

High BP

95 (75) 55 (75)
150

5 (25) 45 (25)
50

100
100

2(400/75)+ 2(400/25) = 42.67


Compare to Tables Significant!

200

WHERE IS HIGH BP CUTOFF???

Measuring Worth of a Split


P-value is probability of Chi-square as great as that observed if independence is true. (Pr {c2>42.67} is 6.4E-11) P-values all too small. Logworth = -log10(p-value) = 10.19 Best Chi-square max logworth.

Logworth for Age Splits

?
Age 47 maximizes logworth

How to make splits?


Which variable to use? Where to split?
Cholesterol > ____ Systolic BP > _____

Idea Pick BP cutoff to minimize p-value for c2 What does signifiance mean now?

Multiple testing
50 different BPs in data, 49 ways to split Sunday football highlights always look good! If he shoots enough times, even a 95% free throw shooter will miss. Tried 49 splits, each has 5% chance of declaring significance even if theres no relationship.

Multiple testing
a= Pr{ falsely reject hypothesis 2}

a= Pr{ falsely reject hypothesis 1} Pr{ falsely reject one or the other} < 2a Desired: 0.05 probabilty or less Solution: use a = 0.05/2 Or compare 2(p-value) to 0.05

Multiple testing
50 different BPs in data, m=49 ways to split Multiply p-value by 49 Bonferroni original idea Kass apply to data mining (trees) Stop splitting if minimum p-value is large. For m splits, logworth becomes -log10(m*p-value) ! ! !

Other Split Evaluations


Gini Diversity Index
{ A A A A B A B B C B} Pick 2, Pr{different} = 1-Pr{AA}-Pr{BB}-Pr{CC} *
1-[0.25-0.16-0.01]=0.58 LESS DIVERSE

{AABCBAABCC}
1-[0.15-0.09-0.09] = 0.66 MORE DIVERSE, LESS PURE

Shannon Entropy
Larger more diverse (less pure) -Si pi log2(pi)
{0.5, 0.4, 0.1} 1.36 {0.4, 0.3, 0.3} 1.74 * (EM uses sampling with replacement) (less diverse) (more diverse)

Goals
Split if diversity in parent node > summed diversities in child nodes Observations should be
Homogeneous (not diverse) within leaves Different between leaves Leaves should be diverse

Framingham tree used Gini for splits

Validation
Traditional stats small dataset, need all observations to estimate parameters of interest. Data mining loads of data, can afford holdout sample Variation: n-fold cross validation
Randomly divide data into n sets Estimate on n-1, validate on 1 Repeat n times, using each set as holdout.

Pruning
Grow bushy tree on the fit data Classify holdout data Likely farthest out branches do not improve, possibly hurt fit on holdout data Prune non-helpful branches. What is helpful? What is good discriminator criterion?

Goals
Want diversity in parent node > summed diversities in child nodes Goal is to reduce diversity within leaves Goal is to maximize differences between leaves Use validation average squared error, proportion correct decisions, etc. Costs (profits) may enter the picture for splitting or pruning.

Accounting for Costs


Pardon me (sir, maam) can you spare some change? Say sir to male +$2.00 Say maam to female +$5.00 Say sir to female -$1.00 (balm for slapped face) Say maam to male -$10.00 (nose splint)

Including Probabilities
Leaf has Pr(M)=.7, Pr(F)=.3. Sir True Gender M 0.7 (2) 0.7 (-10) You say: Maam

0.3 (5)

+$1.10

-$5.50

Expected profit is 2(0.7)-1(0.3) = $1.10 if I say sir Expected profit is -7+1.5 = -$5.50 (a loss) if I say Maam Weight leaf profits by leaf size (# obsns.) and sum Prune (and split) to maximize profits.

Additional Ideas
Forests Draw samples with replacement (bootstrap) and grow multiple trees. Random Forests Randomly sample the features (predictors) and build multiple trees. Classify new point in each tree then average the probabilities, or take a plurality vote from the trees

Lift
3.3

* Cumulative Lift Chart - Go from leaf of most to least predicted 1 response. - Lift is proportion responding in first p% overall population response rate

Regression Trees
Continuous response Y Predicted response Pi constant in regions i=1, , 5
Predict 80

Predict 50
X2 Predict 130 Predict 20

Predict 100 X1

Prediction PREDi in cell i. Yij jth response in cell i. Split to minimize Si Sj (Yij-PREDi)2

Predict 80

Predict 50

Predict 130

Predict 20

Predict 100

Predict Pi in cell i. Yij jth response in cell i. Split to minimize Si Sj (Yij-Pi)2

Real data example: Traffic accidents in Portugal* Y = injury induced cost to society

Help - I ran Into a tree

Help - I ran Into a tree

* Tree developed by Guilhermina Torrao, (used with permission) NCSU Institute for Transportation Research & Education

Cool < ------------------------ > Nerdy

Analytics ------------------- Statistics Predictive Modeling ------------------ Regression

Another major tool: Regression (OLS: ordinary least squares)

If the Life Line is long and deep, then this represents a long life full of vitality and health. A short line, if strong and deep, also shows great vitality in your life and the ability to overcome health problems. However, if the line is short and shallow, then your life may have the tendency to be controlled by others
http://www.ofesite.com/spirit/palm/lines/linelife.htm

Wilson & Mather JAMA 229 (1974)


X=life line length Y=age at death

proc sgplot; scatter Y=age X=line; reg Y=age X=line; run ;

Result: Predicted Age at Death = 79.24 1.367(lifeline) (Is this real??? Is this repeatable???)

We Use LEAST SQUARES


Squared residuals sum to 9609

Simulation: Age at Death = 67 + 0(life line) + e Error e has normal distribution mean 0 variance 200. Simulate 20 cases with n= 50 bodies each.
NOTE: Regression equations : Age(rep:1) = 80.56253 - 1.345896*line. Age(rep:2) = 61.76292 + 0.745289*line. Age(rep:3) = 72.14366 - 0.546996*line. Age(rep:4) = 95.85143 - 3.087247*line. Age(rep:5) = 67.21784 - 0.144763*line. Age(rep:6) = 71.0178 - 0.332015*line. Age(rep:7) = 54.9211 + 1.541255*line. Age(rep:8) = 69.98573 - 0.472335*line. Age(rep:9) = 85.73131 - 1.240894*line. Age(rep:10) = 59.65101 + 0.548992*line. Age(rep:11) = 59.38712 + 0.995162*line. Age(rep:12) = 72.45697 - 0.649575*line. Age(rep:13) = 78.99126 - 0.866334*line. Age(rep:14) = 45.88373 + 2.283475*line. Age(rep:15) = 59.28049 + 0.790884*line. Age(rep:16) = 73.6395 - 0.814287*line. Age(rep:17) = 70.57868 - 0.799404*line. Age(rep:18) = 72.91134 - 0.821219*line. Age(rep:19) = 55.46755 + 1.238873*line. Age(rep:20) = 63.82712 + 0.776548*line.

Predicted Age at Death = 79.24 1.367(lifeline) Would NOT be unusual if there is no true relationship .

Distribution of t Under H0

Conclusion: Estimated slopes vary Standard deviation (estimated) of sample slopes = Standard error Compute t = (estimate hypothesized)/standard error p-value is probability of larger |t| when hypothesis is correct (e.g. 0 slope) p-value is sum of two tail areas. Traditionally p<0.05 implies hypothesized value is wrong. p>0.05 is inconclusive.

proc reg data=life; model age=line; run;


Parameter Estimates Parameter Estimate 79.23341 -1.36697 Standard Error 14.83229 1.59782

Variable DF Intercept 1 Line 1

t Value Pr > |t| 5.34 <.0001 -0.86 0.3965 Area 0.19825 Area 0.19825 0.39650

-0.86

0.86

Conclusion: insufficient evidence against the hypothesis of no linear relationship.

H0: H1:

H0: Innocence H1: Guilt Beyond reasonable doubt P<0.05

H0: True slope is 0 (no association) H1: True slope is not 0 P=0.3965

Simulation: Age at Death = 67 + 0(life line) + e Error e has normal distribution mean 0 variance 200. WHY? Simulate 20 cases with n= 50 bodies each.
Want estimate of variability around the true line. True variance is Use sums of squared residuals (SS).

Sum of squared residuals from the mean is SS(total) 9755 Sum of squared residuals around the line is SS(error) 9609 (1) SS(total)-SS(error) is SS(model) = 146 (2) Variance estimate is SS(error)/(degrees of freedom) = 200 (3) SS(model)/SS(total) is R2, i.e. proportion of variablity explained by the model.
Analysis of Variance Sum of Squares 146.51753 9608.70247 9755.22000 0.0150 Mean Square 146.51753 200.18130

Source Model Error Corrected Total


Root MSE 14.14854

DF 1 48 49

F Value 0.73

Pr > F 0.3965

R-Square

Those Mysterious Degrees of Freedom (DF)

First Martian information about average height 0 information about variation.

2nd Martian gives first piece of information (DF) about error variance around mean.

n Martians n-1 DF for error (variation)

Martian Height

2 points no information on variation of errors n points n-2 error DF

Martian Weight

How Many Table Legs? (regress Y on X1, X2)

Source Model Error Corrected Total

DF 2 37 39

Sum of Squares 32660996 1683844 34344840

Mean Square 16330498 45509

error

X2

Three legs will all touch the floor.

X1

Fourth leg gives first chance to measure error (first error DF). Fit a plane n-3 (37) error DF (2 model DF, n-1=39 total DF)

Regress Y on X1 X2 X7 n-8 error DF (7 model DF, n-1 total DF)

Extension:

Multiple Regression

Issues: (1) Testing joint importance versus individual significance Two engine plane can still fly if engine #1 fails Two engine plane can still fly if engine #2 fails Neither is critical individually Jointly critical (cant omit both!!) (2) Prediction versus modeling individual effects (3) Collinearity (correlation among inputs) Example: Hypothetical companys sales Y depend on TV advertising X1 and Radio Advertising X2. Y = b0 + b1X1 + b2X2 +e

Data Sales; length sval $8; length cval $8; input store TV radio sales; (more code) cards; Sales 1 869 868 9089 2 836 820 8290 (more data) 40 969 961 10130

Radio TV proc g3d data=sales; scatter radio*TV=sales/shape=sval color=cval zmin=8000; run;

Conclusion: Can predict well with just TV, just radio, or both! SAS code: proc reg data=next; model sales = TV radio;
Analysis of Variance Sum of Squares 32660996 1683844 34344840 R-Square Mean Square 16330498 45509

Source Model Error Corrected Total Root MSE

DF 2 37 39 213.32908

F Value 358.84

Pr > F <.0001 (Cant omit both)

0.9510 Explaining 95% of variation in sales

Parameter Estimates Parameter Estimate 531.11390 5.00435 4.66752 Standard Error 359.90429 5.01845 4.94312

Variable Intercept TV radio

DF 1 1 1

t Value 1.48 1.00 0.94

Pr > |t| 0.1485 0.3251 (can omit TV) 0.3512 (can omit radio)

Estimated Sales = 531 + 5.0 TV + 4.7 radio with error variance 45509 (standard deviation 213). TV approximately equal to radio so, approximately Estimated Sales = 531 + 9.7 TV or

Estimated Sales = 531 + 9.7 radio

Summary:
Good predictions given by Sales = 531 + 5.0 x TV + 4.7 x Radio or Sales = 479 + 9.7 x TV or Sales = 612 + 9.6 x Radio or (lots of others)

Why the confusion? The evil Multicollinearity!! (correlated Xs)

Multicollinearity can be diagnosed by looking at principal components (axes of variation) Variance along PC axes eigenvalues of correlation matrix Direction axes point eigenvectors of correlation matrix Principal Component Axis 1

Proc Corr; Var TV radio sales;


Pearson Correlation Coefficients, N = 40 Prob > |r| under H0: Rho=0

TV
TV 1.00000

radio
0.99737 <.0001 1.00000

sales
0.97457 <.0001 0.97450 <.0001

TV $ Principal Component Axis 2

radio

0.99737 <.0001

sales

0.97457 <.0001

0.97450 <.0001

1.00000

Radio $

TEXT MINING

Hypothetical collection of e-mails (corpus) from analytics students: John, message 1: Theres a good cook there. Susan, message 1: I have an analytics practicum then. Susan, message 2: Ill be late from analytics. John, message 2: Shall we take the kids to a movie? John, message 3: Later we can eat what I cooked yesterday. (etc.) Compute word counts: analytics cook_n cook_v kids late movie practicum John 0 1 1 1 1 1 0 Susan 2 0 0 0 1 0 1

Text Mining Mini-Example: Word counts in 16 e-mails --------------------------------words-----------------------------------------


G r o c e r y l i s t 3 0 16 3 17 0 10 20 12 4 10 16 4 5 8 0

s t u d e n t 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

J o b 5 5 0 8 0 10 1 2 4 26 19 2 16 14 1 3

P r a c t i c u m 8 6 2 9 0 6 0 3 1 13 22 0 19 17 0 5

A n a l y t i c s 10 9 0 7 4 9 1 1 4 9 10 0 21 12 4 8

M o v i e 12 5 14 0 16 5 6 13 16 2 11 14 0 0 21 0

D a t a 6 4 0 12 0 5 2 0 2 16 9 1 13 20 3 1

S A S 0 2 2 14 0 19 1 1 4 20 12 3 9 19 6 2

K i d s 1 0 12 2 15 5 9 12 9 6 0 12 0 0 9 0

M i n e r 5 9 0 12 2 20 0 13 0 24 14 0 16 12 3 5

I n t e r v i e w 8 12 4 15 3 18 0 0 9 30 22 12 12 9 0 4

L a t e 18 12 24 22 9 13 2 0 3 9 3 17 0 6 3 6

C o o k _ v 5 1 18 0 18 8 6 12 0 7 2 14 0 3 9 1

C o o k _ n 0 0 4 0 9 1 0 1 0 2 0 3 0 0 3 0

Eigenvalues of the Correlation Matrix Eigenvalue Difference Proportion Cumulative


1 2 3 4 5 6 7 8 9 10 11 12 13 7.49896782 1.94396299 1.21865516 0.61469785 0.51315004 0.42261242 0.31689737 0.22009119 0.10020277 0.07804446 0.05870659 0.01199982 0.00201154 5.55500483 0.72530783 0.60395731 0.10154782 0.09053762 0.10571506 0.09680618 0.11988842 0.02215831 0.01933787 0.04670677 0.00998828 0.5768 0.1495 0.0937 0.0473 0.0395 0.0325 0.0244 0.0169 0.0077 0.0060 0.0045 0.0009 0.0002 0.5768 0.7264 0.8201 0.8674 0.9069 0.9394 0.9638 0.9807 0.9884 0.9944 0.9989 0.9998 1.0000

58% of the variation in these 12-dimensional vectors occurs in one dimension.


Prin1 Job Practicum Analytics Movie Data SAS Kids Miner Grocerylist Interview Late Cook_v Cook_n 0.317700 0.318654 0.306205 -.283351 0.314980 0.279258 -.309731 0.290127 -.269651 0.261794 -.049560 -.267515 -.225621

PROC CLUSTER (single linkage) agrees !

d o c u m e n t 1 2 4 6 10 11 13 14 16 3 5 7 8 9 12 15

C L U S T E R 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2

P r i n 1 0.15311 0.93370 2.08576 1.74995 3.70319 2.76166 3.77000 3.37595 0.44444 -3.62271 -4.18243 -1.90553 -2.54416 -1.41349 -2.98274 -2.32671

J o b 5 5 8 10 26 19 16 14 3 0 0 1 2 4 2 1

P r a c t i c u m
8 6 9 6 13 22 19 17 5 2 0 0 3 1 0 0

A n a l y t i c s
10 9 7 9 9 10 21 12 8 0 4 1 1 4 0 4

M o v i e 12 5 0 5 2 11 0 0 0 14 16 6 13 16 14 21

D a t a 6 4 12 5 16 9 13 20 1 0 0 2 0 2 1 3

S A S 0 2 14 19 20 12 9 19 2 2 0 1 1 4 3 6

K i d s 1 0 2 5 6 0 0 0 0 12 15 9 12 9 12 9

M i n e r 5 9 12 20 24 14 16 12 5 0 2 0 13 0 0 3

G r o c e r y l i s t 3 0 3 0 4 10 4 5 0 16 17 10 20 12 16 8

I n t e r v i e w
8 12 15 18 30 22 12 9 4 4 3 0 0 9 12 0

L a t e 18 12 22 13 9 3 0 6 6 24 9 2 0 3 17 3

C o o k _ v 5 1 0 8 7 2 0 3 1 18 18 6 12 0 14 9

C o o k _ n 0 0 0 1 2 0 0 0 0 4 9 0 1 0 3 3

Unsupervised Learning
We have the features (predictors) We do NOT have the response even on a training data set (UNsupervised) Clustering
Agglomerative
Start with each point separated

Divisive
Start with all points in one cluster then spilt

Direct
State # clusters beforehand

EM PROC FASTCLUS
Step 1 find (50) seeds as separated as possible Step 2 cluster points to nearest seed
Drift: As points are added, change seed (centroid) to average of each coordinate Alternatively: Make full pass then recompute seed and iterate.

Step 3 aggregate clusters using Wards method

Clusters as Created

As Clustered PROC FASTCLUS

Cubic Clustering Criterion (to decide # of Clusters)


Divide random scatter of (X,Y) points into 4 quadrants Pooled within cluster variation much less than overall variation Large variance reduction Big R-square despite no real clusters CCC compares random scatter R-square to what you got to decide #clusters 3 clusters for macaroni data.

Grades vs. IQ and Study Time

Data tests; input IQ Study_Time Grade; IQ_S = IQ*Study_Time; cards; 105 10 75 110 12 79 120 6 68 116 13 85 122 16 91 130 8 79 114 20 98 102 15 76 ; Proc reg data=tests; model Grade = IQ; Proc reg data=tests; model Grade = IQ Study_Time;
Variable Intercept IQ DF 1 1 Parameter Estimate 62.57113 0.16369 Parameter Estimate 0.73655 0.47308 2.10344 Standard Error 48.24164 0.41877 Standard Error 16.26280 0.12998 0.26418 t Value 1.30 0.39 Pr > |t| 0.2423 0.7094

Variable Intercept IQ Study_Time

DF 1 1 1

t Value 0.05 3.64 7.96

Pr > |t| 0.9656 0.0149 0.0005

Contrast: TV advertising looses significance when radio is added. IQ gains significance when study time is added.

Model for Grades: Predicted Grade = 0.74 + 0.47 x IQ + 2.10 x Study Time

Question: Does an extra hour of study really deliver 2.10 points for everyone regardless of IQ? Current model only allows this.

proc reg; model Grade = IQ Study_Time IQ_S;


Sum of Squares 610.81033 31.06467 641.87500 2.78678 Parameter Estimate 72.20608 -0.13117 -4.11107 0.05307 Mean Square 203.60344 7.76617

Source Model Error Corrected Total Root MSE

DF 3 4 7

F Value 26.22

Pr > F 0.0043

R-Square Standard Error 54.07278 0.45530 4.52430 0.03858

0.9516

Variable Intercept IQ Study_Time IQ_S

DF 1 1 1 1

t Value 1.34 -0.29 -0.91 1.38

Pr > |t| 0.2527 0.7876 0.4149 0.2410

Interaction model: Predicted Grade = 72.21 0.13 x IQ 4.11 x Study Time + 0.053 x IQ x Study Time = (72.21 0.13 x IQ )+( 4.11 + 0.053 x IQ )x Study Time IQ = 102 predicts Grade = (72.21-13.26)+(5.41-4.11) x Study Time = 58.95+ 1.30 x Study Time IQ = 122 predicts Grade = (72.21-15.86)+(6.47-4.11) x Study Time = 56.35 + 2.36 x Study Time

Slope = 2.36

Slope = 1.30

(1) (2) (3) (4)

Adding interaction makes everything insignificant (individually) ! Do we need to omit insignificant terms until only significant ones remain? Has an acquitted defendant proved his innocence? Common sense trumps statistics!

Classification Variables (dummy variables, indicator variables) Predicted Accidents = 1181 + 2579 X11 X11 is 1 in November, 0 elsewhere. Interpretation: In November, predict 1181+2579(1) = 3660. In any other month predict 1181 + 2579(0) = 1181. 1181 is average of other months. 2579 is added November effect (vs. average of others) Model for NC Crashes involving Deer: Proc reg data=deer; model deer = X11;
Analysis of Variance Sum of Squares 30473250 19539666 50012916 R-Square Mean Square 30473250 336891

Source Model Error Corrected Total Root MSE

DF 1 58 59 580.42294

F Value 90.45

Pr > F <.0001

0.6093 Parameter Estimate 1181.09091 2578.50909 Standard Error 78.26421 271.11519

Variable Intercept X11

Label Intercept

DF 1 1

t Value 15.09 9.51

Pr > |t| <.0001 <.0001

Looks like December and October need dummies too! Proc reg data=deer; model deer = X10 X11 X12;
Analysis of Variance Sum of Squares 46152434 3860482 50012916 262.55890 Parameter Estimate 929.40000 1391.20000 2830.20000 1377.40000 Mean Square 15384145 68937 date F Value 223.16 Pr > F <.0001 JAN03 FEB03 MAR03 APR03 MAY03 JUN03 JUL03 AUG03 SEP03 OCT03 NOV03 DEC03 JAN04 FEB04 MAR04 APR04 MAY04 JUN04 JUL04 AUG04 SEP04 OCT04 NOV04 DEC04 x10 x11 x12 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1

Source Model Error Corrected Total Root MSE

DF 3 56 59

R-Square Standard Error 39.13997 123.77145 123.77145 123.77145

0.9228

Variable Intercept X10 X11 X12

DF 1 1 1 1

t Value 23.75 11.24 22.87 11.13

Pr > |t| <.0001 <.0001 <.0001 <.0001

Average of Jan through Sept. is 929 crashes per month. Add 1391 in October, 2830 in November, 1377 in December.

What the heck lets do all but one (need average of rest so must leave out at least one) Proc reg data=deer; model deer = X1 X2 X10 X11;
Analysis of Variance Sum of Squares 48421690 1591226 50012916 Mean Square 4401972 33151

Source Model Error Corrected Total

DF 11 48 59

F Value 132.79

Pr > F <.0001

Root MSE

182.07290

R-Square

0.9682

Parameter Estimates Parameter Estimate 2306.80000 -885.80000 -1181.40000 -1220.20000 -1486.80000 -1526.80000 -1433.00000 -1559.20000 -1646.20000 -1457.20000 13.80000 1452.80000 Standard Error 81.42548 115.15301 115.15301 115.15301 115.15301 115.15301 115.15301 115.15301 115.15301 115.15301 115.15301 115.15301

Variable Intercept X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11

Label Intercept

DF 1 1 1 1 1 1 1 1 1 1 1 1

t Value 28.33 -7.69 -10.26 -10.60 -12.91 -13.26 -12.44 -13.54 -14.30 -12.65 0.12 12.62

Pr > |t| <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 0.9051 <.0001

Average of rest is just December mean 2307. Subtract 886 in January, add 1452 in November. October (X10) is not significantly different than December.

positive

negative

Add date (days since Jan 1 1960 in SAS) to capture trend Proc reg data=deer; model deer = date X1 X2 X10 X11;
Analysis of Variance Sum of Squares 49220571 792345 50012916 Mean Square 4101714 16858

Source Model Error Corrected Total

DF 12 47 59

F Value 243.30

Pr > F <.0001

Root MSE

129.83992

R-Square

0.9842

Parameter Estimates Parameter Estimate -1439.94000 -811.13686 -1113.66253 -1158.76265 -1432.28832 -1478.99057 -1392.11624 -1525.01849 -1618.94416 -1436.86982 27.42792 1459.50226 0.22341 Standard Error 547.36656 82.83115 82.70543 82.60154 82.49890 82.41114 82.33246 82.26796 82.21337 82.17106 82.14183 82.12374 0.03245

Variable Intercept X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 date

Label Intercept

DF 1 1 1 1 1 1 1 1 1 1 1 1 1

t Value -2.63 -9.79 -13.47 -14.03 -17.36 -17.95 -16.91 -18.54 -19.69 -17.49 0.33 17.77 6.88

Pr > |t| 0.0115 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 <.0001 0.7399 <.0001 <.0001

Trend is 0.22 more accidents per day (1 per 5 days) and is significantly different from 0.

Logistic Regression
Trees seem to be main tool. Logistic another classifier Older tried & true method Predict probability of response from input variables (Features) Linear regression gives infinite range of predictions 0 < probability < 1 so not linear regression.

Example: Seat Fabric Ignition


Flame exposure time = X Ignited Y=1, did not ignite Y=0
Y=0, X= 3, 5, 9 10 , 13, 16 Y=1, X = 7, 11, 12, 14, 15, 17, 25, 30

Q=(1-p1)(1-p2)p3(1-p4)(1-p5)p6p7(1-p8)p9p10(1p11)p12p13p14 ps all different : pi=exp(a+bXi) /(1+exp(a+bXi)) Find a,b to maximize Q(a,b)

Logistic idea: Map p in (0,1) to L in whole real line Use L = ln(p/(1-p)) Model L as linear in temperature, e.g. Predicted L = a + b(temperature) Given temperature X, compute L(x)=a+bX then p = eL/(1+eL) p(i) = ea+bXi/(1+ea+bXi) Write p(i) if response, 1-p(i) if not Multiply all n of these together, find a,b to maximize

Generate Q for array of (a,b) values


DATA LIKELIHOOD; ARRAY Y(14) Y1-Y14; ARRAY X(14) X1-X14; DO I=1 TO 14; INPUT X(I) y(I) @@; END; DO A = -3 TO -2 BY .025; DO B = 0.2 TO 0.3 BY .0025; Q=1; DO i=1 TO 14; L=A+B*X(i); P=EXP(L)/(1+EXP(L)); IF Y(i)=1 THEN Q=Q*P; ELSE Q=Q*(1-P); END; IF Q<0.0006 THEN Q=0.0006; OUTPUT; END;END; CARDS; 3 0 5 0 7 1 9 0 10 0 11 1 12 1 13 0 14 1 15 1 16 0 17 1 25 1 30 1 ;

Likelihood function (Q)

-2.6

0.23

Concordant pair

Discordant Pair

IGNITION DATA The LOGISTIC Procedure Analysis of Maximum Likelihood Estimates

Parameter Intercept TIME

DF 1 1

Estimate -2.5879 0.2346

Standard Error 1.8469 0.1502

Wald Chi-Square 1.9633 2.4388

Pr > ChiSq 0.1612 0.1184

Association of Predicted Probabilities and Observed Responses Percent Concordant Percent Discordant Percent Tied Pairs 79.2 20.8 0.0 48 Somers' D Gamma Tau-a c 0.583 0.583 0.308 0.792

Example: Shuttle Missions


O-rings failed in Challenger disaster Low temperature Prior flights erosion and blowby in O-rings Feature: Temperature at liftoff Target: problem (1) - erosion or blowby vs. no problem (0)

Example: Framingham
X=age Y=1 if heart trouble, 0 otherwise

Framingham
The LOGISTIC Procedure Analysis of Maximum Likelihood Estimates Standard Wald Estimate Error Chi-Square -5.4639 0.0630 0.5563 0.0110 96.4711 32.6152

Parameter Intercept age

DF 1 1

Pr>ChiSq <.0001 <.0001

Neural Networks
Very flexible functions Hidden Layers Multilayer Perceptron

output inputs

Logistic function of Logistic functions Of data

Arrows represent linear combinations of basis functions, e.g. logistic curves (hyperbolic tangents)

p1 p2 p3 b2 b3

b1 Y

Example: Y = a + b1 p1 + b2 p2 + b3 p3 Y = 4 + p1+ 2 p2 - 4 p3

Should always use holdout sample Perturb coefficients to optimize fit (fit data)
Nonlinear search algorithms

Eliminate unnecessary complexity using holdout data. Other basis sets


Radial Basis Functions Just normal densities (bell shaped) with adjustable means and variances.

Statistics to Data Mining Dictionary Statistics (nerdy) Data Mining (cool)

Independent variables Dependent variable Estimation Clustering Prediction Slopes, Betas Intercept
Composition of Hyperbolic Tangent Functions Radial Basis Function and my personal Type I and Type II Errors

Features Target Training, Supervised Learning Unsupervised Learning Scoring Weights (Neural nets) Bias (Neural nets)
Neural Network Normal Density favorite Confusion Matrix

Association Analysis
Market basket analysis
What theyre doing when they scan your VIP card at the grocery People who buy diapers tend to also buy _________ (beer?) Just a matter of accounting but with new terminology (of course ) Examples from SAS Appl. DM Techniques, by Sue Walsh:

Termnilogy
Baskets: ABC ACD BCD ADE BCE Rule Support Confidence X=>Y Pr{X and Y} Pr{Y|X} A=>D 2/5 2/3 C=>A 2/5 2/4 B&C=>D 1/5 1/3
ABC ACD BCD ADE BCE

Dont be Fooled!
Lift = Confidence /Expected Confidence if Independent
Checking Saving No Yes No (1500) 500 1000 Yes (8500) 3500 5000 (10000) 4000 6000

SVG=>CHKG Expect 8500/10000 = 85% if independent Observed Confidence is 5000/6000 = 83% Lift = 83/85 < 1. Savings account holders actually LESS likely than others to have checking account !!!

Summary
Data mining a set of fast stat methods for large data sets Some new ideas, many old or extensions of old Some methods: Trees (recursive splitting) Logistic Regression Neural Networks Association Analysis Nearest Neighbor Clustering Etc.

TEXT MINING

Hypothetical collection of news releases (corpus) : release 1: Did the NCAA investigate the basketball scores and vote for sanctions? release 2: Republicans voted for and Democrats voted against it for the win. (etc.) Compute word counts: NCAA basketball score vote Republican Democrat win Release 1 1 1 1 1 0 0 0 Release 2 0 0 0 2 1 1 1

Text Mining Mini-Example: Word counts in 16 e-mails --------------------------------words-----------------------------------------


P r e s i d e n t 8 6 2 9 0 6 3 1 13 22 0 19 17 0 R e p u b l i c a n 10 9 0 7 4 9 1 4 9 10 0 21 12 4 B a s k e t b a l l 12 5 14 0 16 5 13 16 2 11 14 0 0 21 T o u r n a m e n t 3 0 16 3 17 0 20 12 4 10 16 4 5 8

d o c u m e n t 1 2 3 4 5 6 7 8 9 10 11 12 13 14

E l e c t i o n 20 5 0 8 0 10 2 4 26 19 2 16 14 1

D e m o c r a t 6 4 0 12 0 5 0 2 16 9 1 13 20 3

V o t e r s 0 2 2 14 0 19 1 4 20 12 3 9 19 6

N C A A 1 0 12 2 15 5 12 9 6 0 12 0 0 9

L i a r 5 9 0 12 2 20 13 0 24 14 0 16 12 3

S p e e c h 8 12 4 15 3 18 0 9 30 22 12 12 9 0

W i n s 18 12 24 22 9 13 0 3 9 3 17 0 6 3

S c o r e _ V 15 9 19 8 0 9 1 0 10 1 23 0 1 10

S c o r e _ N 21 0 30 2 1 14 6 0 14 0 8 2 4 20

Eigenvalues of the Correlation Matrix Eigenvalue 1 2 3 4 5 6 7 8 9 10 11 12 13 7.10954264 2.30455155 1.00292318 0.76887967 0.55817886 0.45732963 0.30169451 0.16772870 0.16271459 0.1192580 0.0303509 0.0159719 0.0008758 Difference 4.80499109 1.30162837 0.23404351 0.21070080 0.10084923 0.15563511 0.13396581 0.00501411 0.04345658 0.08890707 0.01437903 0.01509610 Proportion 0.5469 0.1773 0.0771 0.0591 0.0429 0.0352 0.0232 0.0129 0.0125 0.0092 0.0023 0.0012 0.0001 Cumulative 0.5469 0.7242 0.8013 0.8605 0.9034 0.9386 0.9618 0.9747 0.9872 0.9964 0.9987 0.9999 1.0000

55% of the variation in these 13-dimensional vectors occurs in one dimension.


Variable Basketball NCAA Tournament Score_V Score_N Wins Prin1 -.320074 -.314093 -.277484 -.134625 -.120083 -.080110

Prin 2

Prin 1

Speech Voters Liar Election Republican President Democrat

0.273525 0.294129 0.309145 0.315647 0.318973 0.333439 0.336873

Eigenvalues of the Correlation Matrix Eigenvalue 1 2 3 4 5 6 7 8 9 10 11 12 13 7.10954264 2.30455155 1.00292318 0.76887967 0.55817886 0.45732963 0.30169451 0.16772870 0.16271459 0.1192580 0.0303509 0.0159719 0.0008758 Difference 4.80499109 1.30162837 0.23404351 0.21070080 0.10084923 0.15563511 0.13396581 0.00501411 0.04345658 0.08890707 0.01437903 0.01509610 Proportion 0.5469 0.1773 0.0771 0.0591 0.0429 0.0352 0.0232 0.0129 0.0125 0.0092 0.0023 0.0012 0.0001 Cumulative 0.5469 0.7242 0.8013 0.8605 0.9034 0.9386 0.9618 0.9747 0.9872 0.9964 0.9987 0.9999 1.0000

55% of the variation in these 13-dimensional vectors occurs in one dimension.


Variable Basketball NCAA Tournament Score_V Score_N Wins Prin1 -.320074 -.314093 -.277484 -.134625 -.120083 -.080110

Prin 2 Prin 1

Prin1 coordinate = .707(word1) .707(word2)

Speech Voters Liar Election Republican President Democrat

0.273525 0.294129 0.309145 0.315647 0.318973 0.333439 0.336873

PROC CLUSTER (single linkage) agrees !

Cluster 2

Cluster 1

Plot of Prin1*Prin2$document.

Symbol points to label.

Prin1 4 > 12 > 9 > 13 3 > 10 2 4 <> 6 1 > 2 0 > 1 -1 > 8 -2 > 7 > 14 -3 > 5 > 11 > 3 -4 -3 -2 -1 0 1 2 3 Prin2

Can use two, three or more components (dimensions)

D.A.D.

Das könnte Ihnen auch gefallen