xl miner user guide

420
Version 12.5 For Use With Excel 2003-2013 Analytic Solver Platform XLMiner Data Mining User Guide

Upload: mary-williams

Post on 29-Nov-2015

603 views

Category:

Documents


0 download

TRANSCRIPT

Version 12.5 For Use With Excel 2003-2013

Analytic Solver Platform

XLMiner

Data Mining User Guide

Copyright

Software copyright 1991-2013 by Frontline Systems, Inc.

User Guide copyright 2013 by Frontline Systems, Inc.

Analytic Solver Platform: Portions 1989 by Optimal Methods, Inc.; portions 2002 by Masakazu

Muramatsu. LP/QP Solver: Portions 2000-2010 by International Business Machines Corp. and others.

Neither the Software nor this User Guide may be copied, photocopied, reproduced, translated, or reduced to any

electronic medium or machine-readable form without the express written consent of Frontline Systems, Inc.,

except as permitted by the Software License agreement below.

Trademarks

Analytic Solver Platform, Risk Solver Platform, Premium Solver Platform, Premium Solver Pro, Risk Solver

Pro, Risk Solver Engine, Solver SDK Platform and Solver SDK Pro are trademarks of Frontline Systems, Inc.

Windows and Excel are trademarks of Microsoft Corp. Gurobi is a trademark of Gurobi Optimization, Inc.

KNITRO is a trademark of Ziena Optimization, Inc. MOSEK is a trademark of MOSEK ApS. OptQuest is a

trademark of OptTek Systems, Inc. XpressMP

is a trademark of FICO, Inc.

Acknowledgements

Thanks to Dan Fylstra and the Frontline Systems development team for a 20-year cumulative effort to build the

best possible optimization and simulation software for Microsoft Excel. Thanks to Frontline’s customers who

have built many thousands of successful applications, and have given us many suggestions for improvements.

Analytic Solver Platform and Risk Solver Platform has benefited from reviews, critiques, and suggestions from

several risk analysis experts:

• Sam Savage (Stanford Univ. and AnalyCorp Inc.) for Probability Management concepts including SIPs,

SLURPs, DISTs, and Certified Distributions.

• Sam Sugiyama (EC Risk USA & Europe LLC) for evaluation of advanced distributions, correlations, and

alternate parameters for continuous distributions.

• Savvakis C. Savvides for global bounds, censor bounds, base case values, the Normal Skewed distribution

and new risk measures.

How to Order

Contact Frontline Systems, Inc., P.O. Box 4288, Incline Village, NV 89450.

Tel (775) 831-0300 Fax (775) 831-0314 Email [email protected] Web http://www.solver.com

Frontline Solvers V12.5 User Guide Page 3

Table of Contents

Start Here: Data Mining Essentials in V12.5 13

Getting the Most from This User Guide .................................................................................. 13 Installing the Software ............................................................................................... 13 Upgrading from Earlier Versions .............................................................................. 13 Obtaining a License ................................................................................................... 13 Finding the Examples ................................................................................................ 13 Using Existing Models .............................................................................................. 13 Getting and Interpreting Results ................................................................................ 14

Software License and Limited Warranty ................................................................................. 14

Installation and Add-Ins 18

What You Need ....................................................................................................................... 18 Installing the Software ............................................................................................................. 18 Uninstalling the Software ........................................................................................................ 23 Activating and Deactivating the Software ............................................................................... 23

Excel 2013, Excel 2010 and 2007 ............................................................................. 23 Excel 2003 ................................................................................................................. 24

Using Help, Licensing and Product Subsets 26

Introduction ............................................................................................................................. 26 Working with Licenses in V12.5 ............................................................................................. 26

Using the License File Solver.lic ............................................................................... 26 License Codes and Internet Activation ...................................................................... 26

Running Subset Products in V12.5 .......................................................................................... 27 Using the Welcome Screen ...................................................................................................... 29 Using the XLMiner Help Text ................................................................................................. 29

Introduction to XLMiner 32

Introduction ............................................................................................................................. 32 Ribbon Overview ..................................................................................................................... 32 XLMiner Help Ribbon Icon ..................................................................................................... 33

Change Product ......................................................................................................... 33 License Code ............................................................................................................. 34 Examples ................................................................................................................... 36 Help Text ................................................................................................................... 38 Check for Updates ..................................................................................................... 39 About XLMiner ......................................................................................................... 39

Common Dialog Options ......................................................................................................... 40 Worksheet .................................................................................................................. 40 Data Range ................................................................................................................ 40 # Rows, # Columns ................................................................................................... 40 First row contains headers ......................................................................................... 41 Variables in the data source ....................................................................................... 41 Input variables ........................................................................................................... 41 Help ........................................................................................................................... 41 Reset .......................................................................................................................... 41 OK ............................................................................................................................. 41 Cancel ........................................................................................................................ 41

Frontline Solvers V12.5 User Guide Page 4

Help Window ............................................................................................................ 42 References ............................................................................................................................... 42

Sampling from a Worksheet or Database 43

Introduction ............................................................................................................................. 43 Sampling from a Worksheet .................................................................................................... 44

Example: Sampling from a Worksheet using Simple Random Sampling ................ 44 Example: Sampling from a Worksheet using Sampling with Replacement ............. 47 Example: Sampling from a Worksheet using Stratified Random Sampling ............. 48

Sample from Worksheet Options ............................................................................................. 53 Data Range ................................................................................................................ 54 First row contains headers ......................................................................................... 54 Variables .................................................................................................................... 54 Sample With replacement .......................................................................................... 55 Set Seed ..................................................................................................................... 55 Desired sample size ................................................................................................... 55 Simple random sampling ........................................................................................... 55 Stratified random sampling ....................................................................................... 55 Stratum Variable ........................................................................................................ 55 Proportionate to stratum size ..................................................................................... 55 Equal from each stratum ............................................................................................ 55 Equal from each stratum, #records = smallest stratum size ....................................... 56

Sampling from a Database ....................................................................................................... 56

Exploring Data using Charts 59

Introduction ............................................................................................................................. 59 Bar Chart ................................................................................................................... 59 Box Whisker Plot ...................................................................................................... 59 Histogram .................................................................................................................. 61 Line Chart .................................................................................................................. 61 Parallel Coordinates................................................................................................... 62 Scatterplot .................................................................................................................. 62 Scatterplot Matrix ...................................................................................................... 63 Variable Plot .............................................................................................................. 63

Bar Chart Example .................................................................................................................. 64 Box Whisker Plot Example ...................................................................................................... 69 Histogram Example ................................................................................................................. 74 Line Chart Example ................................................................................................................. 78 Parallel Coordinates Chart Example ........................................................................................ 81 ScatterPlot Example ................................................................................................................. 85 Scatterplot Matrix Plot Example .............................................................................................. 89 Variable Plot Example ............................................................................................................. 91 Common Chart Options ........................................................................................................... 93

Transforming Datasets with Missing or Invalid Data 97

Introduction ............................................................................................................................. 97 Missing Data Handling Examples ........................................................................................... 97 Options for Missing Data Handling ....................................................................................... 111

Missing Values are represented by this value .......................................................... 111 Overwrite existing worksheet .................................................................................. 112 Variable names in the first Row .............................................................................. 112 Variables .................................................................................................................. 112 How do you want to handle missing values for the selected variable(s)? ............... 112 Apply this option to selected variable(s) ................................................................. 112

Frontline Solvers V12.5 User Guide Page 5

Reset ........................................................................................................................ 112 OK ........................................................................................................................... 112

Binning Continuous Data 113

Introduction ........................................................................................................................... 113 Examples for Binning Continuous Data ................................................................................ 113 Options for Binning Continuous Data ................................................................................... 122

Variable names in the first row ................................................................................ 123 Name of the binned variable .................................................................................... 123 Show binning values in the output .......................................................................... 123 Name of binned variable ......................................................................................... 123 #bins for the variable ............................................................................................... 123 Equal count .............................................................................................................. 124 Equal interval .......................................................................................................... 124 Rank of the bin ........................................................................................................ 124 Mean of the bin ........................................................................................................ 124 Median of the bin .................................................................................................... 124 Mid Value ................................................................................................................ 124 Apply this option to the selected variable ................................................................ 124

Transforming Categorical Data 125

Introduction ........................................................................................................................... 125 Transforming Categorical Data Examples ............................................................................. 126 Options for Transforming Categorical Data .......................................................................... 132

Data Range .............................................................................................................. 133 First row contains headers ....................................................................................... 133 Variables .................................................................................................................. 133 Options .................................................................................................................... 133 Category Number .................................................................................................... 133

Principal Components Analysis 134

Introduction ........................................................................................................................... 134 Examples for Principal Components ..................................................................................... 136 Options for Principal Components Analysis .......................................................................... 142

Principal Components ............................................................................................. 142 Smallest #components explaining ........................................................................... 143 Method .................................................................................................................... 143 Show principal components score ........................................................................... 144

k-Means Clustering 145

Introduction ........................................................................................................................... 145 Examples for k-Means Clustering ......................................................................................... 145 k-Means Clustering Options .................................................................................................. 151

Clustering Method ................................................................................................... 152 Normalize input data ............................................................................................... 153 # Clusters ................................................................................................................. 153 # Iterations ............................................................................................................... 153 Options .................................................................................................................... 153 Show data summary ................................................................................................ 153 Show distances from each cluster center ................................................................. 153

Hierarchical Clustering 154

Frontline Solvers V12.5 User Guide Page 6

Introduction ........................................................................................................................... 154 Agglomerative methods ........................................................................................... 154 Single linkage clustering ......................................................................................... 155 Complete linkage clustering .................................................................................... 155 Average linkage clustering ...................................................................................... 156 Average group linkage ............................................................................................ 157 Ward's hierarchical clustering method .................................................................... 157

Examples of Hierarchical Clustering ..................................................................................... 158 Options for Hierarchical Clustering ....................................................................................... 166

Data Type ................................................................................................................ 167 Normalize input data ............................................................................................... 168 Similarity Measures ................................................................................................. 168 Clustering Method ................................................................................................... 168 Draw Dendrogram ................................................................................................... 168 Show cluster membership ........................................................................................ 168 # Clusters ................................................................................................................. 169

Exploring a Time Series Dataset 170

Introduction ........................................................................................................................... 170 Autocorrelation (ACF) ............................................................................................ 170 Partial Autocorrelation Function (PACF) ................................................................ 171 ARIMA .................................................................................................................... 171 Partitioning .............................................................................................................. 172

Examples for Time Series Analysis ....................................................................................... 172 Options for Exploring Time Series Datasets .......................................................................... 191

Time variable ........................................................................................................... 191 Variables in the partitioned data .............................................................................. 191 Specify Partitioning Options ................................................................................... 191 Specify Percentages for Partitioning ....................................................................... 191 Selected Variable ..................................................................................................... 192 Lags ......................................................................................................................... 192 Plot ACF chart ......................................................................................................... 192 Variables in the input data ....................................................................................... 193 Selected variable ...................................................................................................... 193 PACF Parameters for Training Data ....................................................................... 193 PACF Parameters for Validation Data .................................................................... 193 Time Variable .......................................................................................................... 194 Do not fit constant term ........................................................................................... 194 Fit seasonal model ................................................................................................... 194 Period ...................................................................................................................... 194 Nonseasonal Parameters .......................................................................................... 194 Seasonal Parameters ................................................................................................ 195 Maximum number of iterations ............................................................................... 195 Fitted Values and residuals ...................................................................................... 195 Variance-covariance matrix ..................................................................................... 195 Produce forecasts ..................................................................................................... 195 Report confidence intervals for forecasts ................................................................ 195

Smoothing Techniques 196

Introduction ........................................................................................................................... 196 Exponential smoothing ............................................................................................ 196 Moving Average Smoothing ................................................................................... 197 Double exponential smoothing ................................................................................ 197 Holt Winters' smoothing .......................................................................................... 197

Frontline Solvers V12.5 User Guide Page 7

Exponential Smoothing Example .......................................................................................... 198 Moving Average Smoothing Example ................................................................................... 204 Double Exponential Smoothing Example .............................................................................. 208 Holt Winters Smoothing Example ......................................................................................... 213 Common Smoothing Options ................................................................................................ 220

Common Options .................................................................................................... 220 First row contains headers ....................................................................................... 220 Variables in input data ............................................................................................. 220 Time Variable .......................................................................................................... 220 Selected Variable ..................................................................................................... 221 Output Options ........................................................................................................ 221

Exponential Smoothing Options ............................................................................................ 221 Optimize .................................................................................................................. 222 Level (Alpha) .......................................................................................................... 222

Moving Average Smoothing Options .................................................................................... 222 Interval .................................................................................................................... 222

Double Exponential Smoothing Options ............................................................................... 223 Optimize .................................................................................................................. 223 Level (Alpha) .......................................................................................................... 223 Trend (Beta) ............................................................................................................ 223

Holt Winter Smoothing Options ............................................................................................ 223 Parameters ............................................................................................................... 224 Level (Alpha) .......................................................................................................... 224 Trend (Beta) ............................................................................................................ 224 Seasonal (Gamma)................................................................................................... 224 Give Forecast ........................................................................................................... 224 Update Estimate Each Time .................................................................................... 225 #Forecasts ................................................................................................................ 225

Data Mining Partitioning 226

Introduction ........................................................................................................................... 226 Training Set ............................................................................................................. 226 Validation Set .......................................................................................................... 226 Test Set .................................................................................................................... 226 Partition with Oversampling .................................................................................... 227

Standard Partition Example ................................................................................................... 228 Partition with Oversampling Example ................................................................................... 230 Standard Partitioning Options ................................................................................................ 233

Use partition variable .............................................................................................. 233 Set Seed ................................................................................................................... 233 Pick up rows randomly ............................................................................................ 234 Automatic ................................................................................................................ 234 Specify percentages ................................................................................................. 234 Equal # records in training, validation and test set .................................................. 234

Partitioning with Oversampling Options ............................................................................... 234 Set seed .................................................................................................................... 235 Output variable ........................................................................................................ 235 #Classes ................................................................................................................... 235 Specify Success class .............................................................................................. 235 % of success in data set ........................................................................................... 236 Specify % success in training set ............................................................................. 236 Specify % validation data to be taken away as test data .......................................... 236

Discriminant Analysis Classification Method 237

Frontline Solvers V12.5 User Guide Page 8

Introduction ........................................................................................................................... 237 Discriminant Analysis Example ............................................................................................ 237 Discriminant Analysis Options .............................................................................................. 245

Variables in input data ............................................................................................. 246 Input variables ......................................................................................................... 246 Weight Variables ..................................................................................................... 246 Output variable ........................................................................................................ 246 #Classes ................................................................................................................... 246 Specify “Success” class (for Lift Chart) .................................................................. 246 Specify initial cutoff probability value for success ................................................. 246 According to relative occurrences in training data .................................................. 247 Use equal prior probabilities.................................................................................... 247 User specified prior probabilities ............................................................................ 247 Misclassification Costs of ........................................................................................ 247 Canonical variate loadings ...................................................................................... 248 Score training data ................................................................................................... 248 Score validation data ............................................................................................... 248 Score test data .......................................................................................................... 248 Canonical Scores ..................................................................................................... 249

Logistic Regression 250

Introduction ........................................................................................................................... 250 Logistic Regression Example ................................................................................................ 251 Logistic Regression Options .................................................................................................. 263

Variables in input data ............................................................................................. 264 Input variables ......................................................................................................... 264 Weight variable ....................................................................................................... 264 Output Variable ....................................................................................................... 264 # Classes .................................................................................................................. 264 Specify “Success” class (necessary) ........................................................................ 265 Specify initial Cutoff Probability value for success ................................................ 265 Force constant term to zero ..................................................................................... 265 Set confidence level for odds................................................................................... 265 Maximum # iterations.............................................................................................. 266 Initial marquardt overshoot factor ........................................................................... 266 Perform Collinearity diagnostics ............................................................................. 266 Number of collinearity components ........................................................................ 266 Perform best subset selection .................................................................................. 266 Maximum size of best subset................................................................................... 267 Number of best subsets ............................................................................................ 267 Selection Procedure ................................................................................................. 267 Covariance matrix of coefficients ............................................................................ 268 Residuals ................................................................................................................. 268 Score training data ................................................................................................... 268 Score validation data ............................................................................................... 268 Score test data .......................................................................................................... 268 Score new data ......................................................................................................... 269

k – Nearest Neighbors Classification Method 270

Introduction ........................................................................................................................... 270 k-Nearest Neighbors Classification Example ........................................................................ 270 k-Nearest Neighbors Options ................................................................................................. 276

Variables in input data ............................................................................................. 277 Input variables ......................................................................................................... 277

Frontline Solvers V12.5 User Guide Page 9

Weight variable ....................................................................................................... 277 Output variable ........................................................................................................ 277 Classes in the output variable .................................................................................. 277 Specify Success class (for Lift Charts) .................................................................... 277 Specify Initial Cutoff Probability value for success ................................................ 278 Normalize input data ............................................................................................... 278 Number of nearest neighbors (k) ............................................................................. 278 Scoring Option ........................................................................................................ 279 Score training data ................................................................................................... 279 Score validation data ............................................................................................... 279 Score test data .......................................................................................................... 279 Score new data ......................................................................................................... 279

Classification Tree Classification Method 280

Introduction ........................................................................................................................... 280 Pruning the tree ....................................................................................................... 281

Classification Tree Example .................................................................................................. 281 Classification Tree Options ................................................................................................... 292

Variables in input data ............................................................................................. 293 Input variables ......................................................................................................... 293 Weight variable ....................................................................................................... 293 Output variable ........................................................................................................ 293 # Classes .................................................................................................................. 293 Specify “Success” class (for Lift Chart) .................................................................. 293 Specify initial cutoff probability value for success ................................................. 294 Normlize input data ................................................................................................. 294 Minimum #records in a terminal node..................................................................... 294 Prune Tree ............................................................................................................... 294 Maximum # levels to be displayed .......................................................................... 295 Full tree (grown using training data) ....................................................................... 295 Best pruned tree (pruned using validation data) ...................................................... 295 Minimum error tree (pruned using validation data) ................................................. 295 Tree with specified number of decision nodes ........................................................ 295 Score training data ................................................................................................... 296 Score validation data ............................................................................................... 296 Score test data .......................................................................................................... 296 Score new data ......................................................................................................... 296

Naïve Bayes Classification Method 297

Introduction ........................................................................................................................... 297 Bayes Theorem ........................................................................................................ 297

Naïve Bayes Classification Example ..................................................................................... 298 Naïve Bayes Classification Method Options ......................................................................... 305

Variables in input data ............................................................................................. 305 Input variables ......................................................................................................... 305 Weight variable ....................................................................................................... 306 Output variable ........................................................................................................ 306 # Classes .................................................................................................................. 306 Specify “Success” class (for Lift Chart) .................................................................. 306 Specify initial cutoff probability value for success ................................................. 306 According to relative occurrences in training data .................................................. 306 Use equal prior probabilities.................................................................................... 307 User specified prior probabilities ............................................................................ 307 Score training data ................................................................................................... 307

Frontline Solvers V12.5 User Guide Page 10

Score validation data ............................................................................................... 307 Score test data .......................................................................................................... 307 Score new data ......................................................................................................... 307

Neural Networks Classification Method 308

Introduction ........................................................................................................................... 308 Training an Artificial Neural Network .................................................................... 309 The Iterative Learning Process ................................................................................ 309 Feedforward, Back-Propagation .............................................................................. 310 Structuring the Network .......................................................................................... 310

Automated Neural Network Classification Example ............................................................. 311 Manual Neural Network Classification Example .................................................................. 318 NNC with Output Variable Containing 2 Classes.................................................................. 322 Neural Network Classification Method Options .................................................................... 324

Variables in input data ............................................................................................. 325 Input variables ......................................................................................................... 325 Weight variable ....................................................................................................... 325 Output variable ........................................................................................................ 325 # Classes .................................................................................................................. 325 Specify “Success” class (for Lift Chart) .................................................................. 325 Specify initial cutoff probability value for success ................................................. 326 Normalize input data ............................................................................................... 326 Network Architecture .............................................................................................. 326 # Hidden Layers ...................................................................................................... 326 # Nodes .................................................................................................................... 327 # Epochs .................................................................................................................. 327 Step size for gradient descent .................................................................................. 327 Weight change momentum ...................................................................................... 327 Error tolerance ......................................................................................................... 327 Weight decay ........................................................................................................... 327 Cost Function .......................................................................................................... 327 Hidden Layer Sigmoid ............................................................................................ 327 Output Layer Sigmoid ............................................................................................. 328 Score training data ................................................................................................... 328 Score validation data ............................................................................................... 328 Score test data .......................................................................................................... 328 Score New Data ....................................................................................................... 329

Multiple Linear Regression Prediction Method 330

Introduction ........................................................................................................................... 330 Multiple Linear Regression Example .................................................................................... 330 Multiple Linear Regression Options ...................................................................................... 342

Variables in input data ............................................................................................. 343 Input variables ......................................................................................................... 343 Weight variable ....................................................................................................... 343 Output Variable ....................................................................................................... 343 Force constant to zero .............................................................................................. 344 Fitted values ............................................................................................................ 344 Anova table.............................................................................................................. 344 Standardized ............................................................................................................ 344 Unstandardized ........................................................................................................ 345 Variance – covariance matrix .................................................................................. 345 Score training data ................................................................................................... 345 Score validation data ............................................................................................... 345

Frontline Solvers V12.5 User Guide Page 11

Score test data .......................................................................................................... 345 Score New Data ....................................................................................................... 345 Studentized .............................................................................................................. 346 Deleted .................................................................................................................... 346 Select Cook's Distance ............................................................................................ 346 DF fits ...................................................................................................................... 346 Covariance Ratios .................................................................................................... 347 Hat matrix Diagonal ................................................................................................ 347 Perform Collinearity diagnostics ............................................................................. 347 Number of Collinearity Components ...................................................................... 347 Multicollinearity Criterion ....................................................................................... 347 Perform best subset selection .................................................................................. 348 Maximum size of best subset................................................................................... 348 Number of best subsets ............................................................................................ 348 Selection Procedure ................................................................................................. 348

k-Nearest Neighbors Prediction Method 349

Introduction ........................................................................................................................... 349 k-Nearest Neighbors Prediction Method Example ................................................................ 349 k-Nearest Neighbors Prediction Method Options .................................................................. 357

Variables in input data ............................................................................................. 358 Input variables ......................................................................................................... 358 Output Variable ....................................................................................................... 358 Normalize Input data ............................................................................................... 359 Number of Nearest Neighbors ................................................................................. 359 Scoring Option ........................................................................................................ 359 Score training data ................................................................................................... 359 Score validation data ............................................................................................... 360 Score test data .......................................................................................................... 360 Score New Data ....................................................................................................... 360

Regression Tree Prediction Method 361

Introduction ........................................................................................................................... 361 Methodology ........................................................................................................... 361 Pruning the tree ....................................................................................................... 361

Regression Tree Example ...................................................................................................... 362 Regression Tree Options ........................................................................................................ 371

Variables in input data ............................................................................................. 372 Input variables ......................................................................................................... 372 Weight Variable ...................................................................................................... 372 Output Variable ....................................................................................................... 372 Normalize input data ............................................................................................... 373 Maximum # splits for input variables ...................................................................... 373 Minimum #records in a terminal node..................................................................... 373 Scoring option ......................................................................................................... 373 Maximum #levels to be displayed ........................................................................... 374 Full tree (grown using training data) ....................................................................... 374 Pruned tree (pruned using validation data) .............................................................. 374 Minimum error tree (pruned using validation data) ................................................. 374 Score training data ................................................................................................... 375 Score validation data ............................................................................................... 375 Score Test Data ....................................................................................................... 375 Score new Data ........................................................................................................ 375

Frontline Solvers V12.5 User Guide Page 12

Neural Networks Prediction Method 376

Introduction ........................................................................................................................... 376 Training an Artificial Neural Network .................................................................... 377 The Iterative Learning Process ................................................................................ 377 Feedforward, Back-Propagation .............................................................................. 378 Structuring the Network .......................................................................................... 378

Neural Network Prediction Method Example ........................................................................ 379 Neural Network Prediction Method Options ......................................................................... 387

Variables in input data ............................................................................................. 387 Input variables ......................................................................................................... 387 Weight Variable ...................................................................................................... 387 Output Variable ....................................................................................................... 388 Normalize input data ............................................................................................... 388 # Hidden Layers ...................................................................................................... 388 # Nodes .................................................................................................................... 388 # Epochs .................................................................................................................. 388 Step size for gradient descent .................................................................................. 388 Weight change momentum ...................................................................................... 389 Error tolerance ......................................................................................................... 389 Weight decay ........................................................................................................... 389 Score training data ................................................................................................... 389 Score validation data ............................................................................................... 389 Score Test Data ....................................................................................................... 390 Score new Data ........................................................................................................ 390

Association Rules 391

Introduction ........................................................................................................................... 391 Association Rule Example ..................................................................................................... 392 Association Rule Options ...................................................................................................... 394

Input data format ..................................................................................................... 394 Minimum support (# transactions) .......................................................................... 394 Minimum confidence (%) ........................................................................................ 395

Scoring New Data 396

Introduction ........................................................................................................................... 396 Scoring to a Database ............................................................................................................ 396 Scoring on New Data ............................................................................................................. 405

Scoring Test Data 412

Introduction ........................................................................................................................... 412 Scoring Test Data Example ................................................................................................... 413 Scoring Test Data Options ..................................................................................................... 418

Data to be Scored .................................................................................................... 418 Stored Model ........................................................................................................... 418 Match by Name ....................................................................................................... 419 Match by Sequence.................................................................................................. 419 Manual Match .......................................................................................................... 419

Frontline Solvers V12.5 User Guide Page 13

Start Here: Data Mining Essentials in V12.5

Getting the Most from This User Guide

Installing the Software

Run the SolverSetup program to install the software – whether you are using

Analytic Solver Platform or XLMiner only. The chapter “Installation and Add-

Ins” covers installation step-by-step, and explains how to activate and deactivate

the Analytic Solver Platform and XLMiner Excel add-ins.

Upgrading from Earlier Versions

If you have our V12, V11.x, V10.x or V9.x Risk Solver Platform software

installed, Analytic Solver Platform will be installed into a new folder,

C:\Program Files\Frontline Systems\Analytic Solver Platform (recommended).

If you have V4.0 or V3.x XLMiner software installed, XLMiner V12.5 will

also be installed into C:\Program Files\Frontline Systems\Analytic Solver

Platform (recommended). We recommend uninstalling the earlier version. For

more information and other options, see “Installation and Add-Ins.”

Obtaining a License

Use Help – License Code on the XLMiner Ribbon. The license manager in

V12.5 allows users to obtain and activate a license over the Internet. V9.5 and

earlier license codes in your Solver.lic license file will be ignored in V12.5. See

the chapter “Using Help, Licensing and Product Subsets” for details.

Finding the Examples

Use Help – Examples on the XLMiner Ribbon to open example datasets. Some

of these examples are used and described in subsequent chapters.

Using Existing Models

Models created using XLMiner 4.0 and earlier can be used in V12.5 without any

required changes.

Frontline Solvers V12.5 User Guide Page 14

Getting and Interpreting Results

Learn how to interpret XLMiner’s result messages, error messages, reports and

charts using the Help file imbedded within the software. Simply go to Help –

Help Text on the XLMiner ribbon.

Software License and Limited Warranty

This SOFTWARE LICENSE (the "License") constitutes a legally binding agreement between Frontline

Systems, Inc. ("Frontline") and the person or organization ("Licensee") acquiring the right to use certain

computer program products offered by Frontline (the "Software"), in exchange for Licensee’s payment to

Frontline (the "Fees"). Licensee may designate the individual(s) who will use the Software from time to

time, in accordance with the terms of this License. Unless replaced by a separate written agreement signed

by an officer of Frontline, this License shall govern Licensee's use of the Software. BY

DOWNLOADING, ACCEPTING DELIVERY OF, INSTALLING, OR USING THE SOFTWARE,

LICENSEE AGREES TO BE BOUND BY ALL TERMS AND CONDITIONS OF THIS LICENSE.

1. LICENSE GRANT AND TERMS.

Grant of License: Subject to all the terms and conditions of this License, Frontline grants to Licensee a

non-exclusive, non-transferable except as provided below, right and license to Use the Software (as the

term "Use" is defined below) for the term as provided below, with the following restrictions:

Evaluation License: If and when offered by Frontline, on a one-time basis only, for a Limited Term

determined by Frontline in its sole discretion, Licensee may Use the Software on one computer (the "PC"),

and Frontline will provide Licensee with a license code enabling such Use. The Software must be stored

only on the PC. An Evaluation License may not be transferred to a different PC.

Standalone License: Upon Frontline’s receipt of payment from Licensee of the applicable Fee for a

single-Use license ("Standalone License"), Licensee may Use the Software for a Permanent Term on one

computer (the "PC"), and Frontline will provide Licensee with a license code enabling such Use. The

Software may be stored on one or more computers, servers or storage devices, but it may be used only on

the PC. If the PC fails in a manner such that Use is no longer possible, Frontline will provide Licensee

with a new license code, enabling Use on a repaired or replaced PC, at no charge. A Standalone License

may be transferred to a different PC while the first PC remains in operation only if (i) Licensee requests a

new license code from Frontline, (ii) Licensee certifies in writing that the Software will no longer be Used

on the first PC, and (iii) Licensee pays a license transfer fee, unless such fee is waived in writing by

Frontline in its sole discretion.

Flexible Use License: Upon Frontline’s receipt of payment from Licensee of the applicable Fee for a

multi-Use license ("Flexible Use License"), Licensee may Use the Software for a Permanent Term on a

group of several computers as provided in this section, and Frontline will provide Licensee with a license

code enabling such Use. The Software may be stored on one or more computers, servers or storage devices

interconnected by any networking technology that supports the TCP/IP protocol (a "Network"), copied into

the memory of, and Used on, any of the computers on the Network, provided that only one Use occurs at

any given time, for each Flexible Use License purchased by Licensee. Frontline will provide to Licensee

(under separate license) and Licensee must install and run License Server software ("LSS") on one of the

computers on the Network (the "LS"); other computers will temporarily obtain the right to Use the

Software from the LS. If the LS fails in a manner such that the LSS cannot be run, Frontline will provide

Licensee with a new license code, enabling Use on a repaired or replaced LS, at no charge. A Flexible Use

License may be transferred to a different LS while the first LS remains in operation only if (i) Licensee

requests a new license code from Frontline, (ii) Licensee certifies in writing that the LSS will no longer be

run on the first LS, and (iii) Licensee pays a license transfer fee, unless such fee is waived by Frontline in

its sole discretion.

Frontline Solvers V12.5 User Guide Page 15

"Use" of the Software means the use of any of its functions to define, analyze, solve (optimize, simulate,

etc.) and/or obtain results for a single user-defined model. Use with more than one model at the same time,

whether on one computer or multiple computers, requires more than one Standalone or Flexible Use

License. Use occurs only during the time that the computer’s processor is executing the Software; it does

not include time when the Software is loaded into memory without being executed. The minimum time

period for Use on any one computer shall be ten (10) minutes, but may be longer depending on the

Software function used and the size and complexity of the model.

Other License Restrictions: The Software includes license control features that may write encoded

information about the license type and term to the PC or LS hard disk; Licensee agrees that it will not

attempt to alter or circumvent such license control features. This License does not grant to Licensee the

right to make copies of the Software or otherwise enable use of the Software in any manner other than as

described above, by any persons or on any computers except as described above, or by any entity other than

Licensee. Licensee acknowledges that the Software and its structure, organization, and source code

constitute valuable Intellectual Property of Frontline and/or its suppliers and Licensee agrees that it shall

not, nor shall it permit, assist or encourage any third party to: (a) copy, modify adapt, alter, translate or

create derivative works from the Software; (b) merge the Software into any other software or use the

Software to develop any application or program having the same primary function as the Software; (c)

sublicense, distribute, sell, use for service bureau use, lease, rent, loan, or otherwise transfer the Software;

(d) "share" use of the Software with anyone else; (e) make the Software available over the Internet, a

company or institutional intranet, or any similar networking technology, except as explicitly provided in the

case of a Flexible Use License; (f) reverse compile, reverse engineer, decompile, disassemble, or otherwise

attempt to derive the source code for the Software; or (g) otherwise exercise any rights in or to the

Software, except as permitted in this Section.

U.S. Government: The Software is provided with RESTRICTED RIGHTS. Use, duplication, or

disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the

Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1)

and (2) of the Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as applicable.

Contractor/manufacturer is Frontline Systems, Inc., P.O. Box 4288, Incline Village, NV 89450.

2. ANNUAL SUPPORT.

Limited warranty: If Licensee purchases an "Annual Support Contract" from Frontline, then Frontline

warrants, during the term of such Annual Support Contract ("Support Term"), that the Software covered by

the Annual Support Contract will perform substantially as described in the User Guide published by

Frontline in connection with the Software, as such may be amended from time to time, when it is properly

used as described in the User Guide, provided, however, that Frontline does not warrant that the Software

will be error-free in all circumstances. During the Support Term, Frontline shall make reasonable

commercial efforts to correct, or devise workarounds for, any Software errors (failures to perform as so

described) reported by Licensee, and to timely provide such corrections or workarounds to Licensee.

Disclaimer of Other Warranties: IF THE SOFTWARE IS COVERED BY AN ANNUAL SUPPORT

CONTRACT, THE LIMITED WARRANTY IN THIS SECTION 2 SHALL CONSTITUTE

FRONTLINE'S ENTIRE LIABILITY IN CONTRACT, TORT AND OTHERWISE, AND LICENSEE’S

EXCLUSIVE REMEDY UNDER THIS LIMITED WARRANTY. IF THE SOFTWARE IS NOT

COVERED BY A VALID ANNUAL SUPPORT CONTRACT, OR IF LICENSEE PERMITS THE

ANNUAL SUPPORT CONTRACT ASSOCIATED WITH THE SOFTWARE TO EXPIRE, THE

DISCLAIMERS SET FORTH IN SECTION 3 SHALL APPLY.

3. WARRANTY DISCLAIMER.

EXCEPT AS PROVIDED IN SECTION 2 ABOVE, THE SOFTWARE IS PROVIDED "AS IS" AND

"WHERE IS" WITHOUT WARRANTY OF ANY KIND; FRONTLINE AND, WITHOUT EXCEPTION,

ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING

Frontline Solvers V12.5 User Guide Page 16

BUT NOT LIMITED TO ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,

MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE

SOFTWARE OR ANY WARRANTIES ARISING FROM COURSE OF DEALING OR COURSE OF

PERFORMANCE AND THE SAME ARE HEREBY EXPRESSLY DISCLAIMED TO THE MAXIMUM

EXTENT PERMITTED BY APPLICABLE LAW. WITHOUT LIMITING THE FOREGOING,

FRONTLINE DOES NOT REPRESENT, WARRANTY OR GUARANTEE THAT THE SOFTWARE

WILL BE ERROR-FREE, UNINTERRUPTED, SECURE, OR MEET LICENSEES’ EXPECTATIONS.

FRONTLINE DOES NOT MAKE ANY WARRANTY REGARDING THE SOFTWARE'S RESULTS OF

USE OR THAT FRONTLINE WILL CORRECT ALL ERRORS. THE LIMITED WARRANTY SET

FORTH IN SECTION 2 IS EXCLUSIVE AND FRONTLINE MAKES NO OTHER EXPRESS OR

IMPLIED WARRANTIES OR CONDITIONS WITH RESPECT TO THE SOFTWARE, ANNUAL

SUPPORT AND/OR OTHER SERVICES PROVIDED IN CONNECTION WITH THIS LICENSE,

INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OR CONDITIONS OF

MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND

NONINFRINGEMENT.

4. LIMITATION OF LIABILITY.

IN NO EVENT SHALL FRONTLINE OR ITS SUPPLIERS HAVE ANY LIABILITY FOR ANY

DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

(INCLUDING WITHOUT LIMITATION ANY LOST DATA, LOST PROFITS OR COSTS OF

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES), HOWEVER CAUSED AND UNDER

ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE

SOFTWARE OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED

OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES DO NOT ALLOW THE

EXCLUSION OR LIMITATION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL

DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY. NOTWITHSTANDING ANYTHING

HEREIN TO THE CONTRARY, IN NO EVENT SHALL FRONTLINE’S TOTAL CUMULATIVE

LIABILITY IN CONNECTION WITH THIS LICENSE, THE SOFTWARE, AND ANY SUPPORT

CONTRACTS PROVIDED BY FRONTLINE TO LICENSEE HEREUNDER, WHETHER IN

CONTRACT OR TORT OR OTHERWISE EXCEED THE PRICE OF ONE STANDALONE LICENSE.

LICENSEE ACKNOWLEDGES THAT THIS ARRANGEMENT REFLECTS THE ALLOCATION OF

RISK SET FORTH IN THIS LICENSE AND THAT FRONTLINE WOULD NOT ENTER INTO THIS

LICENSE WITHOUT THESE LIMITATIONS ON ITS LIABILITY. LICENSEE ACKNOWLEDGES

THAT THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF

ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.

REGARDLESS OF WHETHER LICENSEE PURCHASES AN ANNUAL SUPPORT CONTRACT

FROM FRONTLINE, LICENSEE UNDERSTANDS AND AGREES THAT ANY RESULTS

OBTAINED THROUGH LICENSEE'S USE OF THE SOFTWARE ARE ENTIRELY DEPENDENT ON

LICENSEE’S DESIGN AND IMPLEMENTATION OF ITS OWN OPTIMIZATION OR SIMULATION

MODEL, FOR WHICH LICENSEE IS ENTIRELY RESPONSIBLE, EVEN IF LICENSEE RECEIVED

ADVICE, REVIEW, OR ASSISTANCE ON MODELING FROM FRONTLINE.

5. TERM AND TERMINATION.

Term: The License shall become effective when Licensee first downloads, accepts delivery, installs or

uses the Software, and shall continue: (i) in the case of an Evaluation License, for a limited term (such as

15 days) determined from time to time by Frontline in its sole discretion ("Limited Term"), (ii) in the case

of Standalone License or Flexible Use License, for an unlimited term unless terminated for breach pursuant

to this Section ("Permanent Term").

Termination: Frontline may terminate this License if Licensee breaches any material provision of this

License and does not cure such breach (provided that such breach is capable of cure) within 30 days after

Frontline provides Licensee with written notice thereof.

Frontline Solvers V12.5 User Guide Page 17

6. GENERAL PROVISIONS.

Proprietary Rights: The Software is licensed, not sold. The Software and all existing and future

worldwide copyrights, trademarks, service marks, trade secrets, patents, patent applications, moral rights,

contract rights, and other proprietary and intellectual property rights therein ("Intellectual Property"), are

the exclusive property of Frontline and/or its licensors. All rights in and to the Software and Frontline’s

other Intellectual Property not expressly granted to Licensee in this License are reserved by Frontline. For

the Large-Scale LP/QP Solver only: Source code is available, as part of an open source project, for

portions of the Software; please contact Frontline for information if you want to obtain this source code.

Amendments: This License constitutes the complete and exclusive agreement between the parties relating

to the subject matter hereof. It supersedes all other proposals, understandings and all other agreements, oral

and written, between the parties relating to this subject matter, including any purchase order of Licensee,

any of its preprinted terms, or any terms and conditions attached to such purchase order.

Compliance with Laws: Licensee will not export or re-export the Software without all required United

States and foreign government licenses.

Assignment: This License may be assigned to any entity that succeeds by operation of law to Licensee or

that purchases all or substantially all of Licensee’s assets (the "Successor"), provided that Frontline is

notified of the transfer, and that Successor agrees to all terms and conditions of this License.

Governing Law: Any controversy, claim or dispute arising out of or relating to this License, shall be

governed by the laws of the State of Nevada, other than such laws, rules, regulations and case law that

would result in the application of the laws of a jurisdiction other than the State of Nevada.

Frontline Solvers V12.5 User Guide Page 18

Installation and Add-Ins

What You Need In order to install Analytic Solver Platform V12.5 software, you must have

first installed Microsoft Excel 2013, Excel 2010, Excel 2007, or Excel 2003

on Windows 8, Windows 7, Windows Vista, Windows XP or Windows

Server 2008.

Installing the Software To install Analytic Solver Platform to work with any 32-bit version of

Microsoft Excel, simply run the program SolverSetup.exe, which contains

all of the Solver program, Help, User Guide, and example datasets in

compressed form. To install Analytic Solver Platform to work with 64-bit

Excel 2010 or 2013, run SolverSetup64.exe.

Depending on your Windows security settings, you might be prompted with

a message “The publisher could not be verified. Are you sure you want

to run this software?” You may safely click Run in response to this

message. You’ll first see a dialog like the one below, while the files are

decompressed:

Next, you’ll briefly see the standard Windows Installer dialog. Then a

dialog box like the one shown below should appear:

Frontline Solvers V12.5 User Guide Page 19

Click Next to proceed. You will then be prompted for an installation

password, which Frontline Systems will provide via email to your registered

email address. Enter it into the Installation Password field in dialog box. In

addition, you have the option to enter a license activation code in that

related field. Note: the Setup program looks for a license file that may

already exist on your system and checks your license status. If you enter an

activation code (you must have Internet access for this to succeed), the

Setup program will display a dialog reporting whether your license was

successfully activated. But you don’t have to do this – just click Next.

Next, the Setup program will ask if you accept Frontline’s software license

agreement. You must click “I accept” and Next in order to be able to

proceed.

Frontline Solvers V12.5 User Guide Page 20

The Setup program then displays a dialog box like the one shown below,

where you can select or confirm the folder to which files will be copied

(normally C:\Program Files\Frontline Systems\Analytic Solver Platform, or

if you’re installing Analytic Solver Platform for 32-bit Excel on 64-bit

Windows, C:\Program Files (x86)\Frontline Systems\Analytic Solver

Platform). Click Next to proceed.

If you have an existing license, or you’ve just activated a license for full

Analytic Solver Platform, the Setup program will give you the option to run

the XLMiner software as a subset product – instead of the full Analytic

Solver Platform.

Frontline Solvers V12.5 User Guide Page 21

Click Next to proceed. You’ll see a dialog confirming that the preliminary

steps are complete, and the installation is ready to begin:

After you click Install, the Analytic Solver Platform files will be installed,

and the program file RSPAddin.xll will be registered as a COM add-in

(which may take some time). A progress dialog appears, as shown below;

be patient, since this process takes longer than it has in previous Solver

Platform releases.

Frontline Solvers V12.5 User Guide Page 22

When the installation is complete, you’ll see a dialog box like the one

below. Click Finish to exit the installation wizard.

Analytic Solver Platform, or a sub-set product if you chose to install a

different version of our solvers, is now installed. Simply click “Finish” and

Microsoft Excel will launch with a Welcome workbook containing

information to help you get started quickly.

Frontline Solvers V12.5 User Guide Page 23

Uninstalling the Software To uninstall Analytic Solver Platform, just run the SolverSetup program as

outlined above. You’ll be asked to confirm that you want to remove the

software.

You can also uninstall by choosing Control Panel from the Start menu,

and double-clicking the Programs and Features or Add/Remove

Programs applet. In the list box below “Currently installed programs,”

scroll down if necessary until you reach the line, “Frontline Excel Solvers

V12.5,” and click the Uninstall/Change or Add/Remove… button. Click

OK in the confirming dialog box to uninstall the software.

Activating and Deactivating the Software Analytic Solver Platform’s main program file RSPAddin.xll is a COM add-

in, an XLL add-in, and a COM server.

Excel 2013, Excel 2010 and 2007

In Excel 2013, 2010 and 2007, you can manage all types of add-ins from

one dialog, reached by clicking the File tab in Excel 2013 or 2010, or the

upper left corner button in Excel 2007, choosing Excel Options, then

choosing Add-Ins in the pane on the left, as shown below.

Frontline Solvers V12.5 User Guide Page 24

You can manage add-ins by selecting the type of add-in from the dropdown

list at the bottom of this dialog. For example, if you select COM Add-ins

from the dropdown list and clock the Go button, the dialog shown below

appears.

If you uncheck the box next to “Analytic Solver Platform Addin” and click

OK, you will deactivate the Analytic Solver Platform COM add-in, which

will remove the Analytic Solver Platform tab from the Ribbon, and also

remove the PSI functions for optimization from the Excel 2013 Function

Wizard.

Excel 2003

In earlier versions of Excel, COM add-ins and other add-ins are managed in

separate dialogs, and the COM Add-In dialog is available only if you

display a toolbar which is hidden by default. To display this toolbar:

1. On the View menu, point to Toolbars, and then click Customize.

2. Click the Commands tab.

3. Under Categories, click Tools.

Frontline Solvers V12.5 User Guide Page 25

4. Under Commands, click COM Add-Ins and drag your selection

to the toolbar.

Once you have done this, you can click COM Add-Ins on the toolbar to see

a list of the available add-ins in the COM Add-Ins dialog box, as shown

above.

If you uncheck the box next to “Analytic Solver Platform Addin” and click

OK, you will deactivate the Analytic Solver Platform COM add-in, which

will remove Analytic Solver Platform from the main menu bar, and also

remove the PSI functions for optimization from the Insert Function dialog.

Frontline Solvers V12.5 User Guide Page 26

Using Help, Licensing and Product Subsets

Introduction This chapter describes the ways Analytic Solver Platform V12.5 differs

from its predecessors in terms of overall operation, including registration,

licensing, use of product subsets, and use of the Startup Screen, online Help

and examples.

Working with Licenses in V12.5 A license is a grant of rights, from Frontline Systems to you, to use our

software in specified ways. Information about a license – for example, its

temporary vs. permanent status and its expiration date – is encoded in a

license code. The same binary files are used for Analytic Solver Platform

and XLMiner. The product features you see depend on the license code you

have.

Using the License File Solver.lic

Analytic Solver Platform V12.5 stores license codes in a text file named

Solver.lic. If upgrading from V12.0, no new license code will be required.

Old license codes for V11.x and earlier have no negative effect in V12.5;

they can appear in the Solver.lic file and will be ignored.

If you already have a Solver.lic file, SolverSetup adds license codes to this

file. If not, SolverSetup creates this file in a default location:

Excel 2013, 2010, 2007 or Vista: C:\ProgramData\Frontline Systems

XP: C:\Documents and Settings\All Users\Application Data\Frontline

Systems

In V12.5, V12, V11.x and V10.x, the SolverSetup program creates an

environment variable FRONTLIC whose value is the path to the Solver.lic

file. The old license manager in V9.x and earlier versions used the

environment variable LSERVRC.

License Codes and Internet Activation

You can enter a new license code at any time while you’re using Analytic

Solver Platform. To do this, choose Help – License Code from the

Analytic Solver Platform Ribbon. A dialog like the one below will appear.

Frontline Solvers V12.5 User Guide Page 27

You have two options to obtain and activate a license, using this dialog:

1. If you contact Frontline Systems at (775) 831-0300 or

[email protected], and give us the Lock Code shown in the middle of

the dialog (click the Email Lock Code button to do this quickly), we

can generate a license code for your PC, and email this to you. You

can then select and copy (Ctrl+C) the license code, and paste it

(Ctrl+V) into the lower edit box in this dialog.

2. Even easier, and available 24x7 if you have Internet access on this PC:

If you have a license Activation Code from Frontline Systems, you can

copy and paste it into the upper edit box in this dialog. When you

click OK, Analytic Solver Platform contacts Frontline’s license server

over the Internet, sends the Lock Code and receives your license code

automatically. You’ll see a message confirming the license activation,

or reporting any errors.

If you have questions, please contact Frontline Systems at (775) 831-0300

or [email protected].

Running Subset Products in V12.5 New users often wish to download and evaluate our products for Excel. To

accommodate this, we make available downloads of the SolverSetup

program with a 15-day trial license, which gives users access to all of the

functionality and capacity of Analytic Solver Platform. But some users will

ultimately choose to purchase a license for a product that is a subset of

Analytic Solver Platform, such as XLMiner.

To help users confirm that a subset product will have the capabilities and

performance that they want, V12.5 has the ability to quickly switch

Analytic Solver Platform to operate as a subset product, without the need to

install a new license code. To do this, choose Help – Change Product on

Frontline Solvers V12.5 User Guide Page 28

the Analytic Solver Platform Ribbon. A dialog like the one below will

appear.

In this dialog, you can select the subset product you want, and click OK.

The change to a new product takes effect immediately: You’ll see the

subset product name instead of Analytic Solver Platform as a tab on the

Ribbon, and a subset of the Ribbon options

XLMiner

XLMiner includes only the data mining and predictive capabilities of

Analytic Solver Platform. No optimization or simulation capabilities are

included in the XLMiner subset.

Frontline Solvers V12.5 User Guide Page 29

Using the Welcome Screen

This screen appears automatically only when you click the Analytic Solver

Platform tab on the Ribbon in Excel 2013, 2010 or 2007, or use the

Analytic Solver Platform menu in Excel 2003 – and then only if you are

using a trial license. You can display the Welcome Screen manually by

choosing Help – Welcome Screen from the Analytic Solver Platform

Ribbon. You can control whether the screen appears automatically by

selecting or clearing the check box in the lower left corner, “Show this

dialog at first use.”

Using the XLMiner Help Text Click Help – Help Text on the XLMiner ribbon to open the Help text file.

Frontline Solvers V12.5 User Guide Page 30

This Help file contains significant information about the features and

capabilities of XLMiner – all at the tip of your fingertips. Each topic

covered includes an Introduction to the feature, an explanation of the

dialogs involved and an example using one of the example datasets. These

example datasets can be found on the XLMiner Ribbon under HELP –

Examples.

Frontline Solvers V12.5 User Guide Page 31

Frontline Solvers V12.5 User Guide Page 32

Introduction to XLMiner

Introduction

XLMiner™ is a comprehensive data mining add-in for Excel. Data mining

is a discovery-driven data analysis technology used for identifying patterns

and relationships in data sets. With overwhelming amounts of data now

available from transaction systems and external data sources, organizations

are presented with increasing opportunities to understand their data and gain

insights into it. Data mining is still an emerging field, and is a convergence

of fields like statistics, machine learning, and artificial intelligence.

Often, there may be more than one approach to a problem. XLMiner is a

tool belt to help you get started quickly offering a variety of methods to

analyze your data. It has extensive coverage of statistical and machine

learning techniques for classification, prediction, affinity analysis and data

exploration and reduction.

Ribbon Overview

To bring up the XLMiner ribbon, click XLMiner on the Excel ribbon.

The XLMiner ribbon is divided into 4 sections: Data Analysis, Time

Series, Data Mining, and Tools.

Data Analysis – This section includes four icons: Sample,

Explore, Transform, and Cluster. Click Sample to either sample

from the worksheet or a database. Click Explore to create and

manage charts. Click Transform to transform datasets with

missing date, perform binning, and to transform categorical data.

Click the Cluster Icon to perform cluster analysis.

Time Series – This section includes three icons: Partition,

ARIMA, and Smoothing and are used when analyzing a time

series.

Data Mining – This section includes four icons: Partition,

Classify, Predict, and Associate and are used to perform data

mining activities.

Tools – This section includes two icons: Score and Help. Click the

Score icon to score your test data. Click the Help icon to open

Frontline Solvers V12.5 User Guide Page 33

sample datasets, open the Help File, and check for updates. See

below for a complete discussion of the Help icon.

Click the XLMiner menu item in Excel 2003 to open the XLMiner menu.

This menu is arranged a bit differently than the Excel 2007 / 2010 / 2013

ribbon, but all features discussed in this guide can be used in Excel 2003.

Note: Menu items appear differently in Excel 2003 but all method dialogs

are identical to dialogs in later versions of Excel.

XLMiner Help Ribbon Icon To open XLMiner Help, simply click the Help icon on the XLMiner ribbon.

Here you will be able to change the product that you are using (Analytic

Solver Platform or a subset such as XLMiner), obtain your lock code and

enter your permanent license, open example datasets, search the online help

text, and check for updates.

Change Product Selecting Change Product on the XLMiner Help menu will bring up the

Change Product dialog shown below.

Frontline Solvers V12.5 User Guide Page 34

If you have a permanent license code for the Analytic Solver Platform, then

you can change to any subset and see that subset on the Ribbon. For

example, if XLMiner is selected, only XLMiner will appear on the ribbon

even if a license for Analytic Solver Platform is in place.

License Code Selecting License Code from the XLMiner Help menu brings up the Enter

License or Activation Code dialog shown below. The top portion of this

dialog will always contain the currently licensed product along with the

product version number.

To obtain your permanent license, contact Frontline Systems by phone

(888-831-0333) or email ([email protected]) to obtain an activation code.

Frontline Solvers V12.5 User Guide Page 35

Enter the activation code into the Activation Code field leaving the License

Code field blank. Then click OK. At this point, your permanent license

should be activated and no further steps are needed.

If you encounter problems connecting to our license server, then you will

need to enter the complete license directly into this dialog. Clicking Email

Lock Code will create and send an email to [email protected] that includes

the Lock Code displayed on this dialog. Our license manager will generate

a license based on this lock code and email the permanent license code back

to you. (Make sure to click Allow on the dialog below.)

Copy and paste the entire contents of the license code into the License Code

field as shown on the dialog below, then click OK. At this point, your

permanent license should be activated and no further steps are needed.

Frontline Solvers V12.5 User Guide Page 36

Examples

Clicking this menu item will open a browser pointing to C:\Program

Files\Frontline Systems\ Analytic Solver Platform \Datasets. See the table

below for a description of each example dataset.

Model Used in Example Notes

Airpass Time Series

The classic Box & Jenkins airline dataset. Monthly totals of international airline passengers (1949 - 1960)

All Temperature

Temperature dataset.

Apparel

Apparel sales from Jan 1988 to Dec 2001.

Arma

Monthly stereo sales from Jan 1988 to Dec 1998.

Associations Association Rules

This dataset is a subset of the Charles Book Club dataset and is used in the Association Rules example.

Frontline Solvers V12.5 User Guide Page 37

AssociationsItemList

This dataset can be used with the Association Rules method.

Binning Example Bin Continuous Data Example dataset used in the Bin Continuous Data example

Boston Housing

Scoring Test Data, Matrix Plots, Histrogram, Classification Tree,

Regression Tree, K-Nearest Neighbors Prediction, Neural Networks Classification, Multiple Linear

Regression, Discriminant Analysis

This dataset contains data collected in 1970 by the U.S. Census Service concerning housing in the Boston, MA area.

Boxplot Box Plot This example dataset is used in the Box Plot example.

Catalog Multi Partition with Oversampling

This dataset contains a response to a direct mail offer, published by DMEF, the Direct Marketing Educational Foundation, and is used in the Partition with Oversampling example.

Charles Book Club Scoring Test Data, Logistic Regression This dataset derived for The Bookbinders Club, a Case Study in Database Marketing.

Daily Rate

Daily Rate information for years 1955 - 2001.

Dataset.mdb

A synthetic database that includes Boston_Housing, Charles_BookClub, Digits, Flying_Fitness, Iris, Utilities, and Wine datasets.

Demo.mdb

A synthetic database.

Digits Discriminant Analysis

This dataset was used in the book CART by Leo Breiman et. al. and is used in several XLMiner examples.

DistMatrix Hierarchical Clustering This dataset is used in the Hierarchical Clustering example.

Durable Goods

Monthly sales figures for years 1988 – 2001

Examples Missing Data Handling This dataset is used in the Missing Data Handling example

Flying Fitness Discriminant Analysis & Naïve Bayes This dataset includes test results of flying fitness tests for 40 pilots (var 1).

Income Time Series This dataset is used in the Time Series Example

Iris k-Nearest Neighbors Classification

This dataset was introduced by R. A. Fisher and reports four characteristics of three species of iris flower.

Irisfacto Transform Categorical Data This dataset is a subset of the Iris dataset.

Frontline Solvers V12.5 User Guide Page 38

Monthly Rate

This dataset includes monthly rate information for years 1949 – 2001.

Retail Trade

This dataset includes retail sales data for years 1988 – 2001.

Sampling Sampling from Worksheet This dataset is used in the Sampling from Worksheet example.

Scoring Scoring Test Data This dataset is used in the Scoring Test Data example.

Universal Bank Database

This synthetic database was created to test Predictive Modeling.

Universal Bank Main

This synthetic dataset was created to test Predictive Modeling.

Utilities Principal Components Analysis &

Hierarchical Clustering

This dataset gives corporate data on 22 US public utilities and can be found in Dean W. Wichern’s & Richard Arnold Johnson’s Applied Multivariate Statistical Analysis, Prentice Hall, 5th Ed (2002).

Wine

Discriminant Analysis, K-Means Clustering, Manual and Automatic

Neural Networks Classification, Standard Data Partition

The wine dataset contains properties of wine taken from three different wineries in the same region. This dataset can be found in the UCI Machine Learning Repository.

Wine Partition Standard Data Partition This example file is used in the Standard Data Partition example.

Help Text Clicking Help Text opens the online Help file. This file contains extensive

information pertaining to XLMiner’s features and capabilities. All at the tip

of your fingertips!

Frontline Solvers V12.5 User Guide Page 39

Check for Updates Analytic Solver Platform will confirm that the latest version is installed

when this menu item is selected. If not, you will be instructed to visit our

Website at www.solver.com to download the latest version.

About XLMiner

Clicking this menu item will open the About XLMiner dialog as shown

below.

Frontline Solvers V12.5 User Guide Page 40

Common Dialog Options These options, fields, and command buttons appear on most XLMiner

dialogs.

Worksheet

The active worksheet appears in this field

Data Range

The range of the dataset appears in this field

# Rows, # Columns

The number of rows and columns in the dataset appear in these two fields,

respectively.

Frontline Solvers V12.5 User Guide Page 41

First row contains headers

If this option is selected, variables will be listed according to the first row in

the dataset.

Variables in the data source

All variables contained in the dataset will be listed in this field.

Input variables

Variables listed in this field will be included in the output. Select the

desired Variables in the data source then click the > button to shift

variables to the Input variables field.

Help

Click this command button to open the XLMiner Help text file.

Reset

Click this command button to reset the options for the selected method.

OK

Click this command button to initiate the desired method and produce the

output report.

Cancel

Click this command button to close the open dialog without saving any

options or creating an output report.

Frontline Solvers V12.5 User Guide Page 42

Help Window

Click this command button to open the Help Text for the selected method.

References See below for a list of references sited when compiling this guide.

Websites

1. The Data & Analysis Center for Software. <https://www.thecsiac.com>

2. NEC Research Institute Research Index: The NECI Scientific Literature

Digital Library.

<http://www.iicm.tugraz.at/thesis/cguetl_diss/literatur/Kapitel02/URL/NEC

/cs.html>.

3. Thearling, Kurt. Data Mining and Analytic Technologies.

<http://www.thearling.com>

Books

1. Anderberg, Michael R. Cluster Analysis for Applications. Academic Press

(1973).

2. Berry, Michael J. A., Gordon S. Linoff. Mastering Data Mining. Wiley

(2000).

3. Breiman, Leo Jerome H. Friedman, Richard A. Olshen, Charles J. Stone.

Classification and Regression Trees. Chapman & Hall/CRC (1998).

4. Han, Jiawei, Micheline Kamber. Data Mining: Concepts and Techniques.

Morgan Kaufmann Publishers (2000).

5. Hand, David, Heikki Mannila, Padhraic Smyth. Principles of Data Mining.

MIT Press, Cambridge (2001).

6. Hastie, Trevor, Robert Tibshirani, Jerome Friedman. The Elements of

Statistical Learning: Data Mining, Inference, and Prediction. Springer, New

York (2001).

7. Shmueli, Galit, Nitin R. Patel, Peter C. Bruce. Data Mining for Business

Intelligence. Wiley, New Jersey (2010).

Frontline Solvers V12.5 User Guide Page 43

Sampling from a Worksheet or Database

Introduction A statistician often comes across huge volumes of information from which he or

she wants to draw inferences. Since time and cost limitations make it impossible

to go through every entry in these enormous datasets, statisticians must resort to

sampling techniques. These sampling techniques choose a reduced sample or

subset from the complete dataset. The statistician can then perform his or her

statistical procedures on this reduced dataset saving much time and money.

Let’s review a few statistical terms. The entire dataset is called the population.

A sample is the portion of the population that is actually examined. A good

sample should be a true representation of the population to avoid forming

misleading conclusions. Various methods and techniques have been developed

to ensure a representative sample is chosen from the population. A few are

discussed here.

Simple Random Sampling This is probably the simplest method for

obtaining a good sample. A simple random sample of say, size n, is

chosen from the population in such a way that every random set of n

items from the population has an equal chance of being chosen to be

included in the sample. Thus simple random sampling not only avoids

bias in the choice of individual item but also gives every possible

sample an equal chance.

The Data Sampling utility of XLMiner offers the user the freedom to

choose sample size, seed for randomization, and sampling with or

without replacement.

Stratified Random Sampling In this technique, the population is first

divided into groups of similar items. These groups are called strata.

Each stratum, in turn, is sampled using simple random sampling. These

samples are then combined to form a stratified random sample.

The Data Sampling utility of XLMiner offers the user the freedom to

choose a sorting seed for randomization and sampling with or without

replacement. The desired sample size can be prefixed by the user

depending on which method is being chosen for stratified random

sampling.

XLMiner allows sampling either from a worksheet or a database.

Frontline Solvers V12.5 User Guide Page 44

Sampling from a Worksheet Below are three examples that illustrate how to perform Simple Random

Sampling with and without replacement and Stratified Random Sampling from a

worksheet.

Example: Sampling from a Worksheet using Simple Random Sampling

Open the dataset Sampling.xlsx by clicking Help – Examples (Excel 2003:

Open Data – Example Files) from the XLMiner ribbon. This dataset contains a

variable ID for the record identification and seven variables, v1, v2, v7, v8, v9,

v10, v11.

To start, click a cell within the data, say A2, and click Data Utilities -- Sample

from Worksheet.

Frontline Solvers V12.5 User Guide Page 45

In this example, the default option, Simple Random Sampling, will be used.

Select all variables under Variables, click >_ to include them in the sample data

then click OK.

Frontline Solvers V12.5 User Guide Page 46

A portion of the output is shown below.

Frontline Solvers V12.5 User Guide Page 47

The output is a simple random sample without replacement, with a default

random seed setting of 12345. The desired sample size is 87 records as shown

above. Note that XLMiner has introduced one more variable, Row ID in the

sample. Every dataset may not have a number allocated to each record. The

variable, Row ID gives IDs to records before sampling, and then sorts the output

on those IDs before producing the output. Row ID proves handy when the user

wishes to go back to the dataset for crosschecking information.

Example: Sampling from a Worksheet using Sampling with Replacement

Click the data tab on the Sampling.xlsx worksheet and again click a cell within

the data, say A2, then click Data Utilities -- Sample from Worksheet to bring

up the Sampling dialog.

Again, select all variables in the Variables section and click >_ to include each

in the sample data. Check Sample with replacement and enter 300 for Desired

sample size. Since we are choosing sampling with replacement, XLMiner will

generate a sample with a larger number of records than the dataset. Click OK.

A portion of the output is shown below.

Frontline Solvers V12.5 User Guide Page 48

The output indicates "True" for Sampling with replacement. As a result, the

desired sample size is greater than the number of records in the input data.

Looking closely, one can see that the second and third entries are the same

record, record #3.

Example: Sampling from a Worksheet using Stratified Random Sampling

Click the data worksheet, click a cell within the data, say A2, and click Data

Utilities -- Sample from Worksheet.

Select all variables under Variables, click >_ to include them in the sample data,

and then click OK. Enter 100 for Desired sample size and 45689 for Set seed.

Select Stratified random sampling.

Click the down arrow next to Stratum Variable and select v8 (XLMiner allows

only those variables which have less than 30 distinct values.) The strata number

is automatically displayed once you select v8. Select Proportionate to stratum

size. Then click OK.

Frontline Solvers V12.5 User Guide Page 49

Frontline Solvers V12.5 User Guide Page 50

In order to maintain the proportions of the strata, XLMiner has increased the

sample size. This is apparent in the entry for #records actually sampled. Under

the Stratum wise details heading, XLMiner has listed all the stratum values v8

assumes with #records in input data for each stratum. On this basis, XLMiner

calculated the percentage representation of that value in the dataset and

maintained it in the sample. This is evident in the entries since #records in

sampled data has the same proportion as in the dataset. XLMiner has added a

Row Id to each record before sampling. The output is displayed after sorting the

sample on these Row Ids.

Let’s see what happens to our output when we select a different option for

Stratified Sampling.

Click back to the data worksheet, click a cell within the data, say A2, and click

Data Utilities -- Sample from Worksheet.

Select all variables under Variables, click >_ to include them in the sample data,

and then click OK. Select Stratified random sampling. Choose v8 as the

Stratum variable. The #strata is displayed automatically. Select Equal from

each stratum, please specify #records.

Enter the #records. Remember, this number should not be greater than the

smallest stratum size. In this case the smallest stratum size is 8. (Note: The

smallest stratum size appears automatically in a box next to the option, Equal

from each stratum, # records = smallest stratum size.). Enter 7, which is less

than the limit of 8, and then click OK.

Frontline Solvers V12.5 User Guide Page 51

As you can see in the output, the number of records in the sampled data is 56 or

7 records per stratum for 8 strata.

Frontline Solvers V12.5 User Guide Page 52

If a sample with an equal number of records for each stratum but of bigger size

is desired, use the same options above for sampling with replacement.

Check Sample with replacement. Enter 20 for Equal from each stratum, please

specify #records. Though the smallest stratum size is 8 in this dataset, we can

acquire more records for our sample since we are Sampling with replacement.

Keeping all other options the same, the output is as follows.

Frontline Solvers V12.5 User Guide Page 53

Since the output sample has 20 records per stratum, the #records in sampled

data is 160 (20 records per stratum for 8 strata).

Sample from Worksheet Options Please see below for a complete list of each option contained on the Sampling

from Worksheet dialog.

Frontline Solvers V12.5 User Guide Page 54

Data Range

Either type the address directly into this field, or use the reference button, to

enter the data range from the worksheet. If the cell pointer (active cell) is

already somewhere in the data range, XLMiner automatically picks up the

contiguous data range surrounding the active cell. After the data range is

selected, XLMiner displays the number of records in the selected range.

First row contains headers

When this box is checked, XLMiner picks up the headings from the first row of

the selected data range. When the box is unchecked, XLMiner follows the

default naming convention, i.e., the variable in the first column of the selected

range will be called "Var1", the second column "Var2," etc.

Variables

This list box contains the names of the variables in the selected data range. If the

first row of the range contains the variable names, then these names appear in

this list box. If the first row of the dataset does not contain the headers, then

XLMiner lists the variable names using its default naming convention. In this

case the first column is named Var1; the second column is named Var2 and so

on. To select a variable for sampling, select the variable, then click the ">"

button. Use the CTRL key to select multiple variables.

Frontline Solvers V12.5 User Guide Page 55

Sample With replacement

If this option is checked the data will be sampled with replacement. The default

is sampling without replacement.

Set Seed

Enter the desired sorting seed here. The default seed is 12345.

Desired sample size

Enter the desired sample size here. (Note that the actual sample size in the

output may vary a little, depending on additional options selected.)

Simple random sampling

The data is sorted using the simple random sampling technique, taking into

account the additional parameter settings.

Stratified random sampling

If selected, XLMiner enables the following additional options.

Stratum Variable

Select the variable to be used for stratified random sampling by clicking the

down arrow and selecting the desired variable. Note that XLMiner allows only

those variables which have less than 30 distinct values. As the user selects the

variable name, XLMiner displays the #Strata that variable contains in a box to

the left and the smallest stratum size in a box in front of the option Equal from

each stratum, #records = smallest stratum size.

Proportionate to stratum size

XLMiner detects the proportion of each stratum in the dataset and maintains the

same in sampling. Due to this, XLMiner sometimes must increase the sample

size in order to maintain the proportionate stratum size. XLMiner then displays

the actual sample size in the output along with the desired sample size.

Equal from each stratum

On specifying the number of records, XLMiner generates a sample which has

the same number of records from each stratum. In this case the number chosen

automatically decides the desired sample size. As a result, the option to enter

the desired sample size is disabled.

Frontline Solvers V12.5 User Guide Page 56

Equal from each stratum, #records = smallest stratum size

XLMiner detects the smallest stratum size and generates a sample wherein every

stratum has a representation of that size. Again, the option for the desired

sample size is disabled.

XLMiner performs the stratified random sampling with or without replacement.

If Sample with replacement is not selected, the desired sample size must be less

than the number of records in the dataset.

If Sample with replacement is selected, then the number of records in the dataset

does not pose any limit on the number of records in the sample. XLMiner can

generate a sample having up to 2000 records.

Before sampling, XLMiner generates a Row ID for each record (irrespective of

whether the dataset already has one). XLMiner sorts the sampled output

according to Row ID before displaying it.

Sampling from a Database Click Data Utilities – Sample from Database on the XLMiner ribbon to display

the following dialog.

Click the down arrow next to Data Source and select MS-Access, and then click

Connect to a database.

Frontline Solvers V12.5 User Guide Page 57

Click Browse for database file… and browse to C:\Program Files\Frontline

Systems\Analytic Solver Platform\Datasets. Select the Demo.mdb Microsoft

Access database, and then click Open.

Click OK on the MS-Access database file dialog.

Since this database is not password protected, simple click OK. The following

dialog will appear.

Frontline Solvers V12.5 User Guide Page 58

Select all the fields from Fields in table and click > to move all fields to Selected

fields.

Click OK. A portion of the output is below.

Refer to the examples above for Sampling from a Worksheet. You can sample

from a database using all the methods described in this chapter.

Frontline Solvers V12.5 User Guide Page 59

Exploring Data using Charts

Introduction XLMiner offers eight different types of charts to visually explore your data: Bar

Charts, Line Charts, ScatterPlots, Boxplots, Histograms, Parallel Coordinates,

ScatterPlot Matrices and Variable Plots. To create a chart, invoke the Chart

Wizard by clicking Explore on the XLMiner ribbon. A description of each chart

type follows.

Bar Chart

The bar chart is one of the easiest and effective plots to create and understand.

The best application for this type of chart is comparing an individual statistic

(i.e. mean, count, etc.) across a group of variables. The bar height represents the

statistic while the bars represent the different groups. An example of a bar chart

is shown below.

Box Whisker Plot

A box plot graph summarizes a dataset and is often used in exploratory data

analysis. This type of graph illustrates the shape of the distribution, its central

value, and the range of the data. The plot consists of the most extreme values in

the data set (maximum and minimum values), the lower and upper quartiles, and

the median.

Box plots are also very useful when large numbers of observations are involved

or when two or more data sets are being compared. In addition, they are also

helpful for indicating whether a distribution is skewed and whether there are any

unusual observations (outliers) in the data set. The most important trait of the

box plot is its failure to be strongly influenced extreme values, or outliers.

Let’s review the following statistical terms below.

Frontline Solvers V12.5 User Guide Page 60

Median: The median value in a dataset is the value that appears in the middle of

a sorted dataset. If the dataset has an even number of values then the median is

the average of the two middle values in the dataset.

Quartiles: Quartiles, by definition, separate a quarter of data points from the

rest. This roughly means that the first quartile is the value under which 25% of

the data lie and the third quartile is the value over which 25% of the data are

found. (Note: This indicates that the second quartile is the median itself.)

First Quartile, Q1: Concluding from the definitions above, the first quartile is

the median of the lower half of the data. If the number of data points is odd, the

lower half includes the median.

Third Quartile, Q3: Third quartile is the median of the upper half of the data. If

the number of data points is odd, the upper half of the data includes the median.

See the following example.

Consider the following dataset --

52, 57, 60, 63, 71, 72, 73, 76, 98, 110, 120

The dataset has 11 values sorted in ascending order. The median is the middle

value, (i.e. 6th value in this case.)

Median = 72

Q1 is the median of the first 6 values, (i.e. the mean of 3rd and 4th values)

25th

Percentile = 61.5

Q3 is the median of the last 6 values. (i.e. the mean of the 8th

and 9th

values).

75th

Percentile = 87

The mean is the average of all the data values ((52 + 57 + 60 + 63 + 71 + 72 +

73 + 76 + 98 + 110 + 120) / 11).

Mean = 77.45

Interquartile Range = 25.5 The Interquartile range is a useful measure of the

amount of variation in a set of data and is simply the 75th

Percentile – 25th

Percentile (87 – 61.5 = 25.5)

The box extends from Q1 to Q3 and includes Q2. The extreme points are

included the "whiskers". This means the box includes the middle one- half of the

data. In XLMiner, the mean is denoted with a dotted line and the median with a

solid line. XLMiner completes the box plot by extending its "whiskers" to the

most extreme points, 52 and 120.

Max: 120

Min: 52

Frontline Solvers V12.5 User Guide Page 61

Histogram

A Histogram, or a Frequency Histogram is a bar graph which depicts the range

and scale of the observations on the x axis and the number of data points (or

frequency) of the various intervals on the y axis. These types of graphs are

popular among statisticians. Although these types of graphs do not show the

exact values of the data points, they give a very good idea about the spread and

shape of the data.

Consider the percentages below from a college final exam.

82.5, 78.3, 76.2, 81.2, 72.3, 73.2, 76.3, 77.3, 78.2, 78.5, 75.6, 79.2, 78.3, 80.2,

76.4, 77.9, 75.8, 76.5, 77.3, 78.2

One can immediately see the value of a histogram by taking a quick glance at

the graph below. This plot quickly and efficiently illustrates the shape and size

of the dataset above. Note: XLMiner determines the number and size of the

intervals when drawing the histogram.

Line Chart

A line chart is best suited for time series datasets. In the example below, the line

chart plots the number of airline passengers from January 1949 to December

1960. (The X – axis is the number of months starting with January 1949 as “1”.)

Frontline Solvers V12.5 User Guide Page 62

Parallel Coordinates

A Parallel Coordinates plot consists of N number of vertical axes where N is the

number of variables selected to be included in the plot. A line is drawn

connecting the observation’s values for each different variable (each different

axis) creating a “multivariate profile”. These types of graphs can be useful for

prediction and possible data binning. In addition, these graphs can expose

clusters, outliers and variable “overlap”. Axes can be reordered by simply

dragging and axis and moving the axis to the desired location. . An example of

a Parallel Coordinates plot is shown below.

Scatterplot

One of the most common, effective and easy to create plots is the scatterplot.

These graphs are used to compare the relationships between two variables and

are useful in identifying clusters and variable “overlap”.

Frontline Solvers V12.5 User Guide Page 63

Scatterplot Matrix

A Matrix plot combines several scatterplots into one panel enabling the user to

see pairwise relationships between variables. Given a set of variables Var1,

Var2, Var3, ...., Var N the matrix plot contains all the pairwise scatter plots of

the variables on a single page in a matrix format. The names of the variables are

on the diagonals. In other words, if there are k variables, there will be k rows

and k columns in the matrix and the ith row and jth column will be the plot of

Vari versus Varj.

The axes titles and the values of the variables appear at the edge of the

respective row or column. The comparison of the variables and their interactions

with one another can be studied easily and with a simple glance which is why

matrix plots are becoming increasingly common in general purpose statistical

software programs. An example is shown below.

Variable Plot

XLMiner’s Variables graph simply plots each selected variable’s distribution.

See below for an example.

Frontline Solvers V12.5 User Guide Page 64

Bar Chart Example This example describes the use of the Bar Chart to illustrate the details of the

Boston_Housing.xlsx dataset.

Click Help – Examples on the XLMiner ribbon to open the

Boston_Housing.xlsx example file.

Select a cell within the data (say A2), then click Explore – Chart Wizard to

bring up the first dialog of the Chart Wizard.

Click Next.

On the Y Axis Selection Dialog, select MEDV, and then click Next.

Frontline Solvers V12.5 User Guide Page 65

Select CHAS on the X-Axis Selection dialog, then click Finish. Click Next to

set Panel and Color options. These options can always be set in the upper right

hand corner of the plot.

Click the right pointing arrow next to Count of MEDV and select MEDV from

the menu. When the second menu appears (below the first selection of MEDV)

select Mean.

Frontline Solvers V12.5 User Guide Page 66

The Y axis changes to Mean of MEDV.

This y-axis variable, Mean of MEDV (Median value of owner-occupied homes)

is a numerical variable and the CHAS variable is a categorical variable. The

two bars represent homes in the Boston area that are located close to the Charles

River (1) and homes that are not (0). The first bar (0 bar) shows the average of

the median value of owner occupied homes that are not located close to the

Charles River. The second bar (1 bar) shows the average of the median value of

owner occupied homes that are located close to the Charles River. We can

conclude from this graph that homes located next to the Charles River are more

expensive than homes that are not located next to the Charles River.

Frontline Solvers V12.5 User Guide Page 67

Click the right pointing arrow next to Mean of MEDV and select CAT.MEDV

from the first menu. When the second menu appears (below the first selection

of CAT.MEDV) select Percentage.

This bar chart includes a categorical variable, CAT. MEDV, on the y-axis. This

variable is a 0 if MEDV is less than 30 (MEDV < 30), otherwise the variable

value is a 1. A user can quickly see that the majority of houses are located far

away from the Charles River.

Uncheck the 1 under the CHAS filter to view only homes located far away from

the Charles river.

To change the variable on the X-axis, simply click the down arrow and select

the desired variable from the menu.

Frontline Solvers V12.5 User Guide Page 68

To add a 2nd

Bar Chart simply click the Bar Chart icon at the top of the Chart

Wizard.

A second chart is added to the Chart Wizard dialog. Click the X in the upper

right corner of each plot to remove from the window. Color by and Panel by

options are always available in the upper right hand corner of each plot.

The top graph shows the count of all records in each category. Since each

category includes the same amount of observations, all bars are set to the same

height.

Please see the Common Chart Options section (below) for a complete

description of each icon on the chart title bar.

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

Frontline Solvers V12.5 User Guide Page 69

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

example, enter BarChart for the chart name, then click Save. The chart will

close. To reopen the chart, click Explore – Existing Charts – BarChart.

Box Whisker Plot Example This example describes the use of the Boxplot chart to illustrate the

characteristics of the dataset.

Click Help – Examples on the XLMiner ribbon to open the BoxPlot.xlsx

example file.

Select on a cell within the data (say A2), then click Explore – Chart Wizard to

bring up the first dialog of the Chart Wizard. Select BoxPlot, and then click

Next.

On the Y Axis Selection dialog, select Y1, and then click Next.

Frontline Solvers V12.5 User Guide Page 70

Select X-Var on the X-Axis Selection dialog, then click Finish. Click Next to

set Panel and Color options. These options can always be set in the upper right

hand corner of the plot.

Frontline Solvers V12.5 User Guide Page 71

Uncheck class 4 under the X-Var filter to remove this class from the plot.

Hover next to the plot to display the following Intellisense window.

Frontline Solvers V12.5 User Guide Page 72

The dotted line denotes the Mean of 22.49, the solid line denotes the Median of

23.22. The box reaches from the 25th

Percentile of 9.07 to the 75th

Percentile of

37.87. The lower “whisker” (or lower bound) reaches to -47.343 and the upper

“whisker” (or upper bound) reaches to 61.454.

To select a different variable on the y-axis, click the right pointing arrow and

select the desired variable from the menu.

To change the variable on the X-axis, select the down arrow next to X-Var and

select the desired variable.

Frontline Solvers V12.5 User Guide Page 73

To add a 2nd

boxplot, click the BoxPlot icon on the top of the Chart Wizard

dialog.

A second chart is added to the Chart Wizard dialog. Click the X in the upper

right corner of each plot to remove from the window. Color by and Panel by

options are always available in the upper right hand corner of each plot.

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

Please see the Common Chart Options section (below) for a complete

description of each icon on the chart title bar.

Frontline Solvers V12.5 User Guide Page 74

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

example, enter BoxPlot for the chart name, then click Save. The chart will

close. To reopen the chart, click Explore – Existing Charts – BoxChart. To

delete the chart, click Discard.

Histogram Example The example below illustrates the use of XLMiner’s chart wizard in drawing a

histogram of the Boston_Housing.xlsx dataset. Click Help – Examples on the

XLMiner ribbon to open the example dataset, Boston_Housing.xlsx. Select a

cell within the dataset, say A2, and then click Explore – Chart Wizard on the

XLMiner ribbon. The following dialog appears.

Select Histogram, and then click Next.

Frontline Solvers V12.5 User Guide Page 75

Select Frequency, then click Next.

Select INDUS, then click Finish.

Frontline Solvers V12.5 User Guide Page 76

The data has been divided into 14 different bins or intervals. Unselect the

variables CRIM and ZN under Filters. Notice the graph did not change. This

is because removing these variables is, in effect, removing a column from the

dataset. Since we are currently not interested in these columns, the plot is not

affected. However, now uncheck 0 under the CHAS variable.

Notice the number of bins has been reduced to 7 (down from 13). This is

because removing the 0 class from the CHAS variable is, in effect, removing

rows from the dataset, which does affect the INDUS variable in the plot.

To change the variables included in the plot, simply click the Histogram icon on

the title bar of the Chart Wizard,

Frontline Solvers V12.5 User Guide Page 77

to bring up the X-Y Axis Selection dialog.

Select DIS for the X-Axis, then click Next to choose color and panel options.

At this point, you could also click Finish to draw the histogram. Color and

panel options can be chosen at any time.

Select CAT. MEDV for Color By, then click Finish to draw the histogram.

Frontline Solvers V12.5 User Guide Page 78

The two histograms are drawn in the same window. Click the X in the upper

right corner of each plot to remove from the window. Color by and Panel by

options are always available in the upper right hand corner of each plot.

Please see the section Common Chart Options (below) for a complete

description of each icon on the chart title bar.

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

example, type Histogram for the chart name, then click Save. The chart will

close. To reopen the chart, click Explore – Existing Charts – Boxplot.

Line Chart Example The example below illustrates the use of XLMiner’s chart wizard in drawing a

Line Chart using the Airpass.xlsx dataset. Click Help – Examples on the

XLMiner ribbon to open the example dataset, Airpass.xlsx. Select a cell within

Frontline Solvers V12.5 User Guide Page 79

the dataset, say A2, and then click Explore – Chart Wizard on the XLMiner

ribbon. The following dialog appears.

Select Line Chart, then click Next.

Select Passengers, then click Next.

Frontline Solvers V12.5 User Guide Page 80

Select Observation#, then select Finish. Click Next to choose Panel and Color

options. Both can be selected or changed in the upper right hand corner of the

plot.

The y-axis plots the number of passengers and the x-axis plots the month

number (starting with 1 for January 1949). The plot shows that as the months

progress, the number of airline passengers increases.

Please see the section Common Chart Options (below) for a complete

description of each icon on the chart title bar.

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

Frontline Solvers V12.5 User Guide Page 81

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

example, type LineChart for the chart name, then click Save. The chart will

close. To reopen the chart, click Explore – Existing Charts – LineChart.

Parallel Coordinates Chart Example The example below illustrates the use of XLMiner’s chart wizard in drawing a

Parallel Coordinates Plot using the Boston_Housing.xlsx dataset. Click Help –

Examples on the XLMiner ribbon to open the example dataset,

Boston_Housing.xlsx. Select a cell within the dataset, say A2, then click

Explore – Chart Wizard on the XLMiner ribbon. The following dialog

appears.

Select Parallel Coordinates, then click Next.

Frontline Solvers V12.5 User Guide Page 82

Select all variables except MEDV. (The CAT.MEDV variable is used in place

of the MEDV variable. CAT.MEDV is a categorical variable where a 1 denotes a

MEDV value larger than 30.)

Click Finish to draw the plot.

Uncheck the class 1 value for the CAT. MEDV variable.

Frontline Solvers V12.5 User Guide Page 83

Leaving the Chart Wizard window open, click back to the Data worksheet

(within the Boston_Housing workbook), then click Explore – Chart Wizard to

open a 2nd

instance of the Chart Wizard. Select Parallel Coordinates on the

first Chart Wizard dialog and then select all variables except MEDV on the

Variable Selection dialog. When the 2nd

plot is drawn, unselect the 0 class for

the CAT.MEDV variable.

Frontline Solvers V12.5 User Guide Page 84

The first characteristic that is evident is that there are more houses with a value

of 0 for CAT. MEDV (Median value of owner-occupied homes < 30,000) than

with a value of 1 (Median value of owner-occupied homes > 30,000). In

addition, the more expensive houses (CAT.MEDV = 1) have lower CRIM (Per

capita crime rate by town) and LSAT (% Lower status of the population) values

and higher RM (Average number of rooms per dwelling) values.

Select the “0” CAT. MEDV chart and select “1” under CAT. MEDV. Then

select CAT.MEDV for Color By. The chart now displays both classes of

CAT.MEDV (0 and 1) on the same chart. However, each class is given a

different color, blue for “0” and yellow for “1”.

Frontline Solvers V12.5 User Guide Page 85

To remove a variable from the matrix, unselect the desired variable under

Filters. To add a variable to the matrix, select the desired variable under Filters.

Please see the section Common Chart Options (below) for a complete

description of each icon on the chart title bar.

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

example, type Parallel for the chart name, then click Save. The chart will close.

To reopen the chart, click Explore – Existing Charts – Parallel.

ScatterPlot Example The example below illustrates the use of XLMiner’s chart wizard in drawing a

Scatterplot using the Boston_Housing.xlsx dataset. Click Help – Examples on

the XLMiner ribbon to open the example dataset, Boston_Housing.xlsx. Select

Frontline Solvers V12.5 User Guide Page 86

a cell within the dataset, say A2, and then click Explore – Chart Wizard on the

XLMiner ribbon. The following dialog appears.

Select ScatterPlot, then click Next.

Select LSTAT on the Y Axis Selection Dialog.

Frontline Solvers V12.5 User Guide Page 87

Select MEDV from the X-Axis Selection Dialog. Then click Finish.

Select Color by: CHAS (Charles River dummy variable = 1 if tract bounds

river; 0 otherwise) and Panel by: CAT.MEDV (Median value of owner-

occupied homes in $1000's > 30).

This new graph illustrates that most houses that border the river are higher

priced homes.

Frontline Solvers V12.5 User Guide Page 88

To remove a variable from the matrix, unselect the desired variable under

Filters. To add a variable to the matrix, select the desired variable under Filters.

Please see the section Common Chart Options (below) for a complete

description of each icon on the chart title bar.

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

Frontline Solvers V12.5 User Guide Page 89

example, type Scatterplot for the chart name, then click Save. The chart will

close. To reopen the chart, click Explore – Existing Charts – Scatterplot.

Scatterplot Matrix Plot Example The example below illustrates the use of XLMiner’s chart wizard in drawing a

Scatterplot Matrix using the Boston_Housing.xlsx dataset. Click Help –

Examples on the XLMiner ribbon to open the example dataset,

Boston_Housing.xlsx. Select a cell within the dataset, say A2, then click

Explore – Chart Wizard on the XLMiner ribbon. The following dialog

appears.

Select Scatterplot Matrix, then click Next.

Select INDUS, AGE, DIS, and RAD variables, then click Finish.

Frontline Solvers V12.5 User Guide Page 90

Histograms of the selected variables appear on the diagonal. Find the plot in the

second row (from the top) and third column (from the left) of the matrix.

This plot indicates a pairwise relationship between the variables AGE and DIS.

The Y-axis for this plot can be found at the 2nd

row, 1st column.

Frontline Solvers V12.5 User Guide Page 91

The X-axis for this plot can be found at the last row, 3rd

column.

To remove a variable from the matrix, unselect the desired variable under

Filters. To add a variable to the matrix, select the desired variable under Filters.

Please see the section Common Chart Options (below) for a complete

description of each icon on the chart title bar.

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

example, type ScatterplotMatrix for the chart name, then click Save. The chart

will close. To reopen the chart, click Explore – Existing Charts –

ScatterplotMatrix.

Variable Plot Example The example below illustrates the use of XLMiner’s chart wizard in drawing a

Variable plot using the Boston_Housing.xlsx dataset. Click Help – Examples

on the XLMiner ribbon to open the example dataset, Boston_Housing.xlsx.

Select a cell within the dataset, say A2, and then click Explore – Chart Wizard

on the XLMiner ribbon. The following dialog appears.

Frontline Solvers V12.5 User Guide Page 92

Select Variable, then click Next.

All variables are selected by default. Click Finish to draw the chart.

The distributions of each variable are shown in bar chart form. To remove a

variable from the matrix, unselect the desired variable under Filters. To add a

variable to the matrix, select the desired variable under Filters.

Please see the section Common Chart Options (below) for a complete

description of each icon on the chart title bar.

Frontline Solvers V12.5 User Guide Page 93

To exit the graph, click the red X in the upper right hand corner of the Chart

Wizard window.

To save the chart for later viewing, click Save. To delete the chart, click

Discard, to cancel the save and return to the chart, click Cancel. For this

example, type Variables for the chart name, then click Save. The chart will

close. To reopen the chart, click Explore – Existing Charts – Variables.

Common Chart Options The Common Options toolbar is added to the top right corner of each drawn

chart.

The first icon (starting from the left) is the Print icon.

Click this icon to see a preview of the chart before it is printed and to change

printer and page settings.

Click the 2nd

icon, the Copy icon, to copy the chart to the clipboard for pasting

into a new or existing document.

Click the 3rd

option, the Chart Options icon, to change chart settings such as

Legend and Axis titles, to add lables, or to change chart colors or borders.

(Several charts do not support all tabs and options.)

Frontline Solvers V12.5 User Guide Page 94

Click the Legend tab to display the chart legend, legend position, and to add a

chart title.

Click the Labels tab to change or add either a header or footer to the chart. Use

this tab to select the position of the header/footer (center, left, or right), the font,

and the backplane style and color.

Frontline Solvers V12.5 User Guide Page 95

Click the Colors tab to change the colors used in the chart.

Click the Borders tab to change the border of the chart.

Frontline Solvers V12.5 User Guide Page 96

Click the Axes tab to change the X and Y Axis titles, placement and font. (The

Formatting menu is enabled only for Variable Plot, Histogram, and Scatterplot

Charts.)

Click OK to accept the changes or Cancel to disregard the changes and return to

the chart window.

Frontline Solvers V12.5 User Guide Page 97

Transforming Datasets with Missing or Invalid Data

Introduction XLMiner’s Missing Data Handling utility allows users to detect missing values

in the dataset and handle them in a specified way. XLMiner considers an

observation to be missing data if the cell is empty or contains an invalid

formula. In addition, it is also possible to treat cells containing specific data as

“missing”.

XLMiner offers several different methods for remedying the missing values.

Each variable can be assigned a different “treatment”. For example, the entire

record could be deleted if there is a missing value for one variable, while the

missing value could be replaced with a specific value for another variable. The

available options depend on the variable type.

In the following examples, we will explore the various ways in which XLMiner

can treat missing or invalid values in a dataset.

Missing Data Handling Examples

Click Help – Examples on the XLMiner ribbon and open the dataset

Examples.xlsx. This workbook contains six worksheets containing small sample

datasets. For this first example, click the EX1 worksheet tab.

This dataset contains empty cells (cells B6 and D10), cells containing invalid

formulas (B13, C6, & C8), cells containing non numeric characters (C2), etc.

XLMiner will treat each of these as missing values.

Frontline Solvers V12.5 User Guide Page 98

Select a cell in the dataset, say A2, and click Transform -- Missing Data

Handling on the XLMiner ribbon to open the Missing Data Handling dialog.

As you can see, “No Treatment” is currently being applied to each variable.

Click OK. The results are shown below.

Frontline Solvers V12.5 User Guide Page 99

As you can see, XLMiner has added a Row Id to every record (the highlighted

column). This is useful when the dataset does not contain a column for record

identification. This added Row Id makes it easier to find which records were

deleted or changed as per the instructions in the dialog. In this example, no

treatments were applied.

If “Overwrite Existing Worksheet” is selected in the Missing Data Handling

dialog, XLMiner will overwrite the existing data with the treatment option

specified. Note: you must save the workbook in order for these changes to be

saved.

Click the Ex2 worksheet tab. This dataset is similar to the dataset on the Ex1

worksheet in that this dataset contains empty cells (cells B6 and D10), cells

containing invalid formulas (B13, C8 & D4), cells containing non numeric

characters (C2), etc. In this example we will see how the missing values can be

replaced by the column Mean and Median.

Frontline Solvers V12.5 User Guide Page 100

To start, select cell A2 and click Transform -- Missing Data Handling on the

XLMiner ribbon to open the Missing Data Handling dialog.

Select variable_1 in the Variables field then click the down arrow next to No

Treatment in the section under How do you want to handle missing values for

the selected variable(s) and select Mean.

Frontline Solvers V12.5 User Guide Page 101

Click Apply this option to selected variable(s). Now select Variable_3 in the

Variables field and again click the down arrow next to Median under How do

you want to handle missing values for the selected variable(s). Then click

Apply this option to selected variable(s). Click OK.

Frontline Solvers V12.5 User Guide Page 102

The results are shown below.

As you can see, in the Variable_1 column, invalid or missing values have been

replaced with the mean calculated from the remaining values in the column.

(12.34, 34, 44, -433, 43, 34, 6743, 3, 4 & 3). The cells containing missing

values or invalid values in the Variable_3 column have been replaced by the

median of the remaining values in that column (12, 33, 44, 66, 33, 66, 22, 88, 55

Frontline Solvers V12.5 User Guide Page 103

& 79). The invalid data for Variable_2 remains since “No Treatment” was

selected for this variable.

Click the Ex3 worksheet tab. In this dataset, Variable_3 has been replaced with

date values.

Select cell A2 and click Transform -- Missing Data Handling on the

XLMiner ribbon to open the Missing Data Handling dialog. In this example, we

will replace the missing / invalid values for Variable_2 and Variable_3 with the

mode of each column.

On the Missing Data Handling dialog select Variable_2, click the down arrow

next to No Treatment under How do you want to handle values for the selected

variable(s), then select Mode. (The options Mean and Median do not appear in

the list since Variable_2 contains non-numeric values.) Click on Apply this

option to selected variable(s). Repeat these steps for Variable_3. Then click

OK.

Frontline Solvers V12.5 User Guide Page 104

The results are shown below.

Frontline Solvers V12.5 User Guide Page 105

As shown above, the missing values in the Variable_2 column have been

replaced by the mode of the valid values even though, in this instance, the data

is non-numeric. (Remember, the mode is the most frequently occurring value in

the Variable_2 column.)

In the Variable_3 column, the third and ninth records contained missing values.

As you can see, they have been replaced by the mode for that column, 2 – Feb –

01.

Click the Ex4 worksheet tab. Again, this dataset contains missing and invalid

data for all three variables.

.

Select cell A2 and click Transform -- Missing Data Handling on the XLMiner

ribbon to open the Missing Data Handling dialog. In this example, we will

demonstrate XLMiner’s ability to replace missing values with User Specified

Values.

Select Variable_1, then click the down arrow next to No Treatment under How

do you want to handle missing values for the selected variable(s), then select

User specified value. In the field that appears directly to the right of User

specified value, enter 100, then click Apply this option to selected variable(s).

Repeat these steps for Variable_2. Then click OK.

Frontline Solvers V12.5 User Guide Page 106

The results are shown below.

Frontline Solvers V12.5 User Guide Page 107

As you can see, the missing values for Variable_1 and Variable_2 have replaced

by 100 while the values for Variable_3 remain untouched.

Click the Ex5 worksheet tab. In this dataset, the value -999 appears in all three

columns. This example will illustrate XLMiner’s ability to detect a given value

and replace that value with a user specified value.

Select cell A2 and click Transform -- Missing Data Handling on the XLMiner

ribbon to open the Missing Data Handling dialog.

Select Missing values are represented by this value and enter -999 in the field

that appears directly to the right of the option. Select Variable_1 in the

Variables field and instruct XLMiner to replace the contents of the cells

containing the value -999 with the mean of the remaining values in the column

Next, select Variable_2 in the Variables field and instruct XLMiner to replace

the contents of the cells containing -999 in this column with “zzz”. Finally,

select Variable_3 in the Variables field and instruct XLMiner to replace the

contents of the cells containing -999 in this column for the mode of the

remaining values in the column.

Frontline Solvers V12.5 User Guide Page 108

The results are shown below.

Note that in the Variable_1 column, the specified missing code (-999) is

replaced by the mean of the column. In the Variable_2 column, the missing

Frontline Solvers V12.5 User Guide Page 109

values have been replaced by the user specified value of “zzz” and for

variable_3 by the mode of the column.

Let’s take a look at one more dataset, Ex6, of Examples.xls.

Select cell A2 and click Transform -- Missing Data Handling to open the

Missing Data Handling dialog then apply the following procedures to the

indicated columns.

A. Select Missing values are represented by this value and enter 33 in

the field that appears directly to the right of the option.

B. Select Delete record for Variable_1’s treatment.

C. Select mode for Variable_2’s treatment

D. Specify the value 9999 for missing/invalid values for Variable_3.

E. Click OK.

Frontline Solvers V12.5 User Guide Page 110

See the output.

Frontline Solvers V12.5 User Guide Page 111

As shown above, records 7 and 12 have been deleted since Delete Record was

chosen for the treatment of missing values for Variable_1. In the Variable_2

column, the missing values have been replaced by the mode as indicated in the

Missing Data Handling dialog (shown above) except for record 7 which was

deleted. It is important to note that "Delete record" holds priority over any

other instruction in the Missing Data Handling feature.

In the Variable_3 column, we instructed XLMiner to treat 33 as a missing value.

As a result 33, and the additional missing values in this column (D4 and D10),

were replaced by the user specified value of 9999. Note: The value for

Variable_3 for record 12 was 33 which should have been replaced by 9999.

However, since Variable_1 contained a missing value for this record, the

instruction "Delete record" was executed first.

Options for Missing Data Handling The following options appear on the Missing Data Handling dialog.

Missing Values are represented by this value

If this option is selected, a value (either non-numeric or numeric) must be

provided in the field that appears directly to the right of the option. XLMiner

will treat this value as “missing” and will be handled per the instructions applied

in the Missing Data Handling dialog.

Note: XLMiner treats empty and invalid cells as missing values automatically.

Frontline Solvers V12.5 User Guide Page 112

Overwrite existing worksheet

If checked, XLMiner overwrites the data set with the new dataset in which all

the missing values are appropriately treated.

Variable names in the first Row

When this option is selected, XLMiner will list each variable according to the

first row in the selected data range. When the box is unchecked, XLMiner

follows the default naming convention, i.e., the variable in the first column of

the selected range will be called "Var1", the second column "Var2," etc.

Variables

Each variable and its selected treatment option are listed here.

How do you want to handle missing values for the selected variable(s)?

When a variable in the Variables field is selected, this option is enabled. Click

the down arrow to display the following options.

Delete record - If this option is selected, XLMiner will delete the entire record

if a missing or invalid value is found for that variable.

Mode - All missing values in the column for the variable specified will be

replaced by the mode - the value occurring most frequently in the remainder of

the column.

Mean - All missing values in the column for the variable specified will be

replaced by the mean - the average of the values in the remainder of the column.

Median - All missing values in the column for the variable specified will be

replaced by the median - the number that would appear in the middle of the

remaining column values if all values were written in ascending order.

User specified value – If selected, a value must be entered in the field that

appears directly to the right of this menu. XLMiner will replace all missing /

invalid values with this specified value.

No treatment - If this option is selected, no treatment will be applied to the

missing / invalid values for the selected variable.

Apply this option to selected variable(s)

Clicking this command button will apply the treatment option selected.

Reset

Resets treatment to No Treatment for all variables listed in the Variables field.

Also, deselects the Overwrite Existing Worksheet option if selected.

OK

Click to run the Missing Data Handling feature of XLMiner.

Frontline Solvers V12.5 User Guide Page 113

Binning Continuous Data

Introduction Binning a dataset is a process of grouping measured data into data classes. These

data classes can be used in various analyses. For example, in certain XLMiner

routines, continuous variables are not supported. The Binning utility can be

applied to these variables and then this new “binned-variable” can be chosen as

a categorical variable. In XLMiner, the user decides what values the binned

variable should take.

A variable can be binned in the following ways.

Equal count: When using this option, an equal number of bin intervals are

created based on the number of records present.

Rank: In this option each value in the variable is assigned a rank according to

the start and increment value. Users can specify the starting and increment

value.

Mean: The mean is calculated as the average of the values lying in the bin

interval. This mean value is assigned to each value of the variable that lies in

that interval.

Median: Records with the same binning value are counted and the median is

calculated on the input value. The median value is then assigned to the binned

variable.

Equal Interval: Equal interval is based on bin size. When this method is

selected, the whole range is divided into bins with bin sizes specified by the

user. The options of Rank and Mid value are available with this method.

Examples for Binning Continuous Data Open the Binning_Example.xlsx dataset by clicking Help – Examples on the

XLMiner ribbon.

Frontline Solvers V12.5 User Guide Page 114

Select a cell in the dataset, say A2, and click Transform -- Bin Continuous

Data on the XLMiner ribbon to open the Bin Continuous Data dialog shown

below.

Frontline Solvers V12.5 User Guide Page 115

Select x3 in the Variables field. The options are immediately activated. Under

Value in the binned variable is, enter 10 for Start and 3 for Interval, then click

Apply this option to the selected variable. The variable, x3, will appear in the

field labeled, Name of binned variable.

Frontline Solvers V12.5 User Guide Page 116

Now click OK. The results are shown below.

Frontline Solvers V12.5 User Guide Page 117

As specified, 5 bins were created starting with a rank of 10 and an interval of 3:

10, 13 (10 + 3), 16 (13 + 3), 19 (16 + 3), and 22 (19 + 3). The first five smallest

values (96, 104, 111, 113, 136) have been assigned to Bin 10. The next four

values in ascending order (148, 150, 151, 164) have been assigned to Bin 13.

The next five values in ascending order (168, 168, 173, 174, 175) have been

assigned to Bin 16. The next four values in ascending order (178, 192, 197,

199) have been assigned to Bin 19 and the last four values (202, 204, 245, 252)

have been assigned to Bin 22.

Though Bins to be with is set to Equal Count, the number of records in each

interval may not be essentially the same. Factors such as border values, total

number of records, etc. influence the number of records assigned to each bin.

XLMiner reports the binning intervals in the report as shown below.

The next example pins the value of the variable to the mean of the bin rather

than the rank of the bin.

Click back to Sheet1 and select cell A2, then click Transform – Bin

Continuous Data. Select Mean of the bin, rather than Rank of the bin for

Frontline Solvers V12.5 User Guide Page 118

Value in the binned variable. Leaving all remaining options at their defaults,

click Apply this option to the selected variable then click OK.

Frontline Solvers V12.5 User Guide Page 119

In the output, the Binned_x3 variable is equal to the mean of all the x3 variables

assigned to that bin. Let’s take the first record for an example. Recall, from the

previous example, the values from Bin 13: 148, 150, 151, 164. The mean of

these values is 153.25 ((148 + 150 + 151 + 164) / 4) which is the value for the

Binned_x3 variable for the first record.

Similarly, if we were to select the Median of the bin option, the Binned_x3

variable would equal the median of all x3 variables assigned to each bin.

The next example explores the Equal interval option.

Click back to Sheet1 and select any cell in the dataset, say, A2, then click

Transform – Bin Continuous Data on the XLMiner ribbon. Select x3 in the

Variables field, enter 4 for #bins for the variable, select Equal interval under

Bins to be made with, enter 12 for Start and 3 for Interval under Value in the

binned variable is, then click Apply this option to the selected variable.

Frontline Solvers V12.5 User Guide Page 120

Click OK – the output is shown below.

XLMiner calculates the interval as the Maximum value for the x3 variable -

Minimum value for the x3 variable) / #bins specified by the user or in this

Frontline Solvers V12.5 User Guide Page 121

instance (252 – 96) / 4 which equals 39. This means that the bins will be

assigned x3 variables in accordance to the following rules.

Bin 12: Values 96 – < 136

Bin 15: Values 136 – < 174

Bin 18: Values 174 – 213

Bin 21: Values 214 – 252

In the first record, x4 has a value of 151. As a result, this record has been

assigned to Bin 15 since 151 lies in the interval of Bin 15.

Click back to Sheet1 and select any cell in the dataset, say, A2, then click

Transform – Bin Continuous Data on the XLMiner ribbon. Select x3 in the

Variables field, enter 4 for #bins for the variable, select Equal interval under

Bins to be made with, select Mid Value for Value in the binned variable is, then

click Apply this option to the selected variable.

Then click OK. The output is shown below.

Frontline Solvers V12.5 User Guide Page 122

As shown in the output above, XLMiner created 4 bins with intervals from 90 to

130 (Bin 1), 130 – 170 (Bin 2), 170 – 210 (Bin 3), and 210 – 253 (Bin 4). The

value of the binned variable is the midpoint of each interval: 110 for Bin 1, 150

for Bin 2, 190 for Bin 3 and 210 for Bin 4. In the first record, x3’s value is 151.

Since this value lies in the interval for Bin 2 (130 – 170) the mid value of this

interval is reported for the Binned_x3 variable, 150. In the last record, x3’s

value is 174. Since this value lies in the interval for Bin 3 (170 – 210), the mid

value of this interval is reported for the Binned_x3 variable, 190.

Options for Binning Continuous Data The following options appear on the Bin Continuous Data dialog.

Frontline Solvers V12.5 User Guide Page 123

Variable names in the first row

If this option is selected, the list of variables in the Variables field will be listed

according to titles appearing in the first row of the dataset.

Name of the binned variable

Variable appearing here will be binned.

Show binning values in the output

Select this option to include the binning variables in the output report.

Name of binned variable

The name displayed here will appear for the binned variable in the output report.

#bins for the variable

Enter the number of desired bins here.

Frontline Solvers V12.5 User Guide Page 124

Equal count

When this option is selected, the binning procedure will assign an equal number

of records to each bin. Note: There is a possibility that the number of records in

a bin may not be equal due to factors such as border values, the number of

records being divisible by the number of bins, etc. The options for Value of the

binned variable for this process are Rank, Mean, and Median. See below for

explanations of each.

Equal interval

When this option is selected, the binning procedure will assign records to bins if

the record’s value falls in the interval of the bin. Bin intervals are calculated by

subtracting the Minimum variable value from the Maximum variable value and

dividing by the number of bins ((Max Value – Min Value) / # bins). The

options for Value of the binned variable for this process are Rank and Mid value.

See below for explanations of each.

Rank of the bin

When either the Equal count or the Equal interval option is selected, Rank of the

bin is enabled. When selected, the User has the option to specify the Start value

of the first bin and the Interval of each bin. Subsequent bin values will be

calculated as the previous bin + interval value.

Mean of the bin

When the Equal count option is selected, Mean of the bin is enabled. XLMiner

calculates the mean of all values in the bin and assigns that value to the binned

variable.

Median of the bin

When the Equal count option is selected, Median of the bin is enabled.

XLMiner finds the median of all values in the bin and assigns that value to the

binned variable.

Mid Value

When the Equal Interval option is selected, this option is enabled. The mid

value of the interval will be displayed on the output report for the assigned bin.

Apply this option to the selected variable

Click this command button to apply the selected options to the selected variable.

Frontline Solvers V12.5 User Guide Page 125

Transforming Categorical Data

Introduction Analysts often deal with data that is not numeric. Non numeric data values could

be text, alphanumeric (mix of text and numbers), or numeric values with no

numerical significance (such as a postal code). Such variables are called

'Categorical' variables, where every unique value of the variable is a separate

'category'.

Dealing with categorical data poses some limitations. For example, if your data

contained too many categories there would be a need to combine several

categories into one. In addition, perhaps you may desire to use a data mining

technique that requires numeric data rather than categorical data. The features

included in the Transform group address these requirements.

XLMiner provides options to transform data in the following ways:

1. By Creating Dummy Variables: When this feature is used, a string

variable is transformed into a dummy variable. XLMiner can handle string

variables with up to 30 distinct values. Imagine a variable called Language

which has data values English, French, German and Spanish. Running this

transformation will result in the creation of four new variables:

Language_English, Language_French, Language_German, and

Language_Spanish. Each of these variables will take on values of either 0

or 1 depending on the value of the Language variable in the record. For

instance, if a particular record has a German data value then among the

dummy variables created, Language_German will be 1 and others will be

zero.

In XLMiner, this procedure can be applied to all non-numeric categorical

variables in a dataset provided that each variable has less than 30 distinct

values.

2. Create Category Scores: In this feature, a string variable is converted into

a new numeric, categorical variable.

3. Reduce Categories: If you have more than 30 categories in a particular

variable, this utility helps you create a new categorical variable that reduces

the number of categories to 30. There are two different options to choose

from.

A. Option 1 assigns categories 1 through 29 to the 29 most frequently

occurring categories, and assigns category 30 to all remaining

categories

B. Option 2 maps multiple distinct category values in the original column

to a new category variable between 1 and 30.

Frontline Solvers V12.5 User Guide Page 126

Transforming Categorical Data Examples Open the IrisFacto.xlsx example database by clicking Help -- Examples on the

XLMiner ribbon. (This dataset is derived from the example dataset, Iris.xls.)

This example will illustrate how to create dummy variables and category scores.

Note that in this dataset, Species_Name is a string variable.

Select a cell within the dataset, say A2, and click Transform -- Transform

Categorical Data -- Create Dummies to bring up the following Create

Dummies dialog.

Select Species_name in the Variables field and then > to move the variable to

the Variables to be factored field.

Frontline Solvers V12.5 User Guide Page 127

Click OK and view the output on the CategoryVar1 worksheet (inserted directly

after Sheet1.)

As shown in the output above, the variable, Species_name, is expressed as three

dummy variables: Species_name_Setosa, Species_name_Verginica and

Species_name_Versicolor. These new dummy variables are assigned values of

either 1, to indicate that the record belongs, or 0, to indicate that the record does

not belong. For example, Species_name_Setosa is assigned a value of 1 only

when the value of Species_name="Setosa" is in the dataset. Otherwise,

Species_name_Setosa = 0. The same is true for the two remaining dummy

variables i.e. Species_name_Verginica and Species_name_Versicolor.

In this example, XLMiner converted the string variable into three categorical

variables which resulted in a completely numeric dataset.

Click back to the dataset on Sheet1, select cell A2, and click Transform --

Transform Categorical Data -- Create Category Scores to open the XLMiner

Create category scores dialog shown below.

Frontline Solvers V12.5 User Guide Page 128

Select Species_name in the Variables field and click > to move the variable to

the Variables to be factored field. Keep the default option of Assign numbers

1,2,3....

Click OK and view the results on the CategoryVar2 worksheet which is inserted

directly to the right of Sheet 1 and the CategoryVar1 worksheets.

Frontline Solvers V12.5 User Guide Page 129

XLMiner has sorted the values of the Species_name variable alphabetically and

then assigned values of 1, 2 or 3 to each record depending on the species type.

(Starting from 1 because we selected Assign numbers 1,2,3.... To have XLMiner

start from 0, select the option Assign numbers 0, 1, 2,… on the Create Category

Scores dialog.) A variable, Species_name_ord is created to store these assigned

numbers. Again, XLMiner has converted this dataset to an entirely numeric

dataset.

Open the Iris.xls example dataset by clicking Help – Examples on the XLMiner

ribbon. Select a cell within the dataset, say cell A2, then click Transform --

Transform Categorical Data --> Reduce Categories to open the XLMiner

Reduce Categories dialog.

Select Petal_length as the variable, then select the Manually radio button under

Limit to 30 categories heading. In the Categories in selected variable box on

the right, all unique values of this variable are listed. Select all categories with

values less than 2; choose 1 for Category Number (Under Assign Category ID),

then click Apply. Repeat these steps for categories with values from 3 to 3.9

and apply a Category Number of 2. Continue repeating these steps until

category numbers from 4 thru 4.9 are assigned a Category Number of 3,

categories from 5 thru 5.9 are assigned a Category Number of 4, and categories

6 thru 6.9 are assigned a Category Number of 5.

Note: XLMiner is limited to 30 categories. If you pick By Frequency,

XLMiner assigns category numbers 1 through 29 to the most frequent 29 unique

values; and category number 30 to all other unique values. If you pick Manually,

XLMiner lets you map unique values to categories. You can pick multiple

unique values and map them to a single new category.

Frontline Solvers V12.5 User Guide Page 130

Click OK to produce the following output on the ReduceCat1 worksheet that is

inserted directly to the right of the Description worksheet.

In the output XLMiner has assigned new categories as shown in the column,

Petal_length CatNo, based on the choices made in the Reduce Categories

dialog.

Frontline Solvers V12.5 User Guide Page 131

Click back to the Data worksheet and click Transform – Transform

Categorical Data – Reduce Categories. Again select Petal_length in the

Variables field, but this time leave the default setting of By Frequency, then

click OK.

Frontline Solvers V12.5 User Guide Page 132

As you can see on the ReduceCat2 worksheet, XLMiner has classified the

Petal_length variable using 30 different categories. The values of 1.4 and 1.5

appear the most frequently (13 occurrences each) and have thus been labeled as

categories 1 and 2, respectively. The values of 4.5 and 5.1 each occur 8 times

and have thus been assigned to categories 3 and 4, respectively. The values of

1.3 and 1.6 occur seven times and, as a result, have been assigned to categories 5

and 6, respectively. Incremental category numbers are assigned to each

decreasing block of values until the 29th

category is assigned. All remaining

values are then lumped into the last category, 30.

Options for Transforming Categorical Data Explanations for options that appear on one of the three Transform Categorical

Data dialogs appear below.

Frontline Solvers V12.5 User Guide Page 133

Data Range

Either type the cell address directly into this field, or using the reference button;

select the required data range from the worksheet. If the cell pointer (active cell)

is already somewhere in the data range, XLMiner automatically picks up the

contiguous data range surrounding the active cell. When the data range is

selected XLMiner displays the number of records in the selected range.

First row contains headers

When this box is checked, XLMiner lists the variables according to the first row

of the selected data range. When the box is unchecked, XLMiner follows the

default naming convention, i.e., the variable in the first column of the selected

range will be called "Var1", the second column "Var2," etc.

Variables

This list box contains the names of the variables in the selected data range. To

select a variable, simply click to highlight, then click the > button. Use the

CTRL key to select multiple variables.

Options

The user can specify the number with which to start categorization 0 or 1. Select

the appropriate option.

Category Number

After manually selecting values from the list box, pick the category number to

assign. Click Apply to apply this mapping, or Reset to start over.

Frontline Solvers V12.5 User Guide Page 134

Principal Components Analysis

Introduction In the data mining field, databases with large amounts of variables are routinely

encountered. In most cases, the size of the database can be reduced by removing

highly correlated or superfluous variables. The accuracy and reliability of a

classification or prediction model produced from this resultant database will be

improved by the removal of these redundant and unnecessary variables. In

addition, superfluous variables increase the data-collection and data-processing

costs of deploying a model on a large database. As a result, one of the first steps

in data mining should be finding ways to reduce the number of independent or

input variables used in the model (otherwise known as dimensionality) without

sacrificing accuracy.

Principal component analysis (PCA) is a mathematical procedure that

transforms a number of (possibly) correlated variables into a smaller number of

uncorrelated variables called principal components. The objective of principal

component analysis is to reduce the dimensionality (number of variables) of the

dataset but retain as much of the original variability in the data as possible. The

first principal component accounts for the majority of the variability in the data,

the second principal component accounts for the majority of the remaining

variability, and so on.

A principal component analysis is concerned with explaining the variance

covariance structure of a high dimensional random vector through a few linear

combinations of the original component variables. Consider a database X with m

rows and n columns (X4x3)

X11 X12 X13

X21 X22 X23

X31 X32 X33

X41 X42 X43

1. The first step in reducing the number of columns (variables) in the X matrix

using the Principal Components Analysis algorithm is to find the mean of

each column.

(X11 + X21 + X31 + X41)/4 = Mu1

(X12 + X22 + X32 + X42)/4 = Mu2

(X13 + X23 + X33 + X43)/4 = Mu3

2. Next, the algorithm subtracts each element in the database by the mean

(Mu) thereby obtaining a new matrix, Ẍ, which also contains 4 rows and 3

columns.

X11 – Mu1 = Ẍ11 X12 – Mu2 = Ẍ12 X13 – Mu3 = Ẍ13

X21 – Mu1 = Ẍ21 X22 – Mu2 = Ẍ22 X23 – Mu3 = Ẍ23

122065
Highlight

Frontline Solvers V12.5 User Guide Page 135

X31 – Mu1 = Ẍ31 X32 – Mu2 = Ẍ32 X33 – Mu3 = Ẍ33

X41 – Mu1 = Ẍ41 X42 – Mu2 = Ẍ42 X43 – Mu3 = Ẍ43

3. Next, the PCA algorithm calculates the covariance or correlation matrix

(depending on the user’s preference) of the new Ẍ matrix.

4. Afterwards the algorithm calculates eigenvalues and eigenvectors from the

covariance matrix for each variable and lists these eigenvalues in order from

largest to smallest.

Larger eigenvalues denote that the variable should remain in the database.

Variables with smaller eigenvalues will be removed according to the user’s

preference.

5. XLMiner allows users to choose between selecting a fixed number of

components (variables) to be included in the “reduced” matrix (we will

refer to this new matrix as the Y matrix) or the smallest subset of variables

that “explains” or accounts for a certain percentage variance in the database.

Variables with eigenvalues below the chosen threshold will not be included

in the Y matrix. Assume that the user has chosen a fixed number of

variables (2) to be included in the Y matrix.

6. A new matrix V (containing eigenvectors based on the selected

eigenvalues) is formed.

7. The original matrix X which has 4 rows and 3 columns will be multiplied by

the V matrix, containing 4 rows and 2 columns. This matrix multiplication

results in the new reduced Y matrix, containing 4 rows and 2 columns.

In algebraic form, consider a p-dimensional random vector X = ( X1, X2, ..., Xp )

where p principal components of X are k univariate random variables Y1, Y2, ...,

Yk which are defined by the following formulae:

where the coefficient vectors l1, l2 ,..etc. are chosen such that they satisfy the

following conditions:

First Principal Component = Linear combination l1'X that maximizes Var(l1'X)

and || l1 || =1

Second Principal Component = Linear combination l2'X that maximizes

Var(l2'X) and || l2 || =1

and Cov(l1'X , l2'X) =0

jth Principal Component = Linear combination lj'X that maximizes Var(lj'X) and

|| lj || =1

and Cov(lk'X , lj'X) =0 for all k < j

These functions indicate that the principal components are those linear

combinations of the original variables which maximize the variance of the linear

combination and which have zero covariance (and hence zero correlation) with

the previous principal components.

Frontline Solvers V12.5 User Guide Page 136

It can be proved that there are exactly p such linear combinations. However,

typically, the first few principal components explain most of the variance in the

original data. As a result, instead of working with all the original variables X1,

X2, ..., Xp, you would typically first perform PCA and then use only the first two

or three principal components, say Y1 and Y2, in a subsequent analysis.

Examples for Principal Components Click Help – Examples on the XLMiner ribbon to open the example file

Utilities.xlsx. This example dataset gives data on 22 public utilities in the US.

Select a cell within the dataset, say A2, then click Transform – Principal

Components on the XLMiner ribbon to open the Principal Components dialog

shown below.

Frontline Solvers V12.5 User Guide Page 137

Select variables x1 to x8, then click the > command button to move them to the

Input variables field. (Perform error based clustering is not supported in the

PCA algorithm and is disabled). The figure below shows the first dialog box of

the Principal Components Analysis method. Click Next.

Frontline Solvers V12.5 User Guide Page 138

XLMiner provides two routines for specifying the number of principal

components: Fixed #components and Smallest # components explaining. The

Fixed # components method allows the user to specify a fixed number of

components, or variables, to be included in the “reduced” model . The Smallest

#components explaining method allows the user to specify a percentage of the

variance. When this method is selected XLMiner will calculate the minimum

number of principal components required to account for that percentage of the

variance.

In addition, XLMiner provides two methods for calculating the principal

components: using the covariance or the correlation matrix. When using the

correlation matrix method, the data will be normalized first before the method is

applied. (The dataset is normalized by dividing each variable by its standard

deviation.) Normalizing gives all variables equal importance in terms of

variability.1 If the covariance method is selected, the data will not be

normalized.

Select Use Correlation Matrix (Uses Standardized Variables). Then click

Next.

1 Shmueli, Galit, Nitin R. Patel, and Peter C. Bruce. Data Mining for Business Intelligence. 2nd ed. New Jersey: Wiley, 2010

Frontline Solvers V12.5 User Guide Page 139

On the Step 3 of 3 dialog, confirm Show principal components score is

selected, and then click Finish. This option displays an output matrix where the

columns are the principal components, the rows are the individual data records

and the value in each cell is the calculated score for that record on the relevant

principal component.

Two worksheets are inserted immediately after the Description worksheet:

PCA_Output1 and PCA_Scores1. The output from PCA_Output1 is shown

below.

Frontline Solvers V12.5 User Guide Page 140

The top section of the PCA_Output1 spreadsheet simply displays the number of

principal components created (as selected in the Step 2 of 3 dialog above), the

number of records in the dataset and the method chosen, Correlation matrix

(also selected in the Step 2 of 3 dialog).

The bottom portion of the PCA_Output worksheet displays the principal

component table. The maximum value for Component 1 corresponds to x2

(.5712). This signifies that the first principal component is measuring the effect

of x2 on the utility companies. Likewise, the second component appears to be

measuring the effect of x4 on the utility companies (.4091). The first

component accounts for 27.16% of the variance while the second component

accounts for 23.75%. Together, these two components account for more than

50% of the total variation.

The output from the PCA_Scores1 worksheet is below. This table holds the

weighted averages of the normalized variables (after each variable’s mean is

subtracted). (This matrix is described in the 2nd

step of the PCA algorithm - see

Introduction above.)

Frontline Solvers V12.5 User Guide Page 141

Click back to the Data worksheet, select any cell in the dataset, and then click

Transform – Principal Components. Cells x1 through x8 are already selected

so simply click Next on this dialog to advance to the Step 2 of 3 dialog.

This time, select Smallest # of components explaining, enter 50 for % of

variance, select Use Correlation Matrix, and then click Finish.

Frontline Solvers V12.5 User Guide Page 142

As you can see from the output worksheet PCA_Output2, only the first two

components are included in the output file since these two components account

for over 50% of the variation.

After applying the Principal Components Analysis algorithm, users may proceed

to analyze their dataset by applying additional data mining algorithms featured

in XLMiner.

Options for Principal Components Analysis Options for Principal Components Analysis appear on the Step 2 of 3 and Step 3

of 3 dialogs. For more information on the Step1 of 3 dialog, please see the

Common Dialog Options section in the Introduction to XLMiner chapter.

Principal Components

Select the number of principal components displayed in the output.

Frontline Solvers V12.5 User Guide Page 143

Fixed # of components

Specify a fixed number of components by selecting this option and entering an

integer value from 1 to n where n is the number of Input variables selected in

the Step 1 of 3 dialog.

Smallest #components explaining

Select this option to specify a percentage. XLMiner will calculate the minimum

number of principal components required to account for that percentage of

variance.

Method

To compute Principal Components the data is matrix multiplied by a

transformation matrix. This option lets you specify the choice of calculating this

transformation matrix.

Use Covariance matrix

The covariance matrix is a square, symmetric matrix of size n x n (number of

variables by number of variables). The diagonal elements are variances and the

off-diagonals are covariances. The eigenvalues and eigenvectors of the

covariance matrix are computed and the transformation matrix is defined as the

transpose of this eigenvector matrix. If the covariance method is selected, the

dataset should first be normalized. One way to organize the data is to divide

each variable by its standard deviation. Normalizing gives all variables equal

importance in terms of variability.2

Use Correlation matrix

An alternative method is to derive the transformation matrix on the eigenvectors

of the correlation matrix instead of the covariance matrix. The correlation

matrix is equivalent to a covariance matrix for the data where each variable has

been standardized to zero mean and unit variance. This method tends to

equalize the influence of each variable, inflating the influence of variables with

relatively small variance and reducing the influence of variables with high

variance.

2 Shmueli, Galit, Nitin R. Patel, and Peter C. Bruce. Data Mining for Business Intelligence. 2nd ed. New Jersey: Wiley, 2010

Frontline Solvers V12.5 User Guide Page 144

Show principal components score

This option results in the display of a matrix in which the columns are the

principal components, the rows are the individual data records, and the value in

each cell is the calculated score for that record on the relevant principal

component.

Frontline Solvers V12.5 User Guide Page 145

k-Means Clustering

Introduction Cluster Analysis, also called data segmentation, has a variety of goals which all

relate to grouping or segmenting a collection of objects (also called

observations, individuals, cases, or data rows) into subsets or "clusters". These

“clusters” are grouped in such a way that the observations included in each

cluster are more closely related to one another than objects assigned to different

clusters. The most important goal of cluster analysis is the notion of the degree

of similarity (or dissimilarity) between the individual objects being clustered.

There are two major methods of clustering -- hierarchical clustering and k-

means clustering. (See the k-means clustering chapter for information on this

type of clustering analysis.)

This chapter explains the k-Means Clustering algorithm. The goal of this

process is to divide the data into a set number of clusters (k) and to assign each

record to a cluster while minimizing the distribution within each cluster. A non-

hierarchical approach to forming good clusters is to specify a desired number of

clusters, say, k, then assign each case (object) to one of k clusters so as to

minimize a measure of dispersion within the clusters. A very common measure

is the sum of distances or sum of squared Euclidean distances from the mean of

each cluster. The problem can be set up as an integer programming problem but

because solving integer programs with a large number of variables is time

consuming, clusters are often computed using a fast, heuristic method that

generally produces good (but not necessarily optimal) solutions. The k-means

algorithm is one such method.

Examples for k-Means Clustering Click Help – Examples on the XLMiner ribbon and open the example file

Wine.xlsx. As shown in the figure below, each row in this example dataset

represents a sample of wine taken from one of three wineries (A, B or C). In this

example, the Type variable representing the winery is ignored and the clustering

is performed simply on the basis of the properties of the wine samples (the

remaining variables).

Frontline Solvers V12.5 User Guide Page 146

Select a cell within the dataset, say A2, and then click XLMiner – Cluster – k-

Means Clustering. The following dialog box will appear.

Select all variables under Variables in data source except Type, then click the >

button to shift the selected variables to the Input variables field.

Frontline Solvers V12.5 User Guide Page 147

Afterwards, click Next to advance to the Step 2 of 3 dialog.

Enter 8 for # Clusters to be formed. This is the parameter k in the k-means

clustering algorithm. The number of clusters should be at least 2 and at most the

number of observations in the data range. It is a good idea to set k to several

different values and evaluate the output from each.

Enter 10 for # Iterations. The value for this option determines how many times

the program will start with an initial partition and complete the clustering

algorithm. The configuration of clusters (and how good a job they do of

separating the data) may differ from one starting partition to another. The

program will go through the specified number of iterations, and select the cluster

configuration that minimizes the distance measure.

Select the Random Starts option. When this option is selected, the algorithm

will start building the model from any random point. Enter 5 for No. of starts.

XLMiner will generate five cluster sets and will generate the output based on the

best cluster. Enter 12345 for Fixed Seed. A value specified here will ensure the

same starting points each time the algorithm is run.

If Fixed start were to be selected, XLMiner would build the model with a single

fixed starting point.

Frontline Solvers V12.5 User Guide Page 148

Click Next.

On the Step 3 of 3 dialog, select Show data summary (default) and Show

distances from each cluster center (default). Then click Finish.

The K-Means Clustering method will start with k initial clusters as specified by

the user. At each iteration, the records are assigned to the cluster with the closest

centroid, or center. After each iteration, the distance from each record to the

center of the cluster is calculated. These two steps are repeated (the record

assignment and distance calculation) until the redistribution of a record results in

an increased distance value.

When the user specifies a random start, the algorithm generates the k cluster

centers randomly and fits the data points in those clusters. This process is

repeated for as many random starts as the user specifies. The output will be

based on the clusters that exhibit the best fit.

The worksheet, KM_Output1 is inserted immediately after the Description

worksheet. In the top section of the output worksheet, the options that were

selected are listed.

Frontline Solvers V12.5 User Guide Page 149

In the middle section of the output worksheet, XLMiner has calculated the sum

of the squared distances and has determined the start with the lowest Sum of

Square Distance as the Best Start (#3). After the Best Start is determined,

XLMiner generates the remaining output using the Best Start as the starting

point.

In the bottom portion of the output worksheet, XLMiner has listed the "cluster

centers" (shown below). The upper box shows the variable values at the cluster

centers. As you can see, the first cluster has the highest average

Nonflavanoid_Phenol and Ash_Alcalinity, and a very high Magnesium average.

Compare this cluster to Cluster 5 which has the highest average Proline,

Flavanoids, and Color_Intensity, and a very high Malic_Acid average.

The lower box shows the distance between the cluster centers. From the values

in this table, we can discern that cluster 5 is very different from cluster 6 due to

the high distance value of 1,484.51 and cluster 7 is very close to cluster 3 (low

distance value of 31.27). It is possible that these two clusters could be merged

into one cluster.

Frontline Solvers V12.5 User Guide Page 150

The Data Summary displays the number of records (observations) included in

each cluster and the average distance from cluster members to the center of each

cluster. As you can see, cluster 2 has the highest average distance and includes

78 records. Compare this cluster to cluster 6 which has 0 members.

Click the KM_Clusters1 worksheet. This worksheet displays the cluster to

which each record is assigned and the distance to each of the clusters. Note that,

for record 5, the distance to cluster 1 is the minimum distance, so record 5 is

assigned to cluster 1.

Frontline Solvers V12.5 User Guide Page 151

k-Means Clustering Options See the Common Dialog Options section in the Introduction to XLMiner

chapter for an explanation of options present on the k-Means Clustering – Step 1

of 3 dialog. See below for an explanation of options on the k-Means Clustering

Step 2 of 3 and Step 3 of 3 dialogs.

Frontline Solvers V12.5 User Guide Page 152

Clustering Method

At this time, XLMiner supports standard clustering only.

Frontline Solvers V12.5 User Guide Page 153

Normalize input data

If this option is selected, XLMiner will normalize the input data before applying

the k-Means Clustering algorithm. Normalizing the data is important to ensure

that the distance measure accords equal weight to each variable. Without

normalization, the variable with the largest scale will dominate the measure.

# Clusters

Enter the number of final clusters (k) to be formed here. The number of clusters

should be at least 2 and at most the number of observations in the data range.

This value should be based on your knowledge of the data and the number of

projected clusters. It is a good idea to repeat the procedure with several

different k values.

# Iterations

Enter the number of times the program will perform the clustering algorithm.

The configuration of clusters (and how good a job they do of separating the

data) may differ from one starting partition to another. The algorithm will

complete the specified number of iterations and select the cluster configuration

that minimizes the distance measure.

Options

If Fixed start is selected, XLMiner will start building the model with a single

fixed starting point. If Random starts is selected, the algorithm will start at any

random point.

If Random starts is selected, two additional options are enabled: No. of Starts

and Seed. Enter the number of desired clusters for No. of Starts. XLMiner will

complete the desired number of clusters and generate the output for the best

cluster set. To enter a fixed seed, select Fixed and then enter an integer value.

Show data summary

Select this option to display the data summary in the k-Means Clustering output.

Show distances from each cluster center

Select this option to display the distances from each cluster center in the k-

Means Clustering output.

Frontline Solvers V12.5 User Guide Page 154

Hierarchical Clustering

Introduction

Cluster Analysis, also called data segmentation, has a variety of goals. All relate

to grouping or segmenting a collection of objects (also called observations,

individuals, cases, or data rows) into subsets or "clusters", such that those within

each cluster are more closely related to one another than objects assigned to

different clusters. The most important goal of cluster analysis is the notion of

degree of similarity (or dissimilarity) between the individual objects being

clustered. There are two major methods of clustering -- hierarchical clustering

and k-means clustering. (See the k-means clustering chapter for information on

this type of clustering analysis.)

In hierarchical clustering the data are not partitioned into a particular cluster in a

single step. Instead, a series of partitions takes place, which may run from a

single cluster containing all objects to n clusters each containing a single object.

Hierarchical Clustering is subdivided into agglomerative methods, which

proceed by a series of fusions of the n objects into groups, and divisive methods,

which separate n objects successively into finer groupings. The hierarchical

clustering technique employed by XLMiner is an Agglomerative technique.

Hierarchical clustering may be represented by a two dimensional diagram

known as a dendrogram which illustrates the fusions or divisions made at each

successive stage of analysis. An example of such a dendrogram is given below:

Agglomerative methods

An agglomerative hierarchical clustering procedure produces a series of

partitions of the data, Pn, Pn-1, ....... , P1. The first Pn consists of n single object

'clusters', the last P1, consists of a single group containing all n cases.

At each particular stage the method joins the two clusters which are closest

together (most similar). (At the first stage, this amounts to joining together the

two objects that are closest together, since at the initial stage each cluster has

one object.)

Frontline Solvers V12.5 User Guide Page 155

Differences between methods arise because of the different methods of defining

distance (or similarity) between clusters. Several agglomerative techniques will

now be described in detail.

Single linkage clustering

One of the simplest agglomerative hierarchical clustering method is single

linkage, also known as the nearest neighbor technique. The defining feature of

this method is that distance between groups is defined as the distance between

the closest pair of objects, where only pairs consisting of one object from each

group are considered.

In the single linkage method, D(r,s) is computed as

D(r,s) = Min { d(i,j) : Where object i is in cluster r and object j is cluster s }

Here the distance between every possible object pair (i,j) is computed, where

object i is in cluster r and object j is in cluster s. The minimum value of these

distances is said to be the distance between clusters r and s. In other words, the

distance between two clusters is given by the value of the shortest link between

the clusters.

At each stage of hierarchical clustering, the clusters r and s, for which D(r,s) is

minimum, are merged.

This measure of inter-group distance is illustrated in the figure below:

Complete linkage clustering

The complete linkage, also called farthest neighbor, clustering method is the

opposite of single linkage. In this clustering method, the distance between

Frontline Solvers V12.5 User Guide Page 156

groups is defined as the distance between the most distant pair of objects, one

from each group.

In the complete linkage method, D(r,s) is computed as

D(r,s) = Max { d(i,j) : Where object i is in cluster r and object j is cluster s }

Here the distance between every possible object pair (i,j) is computed, where

object i is in cluster r and object j is in cluster s and the maximum value of these

distances is said to be the distance between clusters r and s. In other words, the

distance between two clusters is given by the value of the longest link between

the clusters.

At each stage of hierarchical clustering, the clusters r and s, for which D(r,s) is

minimum, are merged.

The measure is illustrated in the figure below:

Average linkage clustering

Here the distance between two clusters is defined as the average of distances

between all pairs of objects, where each pair is made up of one object from each

group.

In the average linkage method, D(r,s) is computed as

D(r,s) = Trs / ( Nr * Ns)

Where Trs is the sum of all pairwise distances between cluster r and cluster s. Nr

and Ns are the sizes of the clusters r and s respectively.

At each stage of hierarchical clustering, the clusters r and s, for which D(r,s) is

the minimum, are merged. The figure below illustrates average linkage

clustering:

Frontline Solvers V12.5 User Guide Page 157

Average group linkage

With this method, groups once formed are represented by their mean values for

each variable, that is, their mean vector, and inter-group distance is now defined

in terms of distance between two such mean vectors.

In the average group linkage method, the two clusters r and s are merged such

that, after merging, the average pairwise distance within the newly formed

cluster, is minimized. Suppose we label the new cluster formed by merging

clusters r and s, as t. Then D(r,s) , the distance between clusters r and s is

computed as

D(r,s) = Average { d(i,j) : Where observations i and j are in cluster t, the cluster

formed by merging clusters r and s }

At each stage of hierarchical clustering, the clusters r and s, for which D(r,s) is

minimized, are merged. In this case, those two clusters are merged such that the

newly formed cluster, on average, will have minimum pairwise distances

between the points.

Ward's hierarchical clustering method

Ward (1963) proposed a clustering procedure seeking to form the partitions Pn, P

n-1,........, P1 in a manner that minimizes the loss associated with each grouping, and

to quantify that loss in a form that is readily interpretable. At each step in the

analysis, the union of every possible cluster pair is considered and the two

clusters whose fusion results in minimum increase in 'information loss' are

combined. Information loss is defined by Ward in terms of an error sum-of-

squares criterion, ESS.

The rationale behind Ward's proposal can be illustrated most simply by

considering univariate data. Suppose for example, 10 objects have scores (2, 6,

5, 6, 2, 2, 2, 2, 0, 0, 0) on some particular variable. The loss of information that

Frontline Solvers V12.5 User Guide Page 158

would result from treating the ten scores as one group with a mean of 2.5 is

represented by ESS given by,

ESS One group = (2 -2.5)2 + (6 -2.5)

2 + ....... + (0 -2.5)

2 = 50.5

On the other hand, if the 10 objects are classified according to their scores into

four sets,

{0,0,0}, {2,2,2,2}, {5}, {6,6}

The ESS can be evaluated as the sum of squares of four separate error sums of

squares

ESS One group = ESS group1 + ESSgroup2 + ESSgroup3 + ESSgroup4 = 0.0

Clustering the 10 scores into 4 clusters results in no loss of information.

Examples of Hierarchical Clustering The utilities.xlsx example dataset (shown below) holds corporate data on 22 US

public utilities. This example will illustrate how a user would use XLMiner to

perform a cluster analysis using hierarchical clustering.

An example where clustering would be useful is a study to predict the cost

impact of deregulation. To perform the requisite analysis, economists would be

required to build a detailed cost model of the various utilities. It would save a

considerable amount of time and effort if we could cluster similar types of

utilities, build a detailed cost model for just one ”typical” utility in each cluster,

then scale up from these models to estimate results for all utilities.

Each record includes 8 observations. Before we can use a clustering technique,

the data must be “normalized” or “standardized”. A popular method for

normalizing continuous variables is to divide each variable by its standard

deviation. After the variables are standardized, the distance can be computed

between clusters using the Euclidean metric.

Open the Utilities.xlsx example dataset by clicking Help – Examples on the

XLMiner ribbon.

An explanation of the variables is below.

Frontline Solvers V12.5 User Guide Page 159

Select any cell in the dataset, for example A2, then click Cluster --

Hierarchical Clustering to bring up the Hierarchical Clustering dialog.

Select variables x1 through x8 in the Variables field, then click > to move the

selected variables to the Selected variables field.

Frontline Solvers V12.5 User Guide Page 160

Then click Next to advance to the Step 2 of 3 dialog.

At the top of the dialog, select Normalize input data. When this option is

selected, XLMiner will normalize the data by subtracting the variable’s mean

from each observation and dividing by the standard deviation. Normalizing the

data is important to ensure that the distance measure accords equal weight to

each variable -- without normalization, the variable with the largest scale will

dominate the measure.

Frontline Solvers V12.5 User Guide Page 161

Under Similarity measure, Euclidean distance is selected by default. The

Hierarchical clustering method uses the Euclidean Distance as the similarity

measure for raw numeric data. When the data is binary the remaining two

options, Jaccard's coefficients and Matching coefficients are enabled.

Under Clustering method, select Average group linkage. Recall from the

Introduction to this chapter, the average group linkage method calculates the

average distance of all possible distances between each record in each cluster.

Click Next.

On the Step 3 of 3 dialog, select Draw dendrogram and Show cluster

membership. Enter 4 for the # Clusters. Then click Finish. XLMiner will

create four clusters using the Average group linkage method. The output

worksheet HC_Output1 is inserted immediately after the Description worksheet.

This output details the history of the cluster formation. Initially, each individual

case is considered its own cluster (single member in each cluster). Since there

are 21 records, XLMiner begins the method with # clusters = # cases. At stage

Frontline Solvers V12.5 User Guide Page 162

1, above, clusters (i.e. cases) 10 and 13 were found to be closer together than

any other two clusters (i.e. cases), so they are joined together in a cluster called

Cluster 10. At this point there is one cluster with two cases (cases 10 and 13),

and 19 additional clusters that still have just one case in each. At stage 2,

clusters 7 and 12 are found to be closer together than any other two clusters, so

they are joined together into cluster 7.

This process continues until there is just one cluster. At various stages of the

clustering process, there are different numbers of clusters. A graph called a

dendrogram illustrates these steps.

In the above dendrogram, the Sub Cluster IDs are listed along the x-axis (in an

order convenient for showing the cluster structure). The y-axis measures inter-

cluster distance. Consider cases 10 and 13 -- they have an inter-cluster distance

of 1.51. No other cases have a smaller inter-cluster distance, so 10 and 13 are

joined into one cluster, indicated by the horizontal line linking them. Next, we

see that cases 7 and 12 have the next smallest inter-cluster distance, so they are

joined into one cluster. The next smallest inter-cluster distance is between

clusters 14 and 19 and so on.

If we draw a horizontal line through the diagram at any level on the y-axis (the

distance measure), the vertical cluster lines that intersect the horizontal line

indicate clusters whose members are at least that close to each other. If we draw

a horizontal line at distance = 2.3, for example, we see that there are 11 clusters.

In addition, we can see that a case can belong to multiple clusters, depending on

where we draw the line (i.e. how close we require the cluster members to be to

each other).

For purposes of assigning cases to clusters, we must specify the number of

clusters in advance. In this example, we specified a limit of 4.

If the number of training rows exceeds 30 then the dendrogram also displays

Cluster Legends.

The HC_Clusters1 output worksheet includes the following table.

Frontline Solvers V12.5 User Guide Page 163

This table displays the assignment of each record to the four clusters.

This next example illustrates k-Means Clustering when the data represents the

distance between the ith

and jth

records. (When applied to raw data, Hierarchical

clustering converts the data into the distance matrix format before proceeding

with the clustering algorithm. Providing the distance measures in the data

requires one less step for the Hierarchical clustering algorithm.)

Select a cell in the database, say A2, click XLMiner – Help – Examples and

open the file, DistMatrix.xls. Then, click XLMiner – Cluster – Hierarchical

Clustering to open the following dialog.

Click the down arrow next to Data Type and select Distance Matrix.

Frontline Solvers V12.5 User Guide Page 164

Then click Next.

Again, select Average group linkage as the Clustering method. Then click

Next.

Select Draw dendrogram (default) and Show cluster membership (default)

and enter 4 for # Clusters.

Frontline Solvers V12.5 User Guide Page 165

Then click Finish.

Output worksheets, HC_Output1, HC_Clusters1, and HC_Dendrogram1 are

inserted immediately after Sheet1.

The Clustering Stages output (included on the HC_Output1 worksheet) is shown

below.

The Dendrogram output (included on the HC_Dendrogram1 worksheet) is

shown below.

Frontline Solvers V12.5 User Guide Page 166

One of the reasons why Hierarchical Clustering is so attractive to statisticians is

that it is not necessary to specify the number of clusters desired. In addition, the

clustering process can be easily illustrated with a dendrogram. However, there

are a few limitations.

1. Hierarchical clustering requires computing and storing an n x n distance

matrix. If using a large dataset, this requirement can be very slow and

require large amounts of memory.

2. The algorithm makes only one pass through the dataset. As a result, records

that are assigned erroneously will not be reassigned later in the process.

3. Clusters created through Hierarchical clustering are not very stable. If

records are eliminated, the results can be very different.

4. Outliers in the data can impact the results negatively.

Options for Hierarchical Clustering The following options appear on the Hierarchical Clustering Step 2 of 3 and

Step 3 of 3 dialogs. See the Common options section of the chapter,

Introduction to XLMiner, for options appearing on the Step 1 of 3 dialog.

Frontline Solvers V12.5 User Guide Page 167

Data Type

The Hierarchical clustering method can be used on raw data as well as the data

in Distance Matrix format. Choose the appropriate option to fit your dataset.

Frontline Solvers V12.5 User Guide Page 168

Normalize input data

Normalizing the data is important to ensure that the distance measure accords

equal weight to each variable -- without normalization, the variable with the

largest scale will dominate the measure.

Similarity Measures

The Hierarchical clustering uses the Euclidean Distance as the similarity

measure for working on raw numeric data. When the data is binary, the

remaining two options, Jaccard's coefficients and Matching coefficient are

enabled.

Suppose we have binary values for all the xij ’s. See the table below for

individual i’s and j’s.

The most useful similarity measures in this situation are:

Jaccard’s coefficient = d/(b+c+d). This coefficient ignores zero matches.

The matching coefficient = (a + d)/p.

Clustering Method

See the introduction to this chapter for descriptions of each method.

Draw Dendrogram

Select this option to have XLMiner create a dendrogram to illustrate the

clustering process.

Show cluster membership

Select this option to display the cluster number (ID) to which each record is

assigned by the routine.

Frontline Solvers V12.5 User Guide Page 169

# Clusters

Recall that the agglomerative method of hierarchical clustering continues to

form clusters until only one cluster is left. This option lets you stop the process

at a given number of clusters.

Frontline Solvers V12.5 User Guide Page 170

Exploring a Time Series Dataset

Introduction Time series datasets contain a set of observations generated sequentially in time.

Organizations of all types and sizes utilize time series datasets for analysis and

forecasting for predicting next year’s sales figures, raw material demand,

monthly airline bookings, etc. .

Example of a time series dataset: Monthly airline bookings.

A time series model is first used to obtain an understanding of the underlying

forces and structure that produced the data and then secondly, to fit a model that

will predict future behavior. In the first step, the analysis of the data, a model is

created to uncover seasonal patterns or trends in the data, for example bathing

suit sales in June. In the second step, forecasting, the model is used to predict

the value of the data in the future, for example, next year’s bathing suit sales.

Separate modeling methods are required to create each type of model.

XLMiner features two techniques for exploring trends in a dataset, ACF

(Autocorrelation function) and PACF (Partial autocorrelation function). These

techniques help the user to explore various patterns in the data which can be

used in the creation of the model. After the data is analyzed, a model can be fit

to the data using XLMiner’s ARIMA method.

Autocorrelation (ACF)

Autocorrelation (ACF) is the correlation between neighboring observations in a

time series. When determining if an autocorrelation exists, the original time

series is compared to the “lagged” series. This lagged series is simply the

original series moved one time period forward (xn vs xn+1). Suppose there are 5

time based observations: 10, 20, 30, 40, and 50. When lag = 1, the original

series is moved forward one time period. When lag = 2, the original series is

moved forward two time periods.

Frontline Solvers V12.5 User Guide Page 171

Day Observed Value Lag-1 Lag-2

1 10

2 20 10

3 30 20 10

4 40 30 20

5 50 40 30

The autocorrelation is computed between the original series and the lag-1 series

using the Excel CORREL function. In a similar manner, the lag-2

autocorrelation is computed between the original series and the lag-2 series.

XLMiner’s ACF utility directly computes the autocorrelations of the series at

different lags.

The two red horizontal lines on the graph above delineate the Upper confidence

level (UCL) and the Lower confidence level (LCL). If the data is random, then

the plot should be within the UCL and LCL. If the plot exceeds either of these

two levels, as seen in the plot above, then it can be presumed that some

correlation exists in the data.

Partial Autocorrelation Function (PACF)

This technique is used to compute and plot the partial autocorrelations between

the original series and the lags. However, PACF eliminates all linear

dependence in the time series beyond the specified lag.

ARIMA An ARIMA (autoregressive integrated moving-average models) model is a

regression-type model that includes autocorrelation. The basic assumption in

estimating the ARIMA coefficients is that the data are stationary, that is, the

trend or seasonality cannot affect the variance. This is generally not true. To

achieve the stationary data, XLMiner will first apply “differencing”: ordinary,

seasonal or both.

After XLMiner fits the model, various results will be available. The quality of

the model can be evaluated by comparing the time plot of the actual values with

the forecasted values. If both curves are close, then it can be assumed that the

model is a good fit. The model should expose any trends and seasonality, if any

exist. If the residuals are random then the model can be assumed a good fit.

However, if the residuals exhibit a trend, then the model should be refined.

Fitting an ARIMA model with parameters (0,1,1) will give the same results as

Frontline Solvers V12.5 User Guide Page 172

exponential smoothing. Fitting an ARIMA model with parameters (0,2,2) will

give the same results as double exponential smoothing.

Partitioning

To avoid over fitting of the data and to be able to evaluate the predictive

performance of the model on new data, we must first partition the data into

training and validation sets, and possibly a test set, using XLMiner’s time series

partitioning utility. After the data is partitioned, ACF, PACF, and ARIMA can

be applied to the dataset.

Examples for Time Series Analysis The examples below illustrate how XLMiner can be used to explore the data to

uncover trends and seasonalities. Click Help – Examples on the XLMiner

ribbon and open the example dataset, Income.xlsx. This dataset contains the

average income of tax payers by state.

Typically the following steps are performed in a time series analysis.

1. The data is first partitioned into two sets with 60% of the data assigned to

the training set and 40% of the data assigned to validation.

2. Exploratory techniques are applied to both the training and validation sets.

If the results are in synch then the model can be fit. If the ACF and PACF

plots are the same, then the same model can be used for both sets.

3. The model is fit using the ARIMA method.

4. When we fit a model using the ARIMA method, XLMiner displays the ACF

and PACF plots for residuals. If these plots are in the band of UCL and

LCL then it indicates that the residuals are random and the model is

adequate.

5. If the residuals are not within the bands, then some correlation exists, and

the model should be improved.

First we must perform a partition on the data. Select a cell within the dataset,

such as A2, then click Partition within the Time Series group on the XLMiner

ribbon to open the following dialog.

Frontline Solvers V12.5 User Guide Page 173

Select Year under Variables and click > to define the variable as the Time

Variable. Select the remaining variables under Variables and click > to include

them in the partitioned data.

Select Specify #Records under Specify Partitioning Options. Then select

Specify Percentages under Specify Percentages for Partitioning. Enter 50 for

the number of Training Set records and 21 for the number of Validation Set

records.

Frontline Solvers V12.5 User Guide Page 174

Click OK. The Data_PartitionTS1 worksheet will be inserted directly behind

the Description worksheet.

Note in the output above, the partitioning method is sequential (rather than

random). The first 50 observations have been assigned to the training set and

the remaining 21 observations have been assigned to the validation set.

Select a cell on the Data_PartitionTS1 worksheet then click ARIMA –

Autocorrelations on the XLMiner ribbon to display the ACF dialog.

Frontline Solvers V12.5 User Guide Page 175

Select CA as the Selected variable, enter 10 for both ACF Parameters for

Training Data and ACF Parameters for Validation Data. Then select Plot ACF

chart.

Click OK. The worksheet ACF_Output1 will be inserted directly after the

Data_PartitionTS1 worksheet.

Both ACF functions show a definite pattern where the autocorrelation decreases

as the number of lags increases. Since the pattern does not repeat, it can be

assumed that no seasonality is included in the data. In addition, since both

charts exhibit a similar pattern, we can fit the same model to both the validation

and training sets.

Click back to the Data_PartitionTS1 worksheet and click ARIMA -- Partial

Autocorrelations to open the PACF dialog as shown below.

Frontline Solvers V12.5 User Guide Page 176

Select CA under Variables in input data, then click > to move the variable to

Selected variable. Enter 40 for Maximum Lag for PACF Parameters for

Training Data and 15 PACF Parameters for Validation Data. Select Plot

PACF chart.

Click OK. The worksheet, PACF_Output1, is inserted directly after the

ACF_Output1 worksheet. Both PACF plots show similar patterns in both the

Frontline Solvers V12.5 User Guide Page 177

validation and training sets. As a result, we can use the same model for both

sets.

PACF Output for Training Data

PACF Output for Validation Data

The PACF function shows a definite pattern which means there is a trend in the

data. However, since the pattern does not repeat, we can conclude that the data

does not show any seasonality.

The ARIMA model accepts three parameters: p – the number of autoregressive

terms, d – the number of non-seasonal differences, and q – the number of lagged

errors (moving averages).

Recall that the ACF plot showed no seasonality in the data which means that

autocorrelation is almost static, decreasing with the number of lags increasing.

This suggests setting q = 0 since there appears to be no lagged errors. The

PACF plot displayed a large value for the first lag but minimal plots for

successive lags. This suggest setting p =1. With most datasets, setting d =1 is

sufficient or can at least be a starting point.

Click back to the Data_PartitionTS1 worksheet and click ARIMA – ARIMA

model to bring up the ARIMA dialog shown below.

Frontline Solvers V12.5 User Guide Page 178

Select CA under Variables in input data then click > to move the variable to the

Selected Variable field. Under Nonseasonal Parameters set Autoregressive (p)

to 1, Difference (d) to 1 and Moving Average (q) to 0.

Frontline Solvers V12.5 User Guide Page 179

Click Advanced to open the ARIMA – Advanced dialog.

Select Fitted Values and residuals, Variance-covariance matrix, Produce

forecasts, and Report Confidence Intervals for forecasts, then enter 95 for the

Confidence-level.

Click OK on the ARIMA-Advanced dialog and again on the Time Series –

ARIMA dialog. XLMiner calculates and displays various parameters and charts

in two output sheets, ARIMA_Output1 and ARIMA_Residuals1. The

ARIMA_Output1 worksheet contains the ARIMA model, shown below.

Frontline Solvers V12.5 User Guide Page 180

On this same worksheet, XLMiner has calculated the constant term and the AR1

term for our model, as seen above. These are the constant and f1 terms of our

forecasting equation. See the following output of the Chi - square test.

Since the p-Value is small, we can conclude that the model is a good fit.

Now open the worksheet ARIMA_Residuals1. This table plots the actual and

fitted values and the resulting residuals. As shown in the graph below, the

Actual and Forecasted values match up fairly well. The usefulness of the model

in forecasting will depend upon how close the actual and forecasted values are

in the Time plot of validation set which we will inspect later.

Let us take a look at the ACF and PACF plots for residuals.

Most of the correlations are within the UCL and LCL band. This indicates that

the residuals are random, they are not correlated and is the first indication that

the model parameters are adequate for this data.

Open the sheet ARIMA_Output1. See the Forecast table.

Frontline Solvers V12.5 User Guide Page 181

The table shows the actual and forecasted value. The "Lower" and "Upper"

values represent the lower and upper bounds of the confidence interval. There is

a 95% chance that the forecasted value will fall into this range.

Let us take a look at the Time Plot below. It is plotted with the values in the

table above. It indicates how the model which we fitted using the Training data

performs on the validation data.

The actual and forecasted values are fairly close. This is a confirmation that our

model is good for forecasting. To plot the values under the "Lower" and

"Upper" column in the same chart (using the EXCEL chart facility), select the

graph and then click Design – Select Data to open the Select Data Source

dialog.

Frontline Solvers V12.5 User Guide Page 182

Click Add to open the Edit Series dialog. Enter Lower for Series name and

G52:G72 for the Series values.

Click OK and repeat these steps entering Upper for the Series name and

H52:H72 for the Series values. Then click OK on the Edit Series dialog and

OK again on the Select Data Source dialog to produce the graph below.

The plot shows that the Actual values lie well within the bands created by the

Upper and Lower values in the table. In fact, for the majority of the graph, the

Actual and Forecasted values are located in the center, or very close to the

center, of the two bands. As a result, it can be assumed that we have fitted an

adequate model.

Now let’s fit a model to a dataset containing seasonality. Click XLMiner –

Help – Examples and open the Airpass.xlsx example dataset. This is the classic

Box & Jenkins dataset containing monthly totals of international airline

Frontline Solvers V12.5 User Guide Page 183

passengers from 1949 to 1960. Clearly, this dataset will contain some

seasonality as air traffic increases each year during the summer and holiday

season. A portion of the dataset is shown below.

First, the data must be partitioned. Click XLMiner – Partition in the Time

Series group. Select Month as the time variable and Passengers as the Variable

in the Partitioned Data. Select Specify #Records under both Specify

Partitioning Options and Specify #Records for Partitioning. Then enter 120 for

the number of records in the Training set. XLMiner will automatically enter the

remaining number of records for the Validation set. Finally, click OK.

Frontline Solvers V12.5 User Guide Page 184

The worksheet containing the partition, Data_PartitionTS1, is inserted

immediately after the Data worksheet. Select a cell on this worksheet, then click

XLMiner – ARIMA – Autocorrelations. Select Passengers as the Selected

Variable. Enter 40 for the ACF Parameters for Training Data Lags and 20 for

ACF Parameters for Validation Data Lags. Then click OK.

The output worksheet, ACF_Output1, is inserted immediately after the

Data_PartitionTS1 output.

Frontline Solvers V12.5 User Guide Page 185

Both plots clearly show a repetition in the pattern indicating that the data does

contain seasonality. Now let’s create the PACF chart.

Click back to the Data_PartitionTS1, then click XLMiner – ARIMA – Partial

Autocorrelations. Select Passengers as the Selected variable. Enter 40 for

PACF Parameters for Training Data Maximum Lag and 20 for PACF

Parameters for Validation Data Maximum Lag. Select Plot PACF chart, then

click OK.

The output worksheet, PACF_Output1, is inserted immediately after the

ACF_Output1 worksheet.

Frontline Solvers V12.5 User Guide Page 186

Both plots are similar and both show seasonality. As a result, it can be assumed

that the same model can be applied to both the Training and Validation sets.

Let’s try fitting an ARIMA model with the following parameters p = 1, d = 1

and q = 0 or (1, 1, 0)12. This means that we are applying a seasonal model with

period =12. Selection of the value of period depends on the nature of data. In

this case we can make a fair guess that the # passengers increases during the

holidays, or every 12 months.

Click back to the Data_PartitionTS1 worksheet, then click XLMiner – ARIMA

– ARIMA Model. Select Passengers for the Selected variable, select Fit

Seasonal Model, and enter 12 for Period. Under Nonseasonal Parameters,

enter 1 for Autoregressive (p), 1 for Difference (d), and 0 for Moving Average

(q). Under Seasonal Parameters, enter 1 for Autoregressive (P), 1 for

Difference (D), and 0 for Moving Average (Q). Then click Advanced.

Frontline Solvers V12.5 User Guide Page 187

Select Fitted Value and residuals, Variance-covariance matrix, Produce

forecasts, and Report Confidence Intervals for forecasts, then enter 95 for the

Confidence-level. Select OK on the ARIMA-Advanced dialog and OK on the

ARIMA dialog.

Frontline Solvers V12.5 User Guide Page 188

Two worksheets, ARIMA_Output1 and ARIMA_Residuals1, containing the

output are inserted immediately after PACF_Output1. Click the Output1

worksheet to display the following results.

The small p-values are our first indication that our model is a good fit to the

data.

Scroll down to the Forecast table. This table holds the actual and forecasted

values as predicted by the model. The "Lower" and "Upper" values represent the

95% confidence interval in which the forecasted values lie.

The time plot below graphs the values in the Forecast table above and indicates

how well the model performs. The actual and forecasted values are fairly close,

though not as close as in the earlier example. Still, this is a second indication

that this model fits well.

Frontline Solvers V12.5 User Guide Page 189

Click the graph and select Design – Select Data. Click Add, then enter Lower

for Series name and select cells G59:G82 for Series values.

Then click OK. Repeat the steps above using Upper as the Series name and cells

H59:H82 as the Series values. Click OK on the Edit Series dialog and OK

again on the Select Data Source dialog. The updated graph is shown below.

Frontline Solvers V12.5 User Guide Page 190

The plot shows that the Actual values lie well inside the band created by the

upper and lower values of the 95% percentile. In fact, the Actual and Forecasted

values appear in the center of the range in the majority of the graph. This is our

third indication that our model is a good fit.

Now open the worksheet ARIMA_Residuals1. This table plots the actual and

fitted values and the resulting residuals. As you can see in the graph below, the

Actual and Forecasted values match up fairly well. This is yet another

indication that our model is performing well.

Scrolling down, we find the ACF and PACF plots. In both plots, most of the

residuals are within the UCL and LCL range which indicates that the residuals

are random and not correlated which, once more, suggests a good fit.

To conclude, our ARIMA model of (1,1,0)(1,1,0)12 has been shown to

adequately fit the data.

Frontline Solvers V12.5 User Guide Page 191

Options for Exploring Time Series Datasets The options described below appear on one of the five Time Series dialogs.

The options below appear on the Time Series Partition Data dialog.

Time variable

Select a time variable from the available variables and click the > button. If a

Time Variable is not selected, XLMiner will assign one to the partitioned data.

Variables in the partitioned data

Select one or more variables from the Variables field by clicking on the

corresponding selection button.

Specify Partitioning Options

Select Specify Percentages to specify the percentage of the total number of

records desired in the Validation and Training sets. Select Specify # Records to

enter the desired number of records in the Validation and Training sets.

Specify Percentages for Partitioning

Select Automatic to have XLMiner automatically use 60% of the records in the

Training set and 40% of the records in the Validation set. Select Specify #

Records under Specify Partitioning Options, to manually select the number of

Frontline Solvers V12.5 User Guide Page 192

records to include in the Validation and Training sets. If Specify Percentages is

selected under Specify Partitioning Options, then select Specify Percentages to

specify the percentage of the total number of records to be included in the

Validation and Training sets.

The options below appear on the Autocorrelations (ACF) dialog.

Selected Variable

Select a variable under Variables in input data.

Lags

Specify the number of desired lags here. XLMiner will display the ACF output

for all lags between 0 and the specified number.

Plot ACF chart

If this option is selected, ACF plots the autocorrelations for the selected

variable.

The options below appear on the Partial Autocorrelations (PACF) dialog.

Frontline Solvers V12.5 User Guide Page 193

Variables in the input data

Select one or more variables from the Variables field by clicking on the

corresponding selection button.

Selected variable

The selected variable appears here.

PACF Parameters for Training Data

Enter the minimum and maximum lags for the Training Data here.

PACF Parameters for Validation Data

Enter the minimum and maximum lags for the Validation Data here.

Frontline Solvers V12.5 User Guide Page 194

The options below appear on the Time Series – ARIMA dialog.

Time Variable

Select the desired Time Variable by clicking the > button.

Do not fit constant term

Select this option to remove the constant term from the series.

Fit seasonal model

Select this option to specify a seasonal model. The seasonal parameters are

enabled when this option is selected.

Period

Seasonality in a dataset appears as patterns at specific periods in the time series.

Enter 12 if the seasonality only appears once in a year. Enter 6 if the seasonality

appears twice in one year.

Nonseasonal Parameters

Enter the nonseasonal parameters here for Autoregressive (p), Difference (d),

and Moving Average (q).

Frontline Solvers V12.5 User Guide Page 195

Seasonal Parameters

Enter the Seasonal parameters here for Autoregressive (p), Difference (d), and

Moving Average (q).

The options below appear on the ARIMA – Advanced dialog.

Maximum number of iterations

Enter the maximum number of iterations here.

Fitted Values and residuals

XLMiner will include the fitted values and residuals in the output if this option

is selected.

Variance-covariance matrix XLMiner will include the variance-covariance matrix in the output if this option

is selected.

Produce forecasts If this option is selected, XLMiner will display the desired number of forecasts.

If the data has been partitioned, XLMiner will display the forecasts on the

validation data.

Report confidence intervals for forecasts If this option is selected, enter the desired confidence level here. (The default

level is 95%.) The Lower and Upper values of the computed confidence levels

will be included in the output. The forecasted value will be guaranteed to fall

within this range for the specified confidence level.

Frontline Solvers V12.5 User Guide Page 196

Smoothing Techniques

Introduction Data collected over time is likely to show some form of random variation.

"Smoothing techniques" can be used to reduce or cancel the effect of these

variations. These techniques, when properly applied, will “smooth” out the

random variation in the time series data to reveal any underlying trends that may

exist.

XLMiner features four different smoothing techniques: Exponential, Moving

Average, Double Exponential, and Holt Winters. The first two techniques,

Exponential and Moving Average, are relatively simple smoothing techniques

and should not be performed on datasets involving seasonality. The last two

techniques are more advanced techniques which can be used on datasets

involving seasonality.

Exponential smoothing Exponential smoothing is one of the more popular smoothing techniques due to

its flexibility, ease in calculation and good performance. As in Moving Average

Smoothing, a simple average calculation is used. Exponential Smoothing,

however, assigns exponentially decreasing weights starting with the most recent

observations. In other words, new observations are given relatively more weight

in the average calculation than older observations.

In this smoothing technique, a calculated Si stands for a smoothed observation

for the original observation, xi. The subscripts refer to the time periods, 1, 2, ...,

n. For the third period, S3 = a x3 + (1-a) S2; and so on. The smoothed series starts

with the smoothed version of the second observation, S2.

For any time period t, the smoothed value St is found by computing

St = a xt + (1-a) St-1 0< a <= 1 ; t >= 3

where a is the smoothing constant. The value of this constant determines the

weights assigned to the observations. This formula can be rewritten as

Ft = Ft-1+aEt-1

where F is the forecast and E is the distance from the forecast to the actual

observed value or the residual. Since the previous forecast and the previous

forecasts’ residual is included in the current period’s forecast, if the previous

period’s forecast was too high, the current period’s forecast will be adjusted

downward. Vice versa, if the previous period’s forecast was too low, the current

period’s forecast will be adjusted upward. The smoothing parameter, a,

determines the magnitude of the adjustment.

As with Moving Average Smoothing, Exponential Smoothing should only be

used when the dataset contains no seasonality. The forecast will be a constant

value which is the smoothed value of the last observation.

Frontline Solvers V12.5 User Guide Page 197

Moving Average Smoothing In this simple technique each observation is assigned an equal weight.

Additional observations are forecasted by using the average of the previous

observations. If we have the time series X1, X2, X3, ....., Xt, then this technique

will predict Xt+k as follows :

St = Average (xt-k+1, xt-k+2, ....., xt), t= k, k+1, k+2, ...N

where k is the smoothing parameter. XLMiner allows a parameter value between

2 and t-1 where t is the number of observations in the dataset. Care should be

taken when choosing this parameter as a large parameter value will oversmooth

the data while a small parameter value will undersmooth the data. Using the

past three observations are enough to predict the next observations. As with

Exponential Smoothing, this technique should not be applied when seasonality

is present in the dataset.

Double exponential smoothing Double exponential smoothing can be defined as “Exponential smoothing of

Exponential smoothing”. As stated above, Exponential smoothing should not be

used when the data includes seasonality. However, Double Exponential

smoothing introduces a 2nd

equation which includes a trend parameter.

Therefore, this technique can and should be used when a trend is inherent in the

dataset, but not used when seasonality is present. Double exponential

smoothing is defined in the following manner:

St = At + Bt , t = 1,2,3,..., N

Where, At = aXt + (1- a) St-1 0< a <= 1

Bt = b (At - At-1) + (1 - b ) Bt-1 0< b <= 1

The forecast equation is: Xt+k = At + K Bt , K = 1, 2, 3, ...

where a denotes the Alpha parameter and b denotes the Trend parameters.

XLMiner allows these two parameters to be entered manually. In addition,

XLMiner includes an optimize feature which will chose the best values for

Alpha and Trend based on the Forecasting Mean Squared Error. If the trend

parameter is 0, then this technique is equal to the Exponential Smoothing

technique.

Holt Winters' smoothing What happens if the data exhibits trends as well as seasonality? We now

introduce a third parameter, g to account for seasonality (sometimes called

periodicity) in a dataset. The resulting set of equations is called the Holt-Winters

method after the names of the inventors. The Holt Winters method can be used

on datasets involving trend and seasonality (a, b , g). Values for all three

parameters can range between 0 and 1.

There are three models associated with this method:

Multiplicative: Xt = (A+ Bt)* St +et A and B are previously calculated initial

estimates. St is the average seasonal factor for the tth

season.

Additive: Xt = (A+ Bt) +SNt + et

No Trend: b = 0, so, Xt = A * SNt +et

Holt Winters' smoothing is similar to exponential smoothing if b and g = 0 and

is similar to double exponential smoothing if g = 0.

Frontline Solvers V12.5 User Guide Page 198

Exponential Smoothing Example This example illustrates how to use XLMiner’s Exponential Smoothing

technique to uncover trends in a time series. Click Help – Examples on the

XLMiner ribbon and open the example dataset, Airpass.xlsx. This dataset

contains the monthly totals of international airline passengers from 1949 - 1960.

After the example dataset opens, click a cell in the dataset, say cell A2, then

click Partition in the Time Series group on the XLMiner ribbon to open the

Time Series Partition Data dialog, as shown below.

Select Month as the Time Variable and Passengers as the Variables in the

partitioned data. Then click OK to partition the data into training and

validation sets.

Click the Data_PartitionTS1 worksheet, then click Smoothing – Exponential to

open the Exponential Smoothing dialog, as shown below.

Frontline Solvers V12.5 User Guide Page 199

Month has already been selected as the Time Variable. Select Passengers as

the Selected variable and also Give Forecast on validation.

Frontline Solvers V12.5 User Guide Page 200

Click OK to apply the smoothing technique. The worksheet

ExponentialOutput1 will be inserted immediately after the Data_PartitionTS1

worksheet.

The output on this worksheet shows that the moving average smoothing

technique does not result in a good fit as the model does not effectively capture

the seasonality in the dataset. As a result, the summer months where the number

of airline passengers are typically high appear to be under forecasted (i.e. too

low) and the forecasts for months with low passenger numbers are too high.

Consequently, an exponential smoothing forecast should never be used when the

dataset includes seasonality. An alternative would be perform a regression on

the model and then apply this technique to the residuals.

Frontline Solvers V12.5 User Guide Page 201

Now let’s take a look at an example that does not include seasonality. Open the

Income.xlsx example dataset. This dataset contains the average income of tax

payers by state. First partition the dataset into training and validation sets using

Year as the Time Variable and CA as the Variables in the partitioned data.

Then click OK to accept the partitioning defaults and create the two sets

(Training and Validation). The worksheet, Data_PartitionTS, will be inserted

immediately following the Description worksheet.

Click the Data_PartitionTS1 worksheet, then click Smoothing – Exponential

from the XLMiner ribbon to open the Exponential Smoothing dialog.

Frontline Solvers V12.5 User Guide Page 202

Select Year as the Time Variable and CA as the Selected variable.

The smoothing parameter (Alpha) determines the magnitude of weights assigned

to the observations. For example, a value close to 1 would result in the most

recent observations being assigned the largest weights and the earliest

observations being assigned the smallest weights. A value close to 0 would

result in the earliest observations being assigned the largest weights and the

latest observations being assigned the smallest weights. As a result, the value of

Alpha depends on how much influence the most recent observations should have

on the model.

XLMiner includes the Optimize feature that will choose the Alpha parameter

value that results in the minimum residual mean squared error. It is

recommended that this feature be used carefully as it can often lead to a model

that is overfitted to the training set. An overfit model rarely exhibits high

predictive accuracy in the validation set.

If we click OK to accept the default Alpha value of 0.2, the worksheet

ExponentialOutput1 will be inserted immediately after the Data_PartitionTS1

worksheet. The plot shows a fitted model with a MSE of 264,349.93 for the

Training set and a MSE of 215,569,436 for the Validation set.

Frontline Solvers V12.5 User Guide Page 203

If we instead select Optimize, then click OK, XLMiner will choose an Alpha of

1 which results in a MSE of 22,548.69 for the Training Set and a MSE of

193,113,481 for the Validation Set. Using the Optimize algorithm results in a

better model in this instance.

Frontline Solvers V12.5 User Guide Page 204

Moving Average Smoothing Example This example illustrates how to use XLMiner’s Moving Average Smoothing

technique to uncover trends in a time series. Click Help – Examples on the

XLMiner ribbon and open the example dataset, Airpass.xlsx. This dataset

contains the monthly totals of international airline passengers from 1949 - 1960.

After the example dataset opens, click a cell in the dataset, say cell A2, then

click Partition in the Time Series group on the XLMiner ribbon to open the

Time Series Partition Data dialog, as shown below.

Select Month as the Time Variable and Passengers as the Variables in the

partitioned data. Then click OK to partition the data into training and

validation sets.

Click the Data_PartitionTS1 worksheet, then click Smoothing – Moving

Average to open the Moving Average Smoothing dialog, as shown below.

Frontline Solvers V12.5 User Guide Page 205

Click the down arrow next to Worksheet in the Data source section at the top of

the dialog and select Data_PartitionTS1. Month has already been selected as

the Time Variable. Select Passengers as the Selected variable. Since this

dataset is expected to include some seasonality (i.e. airline passenger numbers

increase during the holidays and summer months), the value for the Interval

parameter should be the length of one seasonal cycle, i.e. 12 months. As a

result, enter 12 for Interval.

Partitioning the data is optional. If you choose to not partition before running

the smoothing technique, then you will be given the option to specify the

number of desired forecasts on the Moving Average Smoothing dialog.

Frontline Solvers V12.5 User Guide Page 206

Afterwards, click OK to apply the smoothing technique to this dataset.

The worksheet, MASmoothingOutput1, will be inserted immediately after the

Data_PartitionTS1 worksheet. The output on this worksheet shows that the

moving average smoothing technique does not result in a good fit as the model

does not effectively capture the seasonality in the dataset. As a result, the

summer months where the number of airline passengers are typically high,

appear to be under forecasted. In addition, in the months where the number of

airline passengers are low, the model results in a forecast that is too high. As

you can see, a moving average forecast should never be used when the dataset

includes seasonality. An alternative would be perform a regression on the

model and then apply this technique to the residuals.

Frontline Solvers V12.5 User Guide Page 207

Now let’s take a look at an example that does not include seasonality. Open the

Income.xlsx example dataset. This dataset contains the average income of tax

payers by state. First partition the dataset into training and validation sets using

Year as the Time Variable and CA as the Variables in the partitioned data.

Then click OK to accept the partitioning defaults and create the two sets

(Training and Validation). The worksheet, Data_PartitionTS1 will be inserted

immediately following the Description worksheet.

Click the Data_PartitionTS1 worksheet, then click Smoothing – Moving

Average from the XLMiner ribbon to open the Moving Average Smoothing

dialog. Select Year as the Time Variable and CA as the Selected variable.

Frontline Solvers V12.5 User Guide Page 208

Click OK to run the Moving Average Smoothing technique. The worksheet

MASmoothingOutput1 will be inserted immediately after the

Data_PartitionTS1 worksheet. The results of the Moving Average Smoothing

technique on this dataset indicate a much better fit.

Double Exponential Smoothing Example This example illustrates how to use XLMiner’s Double Exponential Smoothing

technique to uncover trends in a time series that contains seasonality. Click

Help – Examples on the XLMiner ribbon and open the example dataset,

Frontline Solvers V12.5 User Guide Page 209

Airpass.xlsx. This dataset contains the monthly totals of international airline

passengers from 1949 - 1960. After the example dataset opens, click a cell in

the dataset, say cell A2, then click Partition in the Time Series group on the

XLMiner ribbon to open the Time Series Partition Data dialog, as shown below.

Select Month as the Time Variable and Passengers as the Variables in the

partitioned data. Then click OK to partition the data into training and

validation sets. The Data_PartitionTS1 worksheet will be inserted immediately

after the Data worksheet.

Click the Data_PartitionTS1 worksheet, then click Smoothing – Double

Exponential to open the Double Exponential Smoothing dialog, as shown

below.

Frontline Solvers V12.5 User Guide Page 210

Month is already selected as the Time Variable, select Passengers as the

Selected variable, then check Give Forecast on validation to test the forecast

on the validation set.

This example uses the defaults for both the Alpha and Trend parameters.

However, XLMiner includes a feature that will choose the Alpha and Trend

parameter values that result in the minimum residual mean squared error. It is

recommended that this feature be used carefully as this feature most often leads

to a model that is overfitted to the training set. An overfitt model rarely exhibits

high predictive accuracy in the validation set.

Frontline Solvers V12.5 User Guide Page 211

Click OK to run the Double Exponential Smoothing algorithm. The worksheet,

DoubleExponentialOutput1, will be inserted immediately after the

Data_PartitionTS1 worksheet.

Click on the ExponentialOutput1 tab to view the results of the smoothing. As

you can see, this smoothing technique results in an improved model with an

MSE of 877.8575 for the Training Set and an MSE of 8,043.03 for the

Validation Set.

Frontline Solvers V12.5 User Guide Page 212

If instead, the Optimize feature is used, an Alpha of 1 is chosen along with a

Trend of 0. These parameters result in a MSE of 438.39 for the Training set and

a MSE of 7670.83 for the Validation Set. Again the model created with the

parameters from the Optimize algorithm resulted in a model with a better fit

than a model created with the default parameters.

Frontline Solvers V12.5 User Guide Page 213

Holt Winters Smoothing Example This example illustrates how to use XLMiner’s Holt Winters Smoothing

technique to uncover trends in a time series that contains seasonality. Click

Help – Examples on the XLMiner ribbon and open the example dataset,

Airpass.xlsx. This dataset contains the monthly totals of international airline

passengers from 1949 - 1960. After the example dataset opens, click a cell in

the dataset, say cell A2, then click Partition in the Time Series group on the

XLMiner ribbon to open the Time Series Partition Data dialog, as shown below.

Select Month as the Time Variable and Passengers as the Variables in the

partitioned data. Then click OK to partition the data into training and

Frontline Solvers V12.5 User Guide Page 214

validation sets. The Data_PartitionTS1 worksheet will be inserted immediately

after the Data worksheet.

Click the Data_PartitionTS1 worksheet, then click Smoothing – Holt Winters.

Three additional menu items will appear, Multiplicative, Additive, and No

Trend. This example will create three different forecasts, one for each Holt

Winters model type, beginning with Multiplicative. Select Multiplicative to

open the Holt Winters’ Smoothing (Multiplicative Model) dialog, as shown

below.

Month has already been selected for the Time Variable. Select Passengers as

the Selected variable. Since the seasonality in this dataset appears every 12

months, enter 12 for Period, # Complete seasons is automatically entered with

the number 7. This example will use the defaults for the three parameters:

Alpha, Beta, and Gamma.

Values between 0 and 1 can be entered for each parameter. As with Exponential

Smoothing, values close to 1 will result in the most recent observations being

weighted more than earlier observations.

In the Multiplicative model, it is assumed that the values for the different

seasons differ by percentage amounts.

Frontline Solvers V12.5 User Guide Page 215

Select Give Forecast on validation and click OK.

The worksheet HoltWinterOutput1 is inserted immediately after the

Data_PartitionTS1 worksheet and includes the following results.

Frontline Solvers V12.5 User Guide Page 216

Now let’s create a new model using the Additive model. This technique

assumes the values for the different seasons differ by a constant amount. Click

back to the Data_PartitionTS1 tab and then click Smoothing – Holt Winters –

Additive to open the Holt Winters’ Smoothing (Additive Model) dialog.

Month has already been selected for the Time Variable, select Passengers for

Selected variable. Again, enter 12 for Period and select Give Forecast on

validation.

Frontline Solvers V12.5 User Guide Page 217

Click OK to run the smoothing technique. The worksheet HoltWinterOutput2

will be inserted at the end of the workbook. This tab contains the following

results.

Although the MSE for the Training Data is larger (718.24 vs 84.59) when

compared to the Multiplicative model, the MSE for the Validation set is

significantly smaller (3247.39 vs 25,280.27).

Frontline Solvers V12.5 User Guide Page 218

The last Holt Winters’ model should be used with time series that contain

seasonality, but no trends. Click back to the Data_PartitionTS1 worksheet and

click Smoothing – Holt Winters – No Trend to open the Holt Winters’

Smoothing (No trend Model) dialog.

Month has already been selected as the Time Variable, select Passengers as the

Selected variable. Enter 12 for Period and select Give Forecast on validation.

Notice that the trend parameter is missing. Values for Alpha and Gamma can

Frontline Solvers V12.5 User Guide Page 219

range from 0 to 1. A value of 1 for each parameter will assign higher weights to

the most recent observations and lower weights to the earliers observations.

This example will accept the default values.

Click OK to run the smoothing technique. The worksheet HoltWinterOutput3

will be inserted at the end of the workbook. Click this tab to view the results.

Frontline Solvers V12.5 User Guide Page 220

Taking into account all three methods, the best MSE for the validation set is

from the Additive model (3,247.49).

Common Smoothing Options

Common Options

The following options are common to each of the Smoothing techniques.

First row contains headers

When this option is selected, variables will be listed in the Variables in input

data list box according to the first row in the dataset. If this option is not

checked, variables will appear as VarX where X = 1,2,3,4, etc.

Variables in input data

All variables in the dataset will be listed here.

Time Variable

Select a variable associated with time from the Variables in input data list box.

Frontline Solvers V12.5 User Guide Page 221

Selected Variable

Select a variable to apply the smoothing technique.

Output Options

If applying this smoothing technique to raw data, rather than partitioned data,

the Output Options will contain two options, Give Forecast and #forecasts.

Give Forecast

If this option is selected, XLMiner will include a forecast on the output results.

#Forecasts

If Give Forecast is selected, enter the desired number of forecasts here.

Give Forecast on validation

If applying this smoothing technique to partitioned data, only this option will

appear. If this option is selected, XLMiner will test the model on the validation

set.

Exponential Smoothing Options This section explains the options included in the Weights section on the

Exponential Smoothing dialog.

Frontline Solvers V12.5 User Guide Page 222

Optimize Select this option if you want XLMiner to select the Alpha Level that minimizes

the residual mean squared errors in the training and validation sets. Take care

when using this feature as this option can result in an over fitted model. This

option is not selected by default.

Level (Alpha)

Enter the smoothing parameter here. This parameter is used in the weighted

average calculation and can be from 0 to 1. A value of 1 or close to 1 will result

in the most recent observations being assigned the largest weights and the

earliest observations being assigned the smallest weights. A value of 0 or close

to 0 will result in the most recent observations being assigned the smallest

weights and the earliest observations being assigned the largest weights. The

default value is 0.2.

Moving Average Smoothing Options The section describes the options included in the Weights section of the Moving

Average Smoothing dialog.

Interval

Enter the window width of the moving average here. This parameter accepts a

value of 2 up to N -1(where N is the number of observations in the dataset). If a

value of 5 is entered for the Interval, then XLMiner will use the average of the

last five observations for the last smoothed point or Ft = (Yt + Yt-1 + Yt-2 + Yt – 3 +

Yt-4) / 5. The default value is 2.

Frontline Solvers V12.5 User Guide Page 223

Double Exponential Smoothing Options This section describes the options appearing in the Weights section on the

Double Exponential Smoothing dialog.

Optimize Select this option if you want XLMiner to select the Alpha and Beta values that

minimize the residual mean squared errors in the training and validation sets.

Take care when using this feature as this option can result in an over fitted

model. This option is not selected by default.

Level (Alpha)

Enter the smoothing parameter here. This parameter is used in the weighted

average calculation and can be from 0 to 1. A value of 1 or close to 1 will result

in the most recent observations being assigned the largest weights and the

earliest observations being assigned the smallest weights in the weighted

average calculation. A value of 0 or close to 0 will result in the most recent

observations being assigned the smallest weights and the earliest observations

being assigned the largest weights in the weighted average calculation. The

default is 0.2.

Trend (Beta)

The Double Exponential Smoothing technique includes an additional parameter,

Beta, to contend with trends in the data. This parameter is also used in the

weighted average calculation and can be from 0 to 1. A value of 1 or close to 1

will result in the most recent observations being assigned the largest weights and

the earliest observations being assigned the smallest weights in the weighted

average calculation. A value of 0 or close to 0 will result in the most recent

observations being assigned the smallest weights and the earliest observations

being assigned the largest weights in the weighted average calculation. The

default is 0.15.

Holt Winter Smoothing Options The options in this section appear in the Parameters and Weights section of the

Holt Winters Smoothing dialogs.

Frontline Solvers V12.5 User Guide Page 224

Parameters

Enter the number of periods that make up one season. The value for # Complete

seasons will be automatically filled.

Level (Alpha)

Enter the smoothing parameter here. This parameter is used in the weighted

average calculation and can be from 0 to 1. A value of 1 or close to 1 will result

in the most recent observations being assigned the largest weights and the

earliest observations being assigned the smallest weights in the weighted

average calculation. A value of 0 or close to 0 will result in the most recent

observations being assigned the smallest weights and the earliest observations

being assigned the largest weights in the weighted average calculation. The

default is 0.2.

Trend (Beta)

The Holt Winters Smoothing also utilizes the Trend parameter, Beta, to contend

with trends in the data. This parameter is also used in the weighted average

calculation and can be from 0 to 1. A value of 1 or close to 1 will result in the

most recent observations being assigned the largest weights and the earliest

observations being assigned the smallest weights in the weighted average

calculation. A value of 0 or close to 0 will result in the most recent observations

being assigned the smallest weights and the earliest observations being assigned

the largest weights in the weighted average calculation. The default is 0.15.

This option is not included on the No Trend Model dialog.

Seasonal (Gamma)

The Holt Winters Smoothing technique utilizes an additional seasonal

parameter, Gamma, to manage the presence of seasonality in the data. This

parameter is also used in the weighted average calculation and can be from 0 to

1. A value of 1 or close to 1 will result in the most recent observations being

assigned the largest weights and the earliest observations being assigned the

smallest weights in the weighted average calculation. A value of 0 or close to 0

will result in the most recent observations being assigned the smallest weights

and the earliest observations being assigned the largest weights in the weighted

average calculation. The default is 0.05.

Give Forecast

XLMiner will generate a forecast if this option is selected.

Frontline Solvers V12.5 User Guide Page 225

Update Estimate Each Time

Select this option to create an updated forecast each time that a forecast is

generated.

#Forecasts

Enter the desired number of forecasts here.

Frontline Solvers V12.5 User Guide Page 226

Data Mining Partitioning

Introduction One very important issue when fitting a model is how well the newly created

model will behave when applied to new data. To address this issue, the dataset

can be divided into multiple partitions: a training partition used to create the

model, a validation partition to test the performance of the model and, if desired,

a third test partition. Partitioning is performed randomly, to protect against a

biased partition, according to proportions specified by the user or according to

rules concerning the dataset type. For example, when creating a time series

forecast, data is partitioned by chronological order.

Training Set

The training dataset is used to train or build a model. For example, in a linear

regression, the training dataset is used to fit the linear regression model, i.e. to

compute the regression coefficients. In a neural network model, the training

dataset is used to obtain the network weights. After fitting the model on the

training dataset, the performance of the model should be tested on the validation

dataset.

Validation Set

Once a model is built using the training dataset, the performance of the model

must be validated using new data. If the training data itself was utilized to

compute the accuracy of the model fit, the result would be an overly optimistic

estimate of the accuracy of the model. This is because the training or model

fitting process ensures that the accuracy of the model for the training data is as

high as possible -- the model is specifically suited to the training data. To obtain

a more realistic estimate of how the model would perform with unseen data, we

must set aside a part of the original data and not include this set in the training

process. This dataset is known as the validation dataset.

To validate the performance of the model, XLMiner measures the discrepancy

between the actual observed values and the predicted value of the observation.

This discrepancy is known as the error in prediction and is used to measure the

overall accuracy of the model.

Test Set

The validation dataset is often used to fine-tune models. For example, you might

try out neural network models with various architectures and test the accuracy of

each on the validation dataset to choose the best performer among the competing

architectures. In such a case, when a model is finally chosen, its accuracy with

the validation dataset is still an optimistic estimate of how it would perform with

unseen data. This is because the final model has come out as the winner among

the competing models based on the fact that its accuracy with the validation

Frontline Solvers V12.5 User Guide Page 227

dataset is highest. As a result, it is a good idea to set aside yet another portion of

data which is used neither in training nor in validation. This set is known as the

test dataset. The accuracy of the model on the test data gives a realistic estimate

of the performance of the model on completely unseen data.

XLMiner provides two methods of partitioning: Standard Partitioning and

Partitioning with Oversampling. XLMiner provides two approaches to standard

partitioning: random partitioning and user-defined partitioning.

Random Partitioning

In simple random sampling, every observation in the main dataset has equal

probability of being selected for the partition dataset. For example, if you

specify 60% for the training dataset, then 60% of the total observations are

randomly selected for the training dataset. In other words, each observation has

a 60% chance of being selected.

Random partitioning uses the system clock as a default to initialize the random

number seed. Alternatively, the random seed can be manually set which will

result in the same observations being chosen for the training/validation/test sets

each time a standard partition is created.

User – defined Partitioning

In user-defined partitioning, the partition variable specified is used to partition

the dataset. This is useful when you have already predetermined the

observations to be used in the training, validation, and/or test sets. This partition

variable takes the value: "t" for training, "v" for validation and "s" for test. Rows

with any other values in the Partition Variable column are ignored. The partition

variable serves as a flag for writing each observation to the appropriate

partition(s).

Partition with Oversampling

This method of partitioning is used when the percentage of successes in the

output variable is very low, e.g. callers who “opt in” to a short survey at the end

of a customer service call. Typically, the number of successes, in this case, the

number of people who finish the survey, is very low so information connected

with these callers is minimal. As a result, it would be almost impossible to

formulate a model based on these callers. In these types of cases, we must use

Oversampling (also called weighted sampling). Oversampling can be used

when there are only two classes, one of much greater importance than the other,

i.e. callers who finish the survey as compared to callers who simply hang up.

XLMiner takes the following steps when partitioning with oversampling.

1. The data is partitioned by randomly allocating 50% of the success values

for the output variable to the training set. The output variable must be

limited to two classes which can either be numbers or strings.

2. XLMiner maintains the % success in training set specified by the user in

the training set by randomly selecting the required records with failures.

3. The remaining 50% of successes are randomly allocated to the validation

set.

4. If % validation data to be taken away as test data is selected, then

XLMiner will create an appropriate test set from the validation set.

Frontline Solvers V12.5 User Guide Page 228

Standard Partition Example The example in this section illustrates how to use XLMiner’s partition utility to

partition the example dataset, Wine.xlsx.

Click Help – Examples and open the Wine.xlsx example dataset. Select a cell

within this dataset, say cell A2, then click Partition – Standard Partition in the

Data Mining section of the XLMiner ribbon. The following dialog will open.

Highlight all variables in the Variables listbox, then click > to include them in

the partitioned data. Then click OK to accept the remainder of the default

settings. Sixty percent of the observations will be assigned to the Training set

and forty percent of the observations will be assigned to the Validation set.

The worksheet Data_Partition1 will be inserted immediately after the

Description workbook.

From the figure above, taken from the Data_Partition1 worksheet, 107

observations were assigned to the training set and 71 observations were assigned

to the validation set, or roughly 60% and 40% of the observations, respectively.

Frontline Solvers V12.5 User Guide Page 229

It is also possible for the user to specify which sets each observation should be

assigned. In column 0, enter a “t”, “v” or “s” for each record, as shown below.

Then click Partition – Standard Partition on the XLMiner ribbon to open the

Standard Partition dialog.

Select Use Partition Variable in the Partitioning options section, select

Partition Variable in the Variables listbox, then click > next to Use Partition

Variable. XLMiner will use the values in the Partition Variable column to

create the training, validation, and test sets. Records with a “t” in the O column

will be designated as training records. Records with a “v” in the O column will

be designated as validating records and records with a “c” in this column will be

designated as testing records. Now highlight all remaining variables in the

listbox and click > to include them in the partitioned data.

Click OK to create the partitions. The workbook Data_Partition2 will be

inserted at the end of the workbook. If you inspect the results, you will find that

all records assigned a “t” now belong to the training set, all records assigned a

Frontline Solvers V12.5 User Guide Page 230

“v” now belong to the validation set, and all records assigned an “s” now belong

to the test set.

Partition with Oversampling Example This example illustrates the use of partitioning with oversampling using

XLMiner. Click Help – Examples on the XLMiner ribbon to open the example

model, Catalog_multi.xlsx. This sample dataset contains information associated

with the response of a direct mail offer, published by DMEF, the Direct

Marketing Educational Foundation. The output variable is Target dependent

variable:buyer(yes=1). Since the success rate for the target variable (Target

dependent variable:buyer(yes=1)) is less than 1%, the data will be “trained”

with a 50% success rate using XLMiner’s oversampling utility.

Click any cell within the dataset, say cell A2, then click Partition – Partition

with Oversampling (in the Data Mining section of the XLMiner ribbon) to

open the dialog shown below.

It’s possible XLMiner may alert you with the following message at this point,

even though you have a professional license for XLMiner. If this message box

appears, simply click OK.

Frontline Solvers V12.5 User Guide Page 231

First confirm that Data Range at the top of the dialog is showing as

$A$1:$V$58206. If not, simply click in the Data Range field and type the

correct range.

Select all variables in the Variables list box then click > to move all variables to

the Variables in the partitioned data listbox. Afterwards, highlight Target

dependent variable: buyer(yes = 1) in the Variables in the partitioned data

listbox then click the > immediately to the left of Output variable to designate

this variable as the output variable. Reminder: this output variable is limited to

two classes, e.g. 0/1 or “yes”/”no”.

Enter 50 for the Specify % validation data to be taken away as test data.

Frontline Solvers V12.5 User Guide Page 232

Click OK to partition the data. The Data_Partition1 worksheet will be inserted

immediately after the Data worksheet.

The output variable (Target dependent variable: buyer (yes = 1)) contains 576

successes or 1’s. All of these records have been allocated to the Training set.

The percentage of success records in the original data set is 0.9896 or 576/58204

(number of successes / number of total rows in original dataset). 50% was

specified for both % Success in Training data and % Validation data taken away

as test in the Partition with Oversampling dialog. As a result, XLMiner has

randomly allocated 50% of the successes (the 1’s) to the training set and the

remaining 50% to the validation set. This means that there are 288 successes

in the training set and 288 successes in the validation set. To complete the

training set, XLMiner randomly selected 288 non successes (0’s). The training

set has 561 rows (288 1’s + 288 0’s).

The output above shows that the % Success in original data set is .9896.

XLMiner will maintain this percentage in the validation set as well by allocating

Frontline Solvers V12.5 User Guide Page 233

as many 0’s as needed. Since 288 successes (1’s) have already been allocated to

the validation set, 14,263 non successes (0’s) must be added to the validation set

to maintain the .98% ratio.

Since we specified 50% of validation data should be taken as test data, XLMiner

has allocated 50% of the validation records to the test set. Each set contains

14,551 rows.

Standard Partitioning Options The options below appear on the Standard Partitioning dialog, shown below.

Use partition variable

Select this option when assigning each record to a specific set using an added

variable in the dataset. Each observation should be assigned a “t”, “v” or “s” to

delineate “training”, “validation” or “test”, respectively.

Select this variable from the Variables in the partitioned data list box then click

>, to the right of the Use partition variable radio button, to add the appropriate

variable as the output variable.

Set Seed

Random partitioning uses the system clock as a default to initialize the random

number seed. By default this option is selected to specify a non-negative seed

for random number generation for the partitioning. Setting this option will result

Frontline Solvers V12.5 User Guide Page 234

in the same records being assigned to the same set on successive runs. The

default seed entry is 12345.

Pick up rows randomly

When this option is selected, XLMiner will randomly select observations to be

included in the training, validation, and test sets.

Automatic

If Pick up rows randomly is selected under Partitioning options, this option will

be enabled. Select this option to accept the defaults of 60% and 40% for the

percentages of records to be included in the training and validation sets. This is

the default selection.

Specify percentages

If Pick up rows randomly is selected under Partitioning options, this option will

be enabled. Select this option to manually enter percentages for training set,

validation set and test sets. Records will be randomly allocated to each set

according to these percentages.

Equal # records in training, validation and test set

If Pick up rows randomly is selected under Partitioning options, this option will

be enabled. If this option is selected, XLMiner will allocate 33.33% of the

records in the database to each set: training, validation, and test.

Partitioning with Oversampling Options The following options appear on the Partitioning with Oversampling dialog, as

shown below.

Frontline Solvers V12.5 User Guide Page 235

Set seed

Random partitioning uses the system clock as a default to initialize the random

number seed. By default this option is selected to specify a non-negative seed

for random number generation for the partition. Setting this option will result in

the same records being assigned to the same set on successive runs. The default

seed entry is 12345.

Output variable

Select the output variable from the variables listed in the Variables in the

partitioned data listbox.

#Classes

After the output variable is chosen, the number of classes (distinct values) for

the output variable will be displayed here. XLMiner supports a class size of 2.

Specify Success class

After the output variable is chosen, you can select the success value for the

output variable here (i.e. 0 or 1 or “yes” or “no”).

Frontline Solvers V12.5 User Guide Page 236

% of success in data set

After the output variable is selected, the percentage of the number of successes

in the dataset is listed here.

Specify % success in training set

Enter the percentage of successes to be assigned to the training set here. The

default is 50%. With this setting, 50% of the successes will be assigned to the

training set and 50% will be assigned to the validation set.

Specify % validation data to be taken away as test data

If a test set is desired, specify the percentage of the validation set that should be

allocated to the test set here.

Frontline Solvers V12.5 User Guide Page 237

Discriminant Analysis Classification Method

Introduction Discriminant analysis is a technique for classifying a set of observations into

predefined classes in order to determine the class of an observation based on a

set of variables. These variables are known as predictors or input variables. The

model is built based on a set of observations for which the classes are known.

This set of observations is sometimes referred to as the training set. Based on

the training set, the technique constructs a set of linear functions of the

predictors, known as discriminant functions, such that L = b1x1 + b2x2 + … +

bnxn + c, where the b's are discriminant coefficients, the x's are the input

variables or predictors and c is a constant.

These discriminant functions are used to predict the class of a new observation

with an unknown class. For a k class problem k discriminant functions are

constructed. Given a new observation, all the k discriminant functions are

evaluated and the observation is assigned to class i if the ith discriminant

function has the highest value.

Discriminant Analysis Example The example below illustrates how to use the Discriminant Analysis

classification algorithm. Click Help – Examples and open the example dataset

Boston_Housing.xlsx.

First, we’ll need to perform a standard partition, as explained in the previous

chapter, using percentages of 80% training and 20% validation. The

Data_Partition1 worksheet will be inserted at the end of the workbook.

Frontline Solvers V12.5 User Guide Page 238

Select a cell on the Data_Partition1 worksheet then click Classify –

Discriminant Analysis to open the Discriminant Analysis dialog as shown

below.

Select the CAT. MEDV variable in the Variables in input data listbox then

click > to select as the Output variable. Afterwards, select CRIM, ZN, INDUS,

NOX, RM, AGE, DIS, RAD, TAX, PTRATIO, & B in the Variables in input

data listbox then click > to move to the Input variables listbox. (CHAS,

LSTAT, & MEDV should remain in the Variables in input data listbox as shown

below.)

Frontline Solvers V12.5 User Guide Page 239

Click Next to advance to the 2nd

Discriminant Analysis dialog.

Three options appear in the Prior class probabilities group: According to

relative occurrences in training data, Use equal prior probabilities, and User

specified prior probabilities.

If the first option is selected, According to relative occurrences in training data,

XLMiner will calculate according to the relative occurrences, the discriminant

analysis procedure will incorporate prior assumptions about how frequently the

different classes occur. XLMiner will assume that the probability of

encountering a particular class in the large data set is the same as the frequency

with which it occurs in the training data.

Frontline Solvers V12.5 User Guide Page 240

If the second option is selected, Use equal prior probabilities, XLMiner will

assume that all classes occur with equal probability.

The third option, User specified prior probabilities, is only available when the

output variable handles two classes. Select this option to manually enter the

desired class and probability value.

We will select this option, then enter 1 for Class and enter 0.7 for Probability.

XLMiner gives the option of specifying the cost of misclassification when there

are two classes; where the success class is judged as failure and the nonsuccess

as a success. XLMiner takes into consideration the relative costs of

misclassification, and attempts to fit a model that minimizes the total cost.

Leave these options at their defaults of 1. Click OK to advance to the 3rd

Discriminant Analysis dialog.

Frontline Solvers V12.5 User Guide Page 241

Select Canonical variate loadings. When this option is selected, XLMiner

produces the canonical variates for the data based on an orthogonal

representation of the original variates. This has the effect of choosing a

representation which maximizes the distance between the different groups. For a

k class problem there are k-1 Canonical variates. Typically, only a subset of the

canonical variates is sufficient to discriminate between the classes. For this

example, we have two canonical variates which means that if we replace the

four original predictors by just two predictors, X1 and X2, (which are actually

linear combinations of the four original predictors) the discrimination based on

these two predictors will perform just as well as the discrimination based on the

original predictors.

Check all four options for Score Training/Validation data.

When Detailed report is selected, XLMiner will create a detailed report of the

Discriminant Analysis output.

When Summary report is selected, XLMiner will create a report summarizing

the Discriminant Analysis output.

The values of the variables X1 and X2 for the ith

observation are known as the

canonical scores for that observation. In this example, the pair of canonical

scores for each observation represents the observation in a two dimensional

space. The purpose of the canonical score is to separate the classes as much as

possible. Thus, when the observations are plotted with the canonical scores as

the coordinates, the observations belonging to the same class are grouped

together. When this option is selected, XLMiner reports the scores of the first

few observations.

See the Scoring chapter for more information on the options located in the Score

Test Data and Score New Data groups.

Frontline Solvers V12.5 User Guide Page 242

Click Finish to view the output. The output worksheets will be inserted at the

end of the workbook. The first output worksheet, DA_Output1, contains the

Output Navigator which can be used to navigate to various sections of the

output.

Click the Train.Score – Detailed Rep. link to view the Classification of

training data on the DA_TrainScore1 worksheet. This section of the output

shows how each training data observation was classified. (Alternatively, the

Classification of validation data on the DA_ValidScore1 worksheet displays

how each validation data observation was classified.) The probability values for

success in each record are shown after the predicted class and actual class

columns.

Frontline Solvers V12.5 User Guide Page 243

Click the Class Funs link to view the Classification Function table. In this

example, there are 2 functions -- one for each class. Each variable is assigned to

the class that contains the higher value.

Click the Canonical Variate Loadings link to navigate to the Canonical

Variate Loadings section.

Canonical Variate Loadings are a second set of functions that give a

representation of the data that maximizes the separation between the classes.

The number of functions is one less than the number of classes (so in this case

there is one function). If we were to plot the cases in this example on a line

where xi is the ith case's value for variate1, you would see a clear separation of

the data. This output is useful in illustrating the inner workings of the

discriminant analysis procedure, but is not typically needed by the end-user

analyst.

Frontline Solvers V12.5 User Guide Page 244

Click the Training Lift Charts link to navigate to the Training Data Lift Charts.

In a Lift Chart, the x axis is the cumulative number of cases and the y axis is the

cumulative number of true positives. The red line originating from the origin

and connecting to the point (400, 65) is a reference line that represents the

expected number of CAT MEDV predictions if XLMiner simply selected

random cases – i.e. no model was used. This reference line provides a yardstick

against which the user can compare the model performance. From the Lift Chart

below we can infer that if we assigned 200 cases to class 1, 62 1’s would be

included. If 200 cases were selected at random, we could expect 33 1’s (200 *

65/400 = 32.5).

Click the Training Canonical Scores link to navigate to the DA_TrainCanSco1

worksheet. Canonical Scores are the values of each case for the function. Again,

these are intermediate values useful for illustration but not required by the end-

user analyst.

Frontline Solvers V12.5 User Guide Page 245

For information on Stored Model Sheets, in this example DA_Stored_1, please

refer to the Scoring chapter.

Discriminant Analysis Options The options below appear on the Discriminant Analysis dialogs.

Frontline Solvers V12.5 User Guide Page 246

Variables in input data

The variables present in the dataset are listed here.

Input variables

The variables to be included in the Discriminant Analysis algorithm are listed

here.

Weight Variables

This option is not used for Discriminant Analysis.

Output variable

The selected output variable is displayed here. XLMiner supports a maximum

of 30 classes in the output variable.

#Classes

This value is the number of classes in the output variable.

Specify “Success” class (for Lift Chart)

This option is selected by default. Select the class to be considered a “success”

or the significant class in the Lift Chart. This option is enabled when the

number of classes in the output variable is equal to 2.

Specify initial cutoff probability value for success

Enter a value between 0 and 1 here to denote the cutoff probability for success.

If the calculated probability for success for an observation is greater than or

equal to this value, than a “success” (or a 1) will be predicted for that

observation. If the calculated probability for success for an observation is less

than this value, then a “non-success” (or a 0) will be predicted for that

observation. The default value is 0.5. This option is only enabled when the # of

classes is equal to 2.

Frontline Solvers V12.5 User Guide Page 247

According to relative occurrences in training data

If this option is selected, XLMiner will calculate according to the relative

occurrences, the discriminant analysis procedure will incorporate prior

assumptions about how frequently the different classes occur. XLMiner will

assume that the probability of encountering a particular class in the large data set

is the same as the frequency with which it occurs in the training data.

Use equal prior probabilities

If this option is selected, XLMiner will assume that all classes occur with equal

probability.

User specified prior probabilities

This option is only available when the output variable handles two classes.

Select this option to manually enter the desired class and probability value.

Misclassification Costs of

XLMiner allows the option of specifying the cost of misclassification when

there are two classes; where the success class is judged as a failure and the

nonsuccess as a success. XLMiner takes into consideration the relative costs of

misclassification, and attempts to fit a model that minimizes the total cost.

Frontline Solvers V12.5 User Guide Page 248

Canonical variate loadings

When this option is selected, XLMiner produces the canonical variates for the

data based on an orthogonal representation of the original variates. This has the

effect of choosing a representation which maximizes the distance between the

different groups. For a k class problem there are k-1 Canonical variates.

Typically, only a subset of the canonical variates is sufficient to discriminate

between the classes. For this example, we have two canonical variates which

means that if we replace the four original predictors by just two predictors, X1

and X2, (which are actually linear combinations of the four original predictors)

the discrimination based on these two predictors will perform just as well as the

discrimination based on the original predictors.

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Frontline Solvers V12.5 User Guide Page 249

Canonical Scores

The values of the variables X1 and X2 for the ith

observation are known as the

canonical scores for that observation. In this example, the pair of canonical

scores for each observation represents the observation in a two dimensional

space. The purpose of the canonical score is to separate the classes as much as

possible. Thus, when the observations are plotted with the canonical scores as

the coordinates, the observations belonging to the same class are grouped

together. When this option is selected for either the Training, Validation or Test

sets, XLMiner reports the scores of the first few observations.

See the Scoring chapter for more information on the options located in the Score

Test Data and Score New Data groups.

Frontline Solvers V12.5 User Guide Page 250

Logistic Regression

Introduction Logistic regression is a variation of ordinary regression which is used when the

dependent (response) variable is a dichotomous variable. A dichotomous

variable takes only two values, which typically represent the occurrence or non-

occurrence of some outcome event and are usually coded as 0 or 1 (success).

The independent (input) variables are continuous, categorical, or both. An

example of a categorical variable in a medical study would be a patient’s status

after five years - the patient can either survive (1) or die (0).

Unlike ordinary linear regression, logistic regression does not assume that the

relationship between the independent variables and the dependent variable is a

linear one. Nor does it assume that the dependent variable or the error terms are

distributed normally.

The form of the model is

where p is the probability that Y=1 and X1, X2,.. .,Xk are the independent

variables (predictors). b0 , b1, b2, .... bk are known as the regression coefficients,

which have to be estimated from the data. Logistic regression estimates the

probability of a certain event occurring.

Logistic regression thus forms a predictor variable (log (p/(1-p)) which is a

linear combination of the explanatory variables. The values of this predictor

variable are then transformed into probabilities by a logistic function. Such a

function has the shape of an S. On the horizontal axis we have the values of the

predictor variable, and on the vertical axis we have the probabilities.

Frontline Solvers V12.5 User Guide Page 251

Logistic regression also produces Odds Ratios (O.R.) associated with each

predictor value. The "odds" of an event is defined as the probability of the

outcome event occurring divided by the probability of the event not occurring.

In general, the "odds ratio" is one set of odds divided by another. The odds ratio

for a predictor is defined as the relative amount by which the odds of the

outcome increase (O.R. greater than 1.0) or decrease (O.R. less than 1.0) when

the value of the predictor variable is increased by 1.0 units. In other words,

(odds for PV+1)/(odds for PV) where PV is the value of the predictor variable.

Logistic Regression Example This example illustrates XLMiner’s Logistic Regression algorithm. Click Help

– Examples on the XLMiner ribbon and open the example file,

Charles_Bookclub.xlsx. This file contains information associated with

individuals who are members of a book club. This example develops a model

for predicting whether a person will purchase a book about the city of Florence

based on previous purchases.

First, we partition the data using a standard partition with percentages of 70%

training and 30% validation. (For more information on how to partition a

dataset, please see the previous Data Mining Partitioning chapter.)

Frontline Solvers V12.5 User Guide Page 252

Select a cell on the Data_Partition1 output worksheet, then click Classify –

Logistic Regression on the XLMiner ribbon. The Logistic Regression dialog

appears.

Frontline Solvers V12.5 User Guide Page 253

Since we are interested in predicting if a customer will purchase a book about

the city of Florence, we will choose Florence as our output variable. In the

dataset, if a customer purchased a book about the city of Florence, the variable

value equals 1. If a customer did not purchase a book about the city of Florence,

the value equals 0.

Select all remaining variables except Seq# and ID# as Input variables. These

two variables are unique identifiers and should not be included as neither have

any significance in the classification method.

Frontline Solvers V12.5 User Guide Page 254

Choose the value that will be the indicator of “Success” by clicking the down

arrow next to Specify “Success” class (necessary). In this example, we will use

the default of 1.

Enter a value between 0 and 1 for Specify the initial cutoff probability for

success. If the Probability of success (probability of the output variable = 1) is

less than this value, then a 0 will be entered for the class value, otherwise a 1

will be entered for the class value. In this example, we will keep the default of

0.5.

Click Next to advance to Step 2 of 3 of the Logistic Regression algorithm.

Selecting Set confidence level for odds alters the level of confidence for the

confidence levels displayed in the results for the odds ratio.

Selecting Force constant term to zero omits the constant term in the regression.

For this example, select Set confidence level for odds leaving the percentage at

95%.

Frontline Solvers V12.5 User Guide Page 255

Click Advanced… The following dialog opens.

Keep the default of 50 for the Maximum # iterations. Estimating the coefficients

in the Logistic Regression algorithm requires an iterative non-linear

maximization procedure. You can specify a maximum number of iterations to

prevent the program from getting lost in very lengthy iterative loops. This value

must be an integer greater than 0 or less than or equal to 100 (1< value <= 100).

Keep the default of 1 for the Initial marquardt overshoot factor. This overshoot

factor is used in the iterative non-linear maximization procedure. Reducing this

value speeds the operation by reducing the number of iterations required but

increases the chances that the maximization procedure will fail due to overshoot.

This value must be an integer greater than 0 or less than or equal to 50 (0 <

value <=50).

At times, variables can be highly correlated with one another which can result in

large standard errors for the affected coefficients. XLMiner will display

information useful in dealing with this problem if Perform Collinearity

diagnostics is selected. For this example, select Perform Collinearity

diagnostics and enter 2 for the Number of collinearity components. This option

can take on integer values from 2 to 15 (2 <= value <= 15).

Frontline Solvers V12.5 User Guide Page 256

Click OK to return to the Step 2 of 3 dialog, then click Best subset…

Select Perform best subset selection. Often a subset of variables (rather than

all of the variables) performs the best job of classification. Selecting Perform

best subset selection enables the Best Subset options.

Using the spinner controls, specify 15 for the Maximum size of best subset. It’s

possible that XLMiner could find a smaller subset of variables. This option can

take on values of 1 up to N where N is the number of input variables. The

default setting is 15.

Using the spinner controls, specify 15 for the Number of best subsets. XLMiner

can provide up to 20 different subsets. The default setting is 1.

XLMiner offers five different selection procedures for selecting the best subset

of variables.

Backward elimination in which variables are eliminated one at a time,

starting with the least significant.

Forward selection in which variables are added one at a time, starting

with the most significant.

Exhaustive search where searches of all combinations of variables are

performed to observe which combination has the best fit. (This option

can become quite time consuming depending on the number of input

variables.)

Frontline Solvers V12.5 User Guide Page 257

Sequential replacement in which variables are sequentially replaced

and replacements that improve performance are retained.

Stepwise selection is similar to Forward selection except that at each

stage, XLMiner considers dropping variables that are not statistically

significant. When this procedure is selected, the Stepwise selection

options FIN and FOUT are enabled. In the stepwise selection

procedure a statistic is calculated when variables are added or

eliminated. For a variable to come into the regression, the statistic’s

value must be greater than the value for FIN (default = 3.84). For a

variable to leave the regression, the statistic’s value must be less than

the value of FOUT (default = 2.71). The value for FIN must be greater

than the value for FOUT.

For this example, select Backward elimination.

Click OK to return to the Step 2 of 3 dialog. Click Next to advance to the Step 3

of 3 dialog.

Frontline Solvers V12.5 User Guide Page 258

Select Covariance matrix of coefficieints. When this option is selected,

XLMiner will display the coefficient covariance matrix in the output. Entries in

the matrix are the covariances between the indicated coefficients. The “on-

diagonal” values are the estimated variances of the corresponding coefficients.

Select Residuals. When this option is selected, XLMiner will produce a two-

column array of fitted values and their residuals in the output.

Select Detailed report under both Score training data and Score validation

data. XLMiner will create a detailed report, complete with an Output

Navigator, for ease in routing to specific areas in the output worksheets.

Select Summary report under both Score training data and Score validation

data. XLMiner will create a report that summarizes the regression output for

both datasets.

Select Lift charts under both Score training data and Score validation data.

XLMiner will create a lift chart for both datasets.

For information on scoring in a worksheet or database, please see the Scoring

chapter.

Frontline Solvers V12.5 User Guide Page 259

Click Finish. The logistic regression output worksheets are inserted at the end

of the workbook. Use the Output Navigator on the first output worksheet,

LR_Output 1.

A number of sections of output are available, including Classification of the

Training Data as shown below. Note that XLMiner has not, strictly speaking,

classified the data -- it has assigned a "predicted probability of success" to each

case. This is the predicted probability, based on the input (independent) variable

values for a case, that the output (dependent) variable for the case will be a "1".

Since the logistic regression procedure works not with the actual values of the

variable but with the logs of the odds ratios, this value is shown in the output

(the predicted probability of success is derived from it).

To classify each record as a "1" or a "0," we would simply assign a "1" to the

record if the predicted probability of success exceeds a certain value. In this

example the initial cutoff probability was set to 0.5 on the first Logistic

Regression dialog. A value of "0" will be assigned if the prediction probability

of success is less than the cutoff probability.

Frontline Solvers V12.5 User Guide Page 260

Since we selected Perform best subset selection on the Best Subset dialog,

XLMiner has produced the following output which displays the variables that

are included in the subsets. Since we selected 15 as the size of the subset, we are

shown the best subset of 1 variable (plus the constant), up to the best subset for

15 variables (plus the constant). This list comprises several different models

XLMiner generated using the Backward Elimination Selection Procedure as

chosen on the Best Subset dialog.

Refer to the Best Subset output above. In this section, every model includes a

constant term (since Force constant term to zero was not selected in Step 2 of 2)

and one or more variables as the additional coefficients. We can use any of these

models for further analysis by clicking on the respective link Choose Subset.

The choice of model depends on the calculated values of various error values

and the probability. RSS is the residual sum of squares, or the sum of squared

deviations between the predicted probability of success and the actual value (1

or 0). Cp is "Mallows Cp" and is a measure of the error in the best subset model,

relative to the error incorporating all variables. Adequate models are those for

which Cp is roughly equal to the number of parameters in the model (including

the constant), and/or Cp is at a minimum. "Probability" is a quasi hypothesis test

of the proposition that a given subset is acceptable; if Probability < .05 we can

rule out that subset.

When hoving over Choose Subset, the mouse icon will change to a “grabber

hand”. If Choose Subset is clicked, XLMiner opens the Logistic Regression

Step 1 of 1 dialog displaying the input variables included in that particular

subset. Scroll down to the end of the table.

The considerations about RSS, Cp and Probability would lead us to believe that

the subsets with 10 or 11 coefficients are the best models in this example.

Model terms are shown in the Regression Model output shown below.

Frontline Solvers V12.5 User Guide Page 261

This table contains the coefficient, the standard error of the coefficient, the p-

value and the odds ratio for each variable (which is simply ex where x is the

value of the coefficient) and confidence interval for the odds.

Summary statistics to the right (above) show the residual degrees of freedom

(#observations - #predictors), a standard deviation type measure for the model

(which typically has a chi-square distribution), the percentage of successes (1's)

in the training data, the number of iterations required to fit the model, and the

Multiple R-squared value.

The multiple R-squared value shown here is the r-squared value for a logistic

regression model , defined as -

R2 = (D0-D)/D0 ,

where D is the Deviance based on the fitted model and D0 is the deviance based

on the null model. The null model is defined as the model containing no

predictor variables apart from the constant.

Collinearity Diagnostics help assess whether two or more variables so closely

track one another as to provide essentially the same information.

Frontline Solvers V12.5 User Guide Page 262

The columns represent the variance components (related to principal

components in multivariate analysis), while the rows represent the variance

proportion decomposition explained by each variable in the model. The

eigenvalues are those associated with the singular value decomposition of the

variance-covariance matrix of the coefficients, while the condition numbers are

the ratios of the square root of the largest eigenvalue to all the rest. In general,

multicollinearity is likely to be a problem with a high condition number (more

than 20 or 30), and high variance decomposition proportions (say more than 0.5)

for two or more variables.

Lift charts (on the LR_TrainLiftChart and LR_ValidLiftChart, respectively) are

visual aids for measuring model performance. They consist of a lift curve and a

baseline. The greater the area between the lift curve and the baseline, the better

the model.

Frontline Solvers V12.5 User Guide Page 263

After the model is built using the training data set, the model is used to score on

the training data set and the validation data set (if one exists). Then the data

set(s) are sorted using the predicted output variable value (or predicted

probability of success in the logistic regression case). After sorting, the actual

outcome values of the output variable are cumulated and the lift curve is drawn

as the number of cases versus the cumulated value. The baseline (red line

connecting the origin to the end point of the blue line) is drawn as the number of

cases versus the average of actual output variable values multiplied by the

number of cases. The decilewise lift curve is drawn as the decile number versus

the cumulative actual output variable value divided by the decile's average

output variable value.

See the chapter on Stored Model Sheets for more information on the

LR_Stored_1 worksheet.

Logistic Regression Options The following options appear on one of the five Logistic Regression dialogs.

Frontline Solvers V12.5 User Guide Page 264

Variables in input data

All variables in the dataset are listed here.

Input variables

Variables listed here will be utilized in the XLMiner output.

Weight variable

One major assumption of Logistic Regression is that each observation provides

equal information. XLMiner offers an opportunity to provide a Weight variable.

Using a Weight variable allows the user to allocate a weight to each record. A

record with a large weight will influence the model more than a record with a

smaller weight.

Output Variable

Select the variable whose outcome is to be predicted.

# Classes

Displays the number of classes in the Output variable.

Frontline Solvers V12.5 User Guide Page 265

Specify “Success” class (necessary) This option is selected by default. Select the class to be considered a “success”

or the significant class in the Lift Chart. This option is enabled when the

number of classes in the output variable is equal to 2Specify initial cutoff

probability value for success.

Specify initial Cutoff Probability value for success

Enter a value between 0 and 1 here to denote the cutoff probability for success.

If the calculated probability for success for an observation is greater than or

equal to this value, than a “success” (or a 1) will be predicted for that

observation. If the calculated probability for success for an observation is less

than this value, then a “non-success” (or a 0) will be predicted for that

observation. The default value is 0.5. This option is only enabled when the # of

classes is equal to 2.

Force constant term to zero

Select this option to omit the constant term in the regression

Set confidence level for odds

Select this option to alter the level of confidence for the confidence levels

displayed in the results for the odds ratio.

Frontline Solvers V12.5 User Guide Page 266

Maximum # iterations

Estimating the coefficients in the Logistic Regression algorithm requires an

iterative non-linear maximization procedure. You can specify a maximum

number of iterations to prevent the program from getting lost in very lengthy

iterative loops. This value must be an integer greater than 0 or less than or equal

to 100 (1< value <= 100). The default value is 50.

Initial marquardt overshoot factor

This overshoot factor is used in the iterative non-linear maximization procedure.

Reducing this value speeds the operation by reducing the number of iterations

required but increases the chances that the maximiation procedure will fail due

to overshoot. This value must be an integer greater than 0 or less than or equal

to 50 (0 < value <=50). The default value is 1.

Perform Collinearity diagnostics

At times, variables can be highly correlated with one another which can result in

large standard errors for the affected coefficients. XLMiner will display

information useful in dealing with this problem if Perform Collinearity

diagnostics is selected. This option is not selected by default.

Number of collinearity components

This option is enabled when Perform Collinearity diagnostics is selected and

determines the number of collinearity components included in the Collinearity

diagnostic output. Enter an integer value greater than or equal to 2 and less than

or equal to the number of predictors in the model (input variables) (2 <= value

<= Number of predictors (input variables)). The default value is the number of

predictors (or input variables) included in the model.

Perform best subset selection

Often a subset of variables (rather than all of the variables) performs the best job

of classification. Selecting Perform best subset selection enables the Best

Subset options. This option is not selected by default.

Frontline Solvers V12.5 User Guide Page 267

Maximum size of best subset

Use the spinner controls to specify the number of best subsets generated by

XLMiner. It’s possible that XLMiner could find a smaller subset of variables.

This option can take on values of 1 up to N where N is the number of input

variables. The default setting is 15.

Number of best subsets

Using the spinner controls, specify the Number of best subsets. XLMiner can

provide up to 20 different subsets. The default setting is 1.

Selection Procedure

XLMiner offers five different selection procedures for selecting the best subset

of variables.

Backward elimination in which variables are eliminated one at a time,

starting with the least significant.

Forward selection in which variables are added one at a time, starting

with the most significant.

Exhaustive search where searches of all combinations of variables are

performed to observe which combination has the best fit. (This option

can become quite time consuming depending on the number of input

variables.)

Sequential replacement in which variables are sequentially replaced

and replacements that improve performance are retained.

Stepwise selection is similar to Forward selection except that at each

stage, XLMiner considers dropping variables that are not statistically

significant. When this procedure is selected, the Stepwise selection

options FIN and FOUT are enabled.

In the stepwise selection procedure a statistic is calculated when

variables are added or eliminated. For a variable to come into the

regression, the statistic’s value must be greater than the value for FIN

(default = 3.84). For a variable to leave the regression, the statistic’s

value must be less than the value of FOUT (default = 2.71). The value

for FIN must be greater than the value for FOUT.

Frontline Solvers V12.5 User Guide Page 268

Covariance matrix of coefficients

When this option is selected, XLMiner will display the coefficient covariance

matrix in the output. Entries in the matrix are the covariances between the

indicated coefficients. The “on-diagonal” values are the estimated variances of

the corresponding coefficients.

Residuals

When this option is selected, XLMiner will produce a two-column array of fitted

values and their residuals in the output.

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Frontline Solvers V12.5 User Guide Page 269

Score new data

For information on scoring in a worksheet or database, please see the Scoring

chapter.

Frontline Solvers V12.5 User Guide Page 270

k – Nearest Neighbors Classification Method

Introduction In the k-nearest-neighbor classification method, the training dataset is used to

classify each member of a "target" dataset. The structure of the data is that there

is a classification (categorical) variable ("buyer," or "non-buyer," for example),

and a number of additional predictor variables (age, income, location, etc.).

1. For each row (case) in the target dataset (the set to be classified), the k

closest members (the k nearest neighbors) of the training dataset are located.

A Euclidean Distance measure is used to calculate how close each member

of the training set is to the target row that is being examined.

2. Examine the k nearest neighbors - which classification (category) do most

of them belong to? Assign this category to the row being examined.

3. Repeat this procedure for the remaining rows (cases) in the target set.

4. XLMiner allows the user to select a maximum value for k and builds

models in parallel on all values of k up to the maximum specified value.

Additional scoring can be performed on the best of these models.

As k increases, the computing time increases. However a larger k will reduce

the vulnerability of the training data to outside variability which might offset the

increased time requirement. In most applications, k is in units of tens rather than

in hundreds or thousands.

k-Nearest Neighbors Classification Example The example below illustrates’ the use of XLMiner’s k-Nearest Neighbors

classification method. Click Help – Examples on the XLMiner ribbon and

open the example dataset Iris.xlsx. This dataset was introduced by R. A. Fisher

and reports four characteristics of three species of the Iris flower.

Frontline Solvers V12.5 User Guide Page 271

First, we partition the data using a standard partition with percentages of 60%

training and 40% validation (the default settings for the Automatic choice).

For more information on how to partition a dataset, please see the previous Data

Mining Partitioning chapter.

Select a cell on the Data_Partition1 worksheet, then click Classify – k-Nearest

Neighbors on the XLMiner ribbon to open the k-Nearest Neighbors Step 1 of 2

dialog, as shown below.

Frontline Solvers V12.5 User Guide Page 272

Select Petal_width, Petal_length, Sepal_width, and Sepal_length under

Variables in input data then click > to select as input variables. Select

Species_name as the output variable or the variable to be classified. Once the

Output variable is selected, # Classes (3) will be filled automatically. Since our

output variable contains more than 2 classes, Specify “Success” class and

Specify initial cutoff value fields are disabled.

Frontline Solvers V12.5 User Guide Page 273

Click OK to advance to Step 2 of 2.

Select Normalize input data. When this option is selected, XLMiner will

normalize the data by expressing the entire dataset in terms of standard

deviations. This is done so that the distance measure is not dominated by a large

Frontline Solvers V12.5 User Guide Page 274

magnitude variable. In this example, the values for Petal_width are between .1

and 2.5 while the values for Sepal_length are between 4.3 and 7.9. When the

data is normalized the actual variable value (say 4.3) is replaced with the

standard deviation from the mean of that variable. This option is not selected by

default.

Enter 10 for Number of nearest neighbors (k). (This number is based on

standard practice from the literature.) This is the parameter k in the k-Nearest

Neighbor algorithm. The value of k should be between 1 and the total number

of observations (rows). Note that if k is chosen as the total number of

observations in the training set, then for any new observation, all the

observations in the training set become nearest neighbors. The default value for

this option is 1.

Select Score on best k between 1 and specified value under Scoring option.

When this option is selected, XLMiner will display the output for the best k

between 1 and the value entered for Number of nearest neighbors (k). If Score

on specified value of k as above is selected, the output will be displayed for the

specified value of k.

Select Detailed scoring and Summary report under both Score training data

and Score validation data. XLMiner will create detailed and summary reports

for both the training and validation sets.

For more information on the Score new data options, please see the Scoring

chapter.

Click Finish. Click the KNNC_Output1 worksheet, the Output Navigator is

located at the top of this worksheet. Clink the links to navigate to other areas of

Frontline Solvers V12.5 User Guide Page 275

the output. Scroll down on the Output1 worksheet to view the Validation error

log.

The Validation error log for the different k's lists the % Errors for all values of k

for both the training and validation data sets. The k with the smallest % Error is

selected as the “Best k”. Scoring is performed later using this best value of k.

A little further down on the Output1 worksheet, is the Validation Data scoring

table.

This Summary report tallies the actual and predicted classifications. (Predicted

classifications were generated by applying the model to the validation data.)

Correct classification counts are along the diagonal from the upper left to the

lower right. In this example, there were three misclassification errors (3 cases

where Verginicas were misclassified as Versicolors).

Click the Valid. Score – Detailed Rep. link on the Output Navigator to be

routed to the ValidScore1 worksheet.

This table shows the predicted class for each record, the percent of the nearest

neighbors belonging to that class and the actual class. The class with the highest

probability is highlighted in yellow. Mismatches between Predicted and Actual

class are highlighted in green.

Frontline Solvers V12.5 User Guide Page 276

Scroll down to view record 107 which is one of the three misclassified records.

The additional two misclassified records are 120 and 134.

k-Nearest Neighbors Options The following options appear on one of the two k-Nearest Neighbors dialogs.

Frontline Solvers V12.5 User Guide Page 277

Variables in input data

The variables in the dataset appear here.

Input variables

The variables selected as input variables appear here

Weight variable

This option is not used in the k-Nearest Neighbors classification method.

Output variable

The variable to be classified is entered here.

Classes in the output variable

The number of classes in the output variable appear here.

Specify Success class (for Lift Charts) This option is selected by default. Select the class to be considered a “success”

or the significant class in the Lift Chart. This option is enabled when the

number of classes in the output variable is equal to 2Specify initial cutoff

probability value for success.

Frontline Solvers V12.5 User Guide Page 278

Specify Initial Cutoff Probability value for success

Enter a value between 0 and 1 here to denote the cutoff probability for success.

If the calculated probability for success for an observation is greater than or

equal to this value, than a “success” (or a 1) will be predicted for that

observation. If the calculated probability for success for an observation is less

than this value, then a “non-success” (or a 0) will be predicted for that

observation. The default value is 0.5. This option is only enabled when the # of

classes is equal to 2.

Normalize input data

When this option is selected, XLMiner will normalize the data by expressing the

entire dataset in terms of standard deviations. This is done so that the distance

measure is not dominated by a large magnitude variable. In this example, the

values for Petal_width are between .1 and 2.5 while the values for Sepal_length

are between 4.3 and 7.9. When the data is normalized the actual variable value

is replaced with the standard deviation from the mean of that variable.

Number of nearest neighbors (k)

This is the parameter k in the k-Nearest Neighbor algorithm. The value of k

should be between 1 and the total number of observations (rows). Note that if k

is chosen as the total number of observations in the training set, then for any

new observation, all the observations in the training set become nearest

neighbors. The default value for this option is 1.

Frontline Solvers V12.5 User Guide Page 279

Scoring Option

If Score on best k between 1 and specified value is selected, XLMiner will

display the output for the best k between 1 and the value entered for Number of

nearest neighbors (k).

If Score on specified value of k as above is selected, the output will be displayed

for the specified value of k.

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Score new data

For more information on the Score new data options, please see the Scoring

chapter.

Frontline Solvers V12.5 User Guide Page 280

Classification Tree Classification Method

Introduction Classification tree methods (also known as decision tree methods) are a good

choice when the data mining task is classification or prediction of outcomes and

the goal is to generate rules that can be easily understood, explained, and

translated into SQL or a natural query language.

A Classification tree labels, records and assigns variables to discrete classes. A

Classification tree can also provide a measure of confidence that the

classification is correct.

A Classification tree is built through a process known as binary recursive

partitioning. This is an iterative process of splitting the data into partitions, and

then splitting it up further on each of the branches.

Initially, a training set is created where the classification label (say, "purchaser"

or "non-purchaser") is known (pre-classified) for each record. In the next step,

the algorithm systematically assigns each record to one of two subsets on the

some basis, for example income > $75,000 or income <= $75,000). The object is

to attain as homogeneous set of labels (say, "purchaser" or "non-purchaser") as

possible in each partition. This splitting (or partitioning) is then applied to each

of the new partitions. The process continues until no more useful splits can be

found. The heart of the algorithm is the rule that determines the initial split rule

(see figure below).

Frontline Solvers V12.5 User Guide Page 281

As explained above, the process starts with a training set consisting of pre-

classified records (target field or dependent variable with a known class or label

such as "purchaser" or "non-purchaser"). The goal is to build a tree that

distinguishes among the classes. For simplicity, assume that there are only two

target classes and that each split is a binary partition. The splitting criterion

easily generalizes to multiple classes, and any multi-way partitioning can be

achieved through repeated binary splits. To choose the best splitter at a node, the

algorithm considers each input field in turn. In essence, each field is sorted.

Then, every possible split is tried and considered, and the best split is the one

which produces the largest decrease in diversity of the classification label within

each partition (this is just another way of saying "the increase in homogeneity").

This is repeated for all fields, and the winner is chosen as the best splitter for

that node. The process is continued at subsequent nodes until a full tree is

generated.

XLMiner uses a modified “twoing splitting rule”, as described on page 316 of

Classification and Regression Trees by Breiman, et al (1984, Chapman and

Hall). Please refer to this book for details. It maximizes the value of Ø which is

calculated as given in the last formula on this page:

Pruning the tree

Pruning is the process of removing leaves and branches to improve the

performance of the decision tree when moving from the training data (where the

classification is known) to real-world applications (where the classification is

unknown). The tree-building algorithm makes the best split at the root node

where there are the largest number of records and, hence, considerable

information. Each subsequent split has a smaller and less representative

population with which to work. Towards the end, idiosyncrasies of training

records at a particular node display patterns that are peculiar only to those

records. These patterns can become meaningless and sometimes harmful for

prediction if you try to extend rules based on them to larger populations.

For example, say the classification tree is trying to predict height and it comes to

a node containing one tall person X and several other shorter people. The

algorithm can decrease diversity at that node by a new rule imposing "people

named X are tall" and thus classify the training data. In the real world this rule is

obviously inappropriate. Pruning methods solve this problem -- they let the tree

grow to maximum size, then remove smaller branches that fail to generalize.

(Note: In practice, we do not include irrelevant fields such as "name", this is

simply used an illustration.)

Since the tree is “grown” from the training data set, when it has reached full

structure it usually suffers from over-fitting (i.e. it is "explaining" random

elements of the training data that are not likely to be features of the larger

population of data). This results in poor performance on real life data.

Therefore, trees must be pruned using the validation data set.

Classification Tree Example This example illustrates the use of XLMiner’s Classification Tree algorithm on

the Boston_Housing.xlsx dataset.

Frontline Solvers V12.5 User Guide Page 282

Click Help – Examples to open the Boston_Housing.xlsx dataset. This dataset

includes fourteen variables pertaining to hosing prices from the Boston area

collected by the US Census Bureau.

CRIM Per capita crime rate by town ZN Proportion of residential land zoned for lots over 25,000 sq.ft. INDUS Proportion of non-retail business acres per town CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise) NOX Nitric oxides concentration (parts per 10 million) RM Average number of rooms per dwelling AGE Proportion of owner-occupied units built prior to 1940

DIS Weighted distances to five Boston employment centers RAD Index of accessibility to radial highways TAX Full-value property-tax rate per $10,000 PTRATIO Pupil-teacher ratio by town B 1000(Bk - 0.63)^2 where Bk is the proportion of African-Americans by

town LSTAT % Lower status of the population MEDV Median value of owner-occupied homes in $1000's

The figure below displays a portion of the data; observe the last column (CAT.

MEDV). This variable has been derived from the MEDV variable by assigning

a 1 for MEDV levels above 30 (>= 30) and a 0 for levels below 30 (<30).

First, we partition the data into training and validation sets using the Standard

Data Partition defaults of 60% of the data randomly allocated to the Training Set

and 40% of the data randomly allocated to the Validation Set. For more

information on partitioning a dataset, see the Data Mining Partitioning chapter.

Frontline Solvers V12.5 User Guide Page 283

Select a cell on the Data_Partition1 worksheet, inserted after clicking OK on

the Standard Data Partition dialog above, then click Classify – Classification

Tree on the XLMiner ribbon. The following dialog opens.

Frontline Solvers V12.5 User Guide Page 284

Select CAT. MEDV as the Output variable. Then select all remaining

variables except MEDV as Input variables. The MEDV variable is not

included in the Input since the CAT. MEDV variable is derived from the MEDV

variable.

Keep the default settings for Specify “Success” class and Specify initial cutoff

probability.

Frontline Solvers V12.5 User Guide Page 285

Click Next to advance to the Step 2 of 3 dialog.

In the Classification Tree Step 2 of 3 dialog, select Normalize input data,

Minimum #records in a terminal node, and Prune tree. Enter 2 for Minimum

#records in a terminal node.

XLMiner will normalize the data when Normalize input data is selected.

Normalization helps only if linear combinations of the input variables are used

when splitting the tree.

Select Minimum #records in a terminal node to stop the training data as soon

as the number of records in a node reaches the specified minimum value. Enter

2 for the minimum value. The default value is 30.

XLMiner will prune the tree using the validation set when Prune Tree is

selected. (Pruning the tree using the validation set will reduce the error from

over-fitting the tree using the training data.)

Frontline Solvers V12.5 User Guide Page 286

Click Next to advance to the Step 3 of 3 dialog.

XLMiner provides the option to provide maximum #levels in the tree. Set

Maximum # levels to be displayed to 4 to indicate to XLMiner only four levels

in the tree are desired.

Select Full tree (grown using training data) to “grow” a complete tree using

the training data.

Select Best pruned tree (pruned using validation data). Selecting this option

will result in a tree with the fewest number of nodes, subject to the constraint

that the error be kept below a specified level (minimum error rate plus the

standard error of that error rate).

Select Minimum error tree (pruned using validation data) to produce a tree

that yields the minimum classification error rate when tested on the validation

data.

Frontline Solvers V12.5 User Guide Page 287

To create a tree with a specified number of decision nodes select Tree with

specified number of decision nodes and enter the desired number of nodes.

Leave this option unselected for this example.

Select the three options under both Score training data and Score validation

data to produce an assessment of the performance of the tree in both sets.

Please see the Scoring chapter for information on the Score new data options.

Click Finish. Worksheets containing the output of the Classification Tree

algorithm will be inserted at the end of the workbook. Click the CT_Output1

worksheet to view the Output Navigator. Click any link in this section to

navigate to various sections of the output.

Frontline Solvers V12.5 User Guide Page 288

Click the CT_FullTree1 worksheet tab to view the full tree.

Recall that the objective of this example is to classify each case as a 0 (low

median value) or a 1 (high median value). Consider the top decision node

(denoted by a circle). The label beneath this node indicates the variable

represented at this node (i.e. the variable selected for the first split) in this case,

RM = average number of rooms per dwelling. The value inside the node

indicates the split threshold. (Hover over the decision node to read the decision

Frontline Solvers V12.5 User Guide Page 289

rule.) If the RM value for a specific record is greater than 6.733 (RM > 6.733),

the record will be assigned to the right. If the RM value for the record is less

than or equal to 6.733, the value will be assigned to the left. 63 records

contained RM values greater than 6.733 while 241 records contained RM values

of less than or equal to 6.733. We can think of records with an RM value less

than or equal to 6.733 (RM <= 6.733) as tentatively classified as "0" (low

median value). Any record where RM > 6.733 can be tentatively classified as a

"1" (high median value).

The 241 records with RM values less than 6.733 are further split as we move

down the tree. The second split on this branch occurs with the LSTAT variable

(percent of the population that is of lower socioeconomic status). The LSTAT

values for 74 records (out of 241) fall below the split value of 9.535. These

records are tentatively classified as a “1” meaning these records have low

percentages of the population with lower socioeconomic status. The LSTAT

values for the remaining 167 records are greater than 9.535, and are tentatively

classified as “0".

A square node indicates a terminal node, after which there are no further splits.

For example, the 167 coming from the right of LSTAT are classified as 0's.

There are no further splits for this group. The path of their classification is: If

few rooms, and if a high percentage of the population is of lower socioeconomic

status, then classify as 0 (low median value).

The terminal nodes at the bottom of the tree displaying “Sub Tree beneath”

indicate that the full tree has not been drawn due to its size. The structure of the

full tree will be clear by reading the Full Tree Rules. Click the Full Tree Rules

link on the Output Navigator to open the Full Tree Rules table, shown below.

The first entry in this table shows a split on the RM variable with a split value of

6.733. The 304 total cases were split between nodes 1( LeftChild column) and

2(Rightchild column).

Moving to NodeID1 we find that 241 cases were assigned to this node (from

node 0) which has a “0” value (Class column). From here, the 241 cases were

split on the LSTAT variable using a value of 9.535 between nodes 3 (LeftChild

column) and 4 (RightChild column).

Moving to NodeID3 we find that 74 cases were assigned to this node (from node

1) which has a “0” value. From here, the 74 cases were split on the DIS variable

using a value of 3.4351 between nodes 7 and 8.

Moving to NodeID7, we find that 18 cases were assigned to this node (from

node 3) which has a “0” value. From here, the 18 cases were split on the RAD

variable using a value of 7.5 between nodes 11 and 12.

Frontline Solvers V12.5 User Guide Page 290

Moving to NodeID11, we find that 12 cases were assigned to this node (from

node 7) which as a “0” value. From here, the 12 cases were split on the TAX

variable using a value of 207.4998 between nodes 15 and 16.

The user can follow this table in a likewise fashion until a terminal node is

reached.

Click the Minimum Error Tree link on the Output Navigator to view the

Minimum Error Tree on the CT_MinErrTree1 worksheet.

The "minimum error tree" is the tree that yields a minimum classification error

rate when tested on the validation data. The misclassification (error) rate is

measured as the tree is pruned. The tree that produces the lowest error rate is

selected.

Click the Best Pruned Tree link on the Output Navigator to view the Best

Pruned Tree.

Frontline Solvers V12.5 User Guide Page 291

Note: The Best Pruned Tree is based on the validation data set, and is the

smallest tree whose misclassification rate is within one standard error of the

misclassification rate of the Minimum Error Tree. In this example the Best

Pruned tree and the Minimum Error Tree happen to be the same because the

#Decision Nodes for them is the same. (Please refer to the Prune Log).

However, you will often find that the Best Pruned Tree has less number of

decision nodes than the Minimum Error Tree.

Click the Train Log link in the Output Navigator to navigate to the Training

Log.

The training log, above, shows the misclassification (error) rate as each

additional node is added to the tree. Starting off at 0 nodes with the full data set,

all records would be classified as "low median value" (0).

Click the Train. Score – Summary link to navigate to the Classification

Confusion Matrix.

The confusion matrix, above, displays counts for cases that were correctly and

incorrectly classified in the validation data set. The 1 in the lower left cell, for

example, indicates that there was 1 case that was classified as 1 that was actually

0.

Click the Training Lift Charts and Validation Lift Charts link to navigate to

the Lift Charts.

Frontline Solvers V12.5 User Guide Page 292

Lift charts are visual aids for measuring model performance. They consist of a

lift curve and a baseline. The greater the area between the lift curve and the

baseline, the better the model.

After the model is built using the training data set, the model is used to score on

the training data set and the validation data set. Then the data sets are sorted

using the predicted output variable value. After sorting, the actual outcome

values of the output variable are cumulated and the lift curve is drawn as the

number of cases versus the cumulated value. The baseline is drawn as the

number of cases versus the average of actual output variable values multiplied

by the number of cases. The decilewise lift curve is drawn as the decile number

versus the cumulative actual output variable value divided by the decile's

average output variable value.

XLMiner generates the CT_Stored_1 worksheet along with the other outputs.

Please refer to the Scoring chapter for details.

Classification Tree Options The following options appear on one of the three Classification Tree dialogs.

Frontline Solvers V12.5 User Guide Page 293

Variables in input data

The variables included in the dataset appear here.

Input variables

Variables selected to be included in the output appear here.

Weight variable

This option is not used with the Classification Tree algorithm.

Output variable

The dependent variable or the variable to be classified appears here.

# Classes

Displays the number of classes in the Output variable.

Specify “Success” class (for Lift Chart) This option is selected by default. Select the class to be considered a “success”

or the significant class in the Lift Chart. This option is enabled when the

number of classes in the output variable is equal to 2Specify initial cutoff

probability value for success.

Frontline Solvers V12.5 User Guide Page 294

Specify initial cutoff probability value for success

Enter a value between 0 and 1 here to denote the cutoff probability for success.

If the calculated probability for success for an observation is greater than or

equal to this value, than a “success” (or a 1) will be predicted for that

observation. If the calculated probability for success for an observation is less

than this value, then a “non-success” (or a 0) will be predicted for that

observation. The default value is 0.5. This option is only enabled when the # of

classes is equal to 2.

Normlize input data

XLMiner will normalize the data when Normalize input data is selected.

Normalization helps only if linear combinations of the input variables are used

when splitting the tree. This option is not selected by default.

Minimum #records in a terminal node

Select Minimum #records in a terminal node to stop the training data as soon as

the number of records in a node reaches the specified minimum value. By

default, the value is set to 10% of the number of training records.

Prune Tree

XLMiner will prune the tree using the validation set when Prune Tree is

selected. (Pruning the tree using the validation set will reduce the error from

over-fitting the tree using the training data.) This option is selected by default.

If no validation set exists, then this option is disabled.

Frontline Solvers V12.5 User Guide Page 295

Maximum # levels to be displayed

XLMiner provides the option to provide maximum #levels in the tree. The

default level is 5.

Full tree (grown using training data)

Select this option to “grow” a complete tree using the training data.

Best pruned tree (pruned using validation data)

Selecting this option will result in a tree with the fewest number of nodes,

subject to the constraint that the error be kept below a specified level (minimum

error rate plus the standard error of that error rate).

Minimum error tree (pruned using validation data)

Select this option to produce a tree that yields the minimum classification error

rate when tested on the validation data.

Tree with specified number of decision nodes

To create a tree with a specified number of decision nodes select this option and

enter the desired number of nodes.

Frontline Solvers V12.5 User Guide Page 296

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Score new data

Please see the Scoring chapter for information on the Score new data options.

Frontline Solvers V12.5 User Guide Page 297

Naïve Bayes Classification Method

Introduction Suppose your data consists of fruits, described by their color and shape.

Bayesian classifiers operate by saying "If you see a fruit that is red and round,

which type of fruit is it most likely to be? In the future, classify red and round

fruit as that type of fruit."

A difficulty arises when you have more than a few variables and classes – an

enormous number of observations (records) would be required to estimate these

probabilities.

The Naive Bayes classification method avoids this problem by not requiring a

large number of observations for each possible combination of the variables.

Rather, the variables are assumed to be independent of one another and,

therefore the probability that a fruit that is red, round, firm, 3" in diameter, etc.

will be an apple can be calculated from the independent probabilities that a fruit

is red, that it is round, that it is firm, that it is 3" in diameter, etc.

In other words, Naïve Bayes classifiers assume that the effect of a variable value

on a given class is independent of the values of other variables. This assumption

is called class conditional independence and is made to simplify the

computation. In this sense, it is considered to be “Naïve”.

This assumption is a fairly strong assumption and is often not applicable.

However, bias in estimating probabilities often may not make a difference in

practice -- it is the order of the probabilities, not their exact values, which

determine the classifications.

Studies comparing classification algorithms have found the Naïve Bayesian

classifier to be comparable in performance with classification trees and neural

network classifiers. It has also been found that these classifiers exhibit high

accuracy and speed when applied to large databases.

A more technical description of the Naïve Bayesian classification method

follows.

Bayes Theorem

Let X be the data record (case) whose class label is unknown. Let H be some

hypothesis, such as "data record X belongs to a specified class C." For

classification, we want to determine P (H|X) -- the probability that the

hypothesis H holds, given the observed data record X.

P (H|X) is the posterior probability of H conditioned on X. For example, the

probability that a fruit is an apple, given the condition that it is red and round. In

contrast, P(H) is the prior probability, or apriori probability, of H. In this

Frontline Solvers V12.5 User Guide Page 298

example P(H) is the probability that any given data record is an apple, regardless

of how the data record looks. The posterior probability, P (H|X), is based on

more information (such as background knowledge) than the prior probability,

P(H), which is independent of X.

Similarly, P (X|H) is posterior probability of X conditioned on H. That is, it is

the probability that X is red and round given that we know that it is true that X is

an apple. P(X) is the prior probability of X, i.e., it is the probability that a data

record from our set of fruits is red and round. Bayes theorem is useful in that it

provides a way of calculating the posterior probability, P(H|X), from P(H), P(X),

and P(X|H). Bayes theorem can be written as: P (H|X) = P(X|H) P(H) / P(X).

Naïve Bayes Classification Example The following example illustrates XLMiner’s Naïve Bayes classification

method. Click Help – Examples on the XLMiner ribbon to open the

Flying_Fitness.xlsx example dataset. A portion of the dataset appears below.

First, we partition the data into training and validation sets using the Standard

Data Partition defaults of 60% of the data randomly allocated to the Training Set

and 40% of the data randomly allocated to the Validation Set. For more

information on partitioning a dataset, see the Data Mining Partitioning chapter.

Frontline Solvers V12.5 User Guide Page 299

Select a cell on the Data_Partition1 worksheet, then click Classify – Naïve

Bayes. The following Naïve Bayes Step 1 of 3 dialog appears.

Frontline Solvers V12.5 User Guide Page 300

Select Var2, Var3, Var4, Var5, and Var6 as Input variables and

TestRest/Var1 as the Output variable. The # Classes statistic will be

automatically updated with a value of 2 when the Output variable is selected.

This indicates that the Output variable, TestRest/Var1 contains two classes, 0

and 1.

Choose the value that will be the indicator of “Success” by clicking the down

arrow next to Specify “Success” class (necessary). In this example, we will use

the default of 1 indicating that a value of “1” will be specified as a “success”.

Enter a value between 0 and 1 for Specify the initial cutoff probability for

success. If the Probability of success (probability of the output variable = 1) is

less than this value, then a 0 will be entered for the class value, otherwise a 1

will be entered for the class value. In this example, we will keep the default of

0.5.

Frontline Solvers V12.5 User Guide Page 301

Click Next to advance to Step 2 of 3 of the Naïve Bayes algorithm.

On the Step 2 of 3 dialog, select According to relative occurrences in training

data to calculate the Prior class probabilities. When this option is selected,

XLMiner will calculate the class probabilities from the training data . For the

first class, XLMiner will calculate the probability using the number of “0”

records / total number of points. For the second class, XLMiner will calculate

the probability using the number of “1” records / total number of points. When

Use equal prior probabilities is selected, XLMiner will use 0.5 probability in

both classes. The third option, User specified prior probabilities, is not

supported in this method.

Click Next to advance to the Step 3 of 3 dialog.

Frontline Solvers V12.5 User Guide Page 302

Select Detailed report, Summary report, and Lift charts under both Score

training data and Score validation data to obtain the complete output results for

this classification method.

For more information on the options for Score new data, please see the Scoring

chapter.

Click Finish to generate the output.

Click the NNB_Output1 worksheet to display the Output Navigator. Click any

link to navigate to the selected topic.

Frontline Solvers V12.5 User Guide Page 303

Click the NNB_ValidScore1 worksheet to view the Classification of Validation

Data table, shown below. While predicting the class of output variable,

XLMiner calculates the conditional probability that the variable may be

classified to a particular class. In this case the classes are 0 and 1. For every

record in the validation data the conditional probabilities for class - 0 and for

class - 1 are calculated as shown below. The maximum value amongst these

probabilities is highlighted. XLMiner assigns that class to the output variable,

for which the conditional probability is the largest.

Click the Prior Class Pr link on the Output Navigator to view the Prior Class

Probabilities table on the NNB_Output1 worksheet. As shown, 54.17% of the

Frontline Solvers V12.5 User Guide Page 304

training data records belonged to the “1” class and 45.83% of the training data

records belong to the “0” class.

Click the Conditional Probabilities link to display the table below. This table

shows the probabilities for each case for each variable. For example, for Var2,

15.38% of the cases were classified as “0”, 84.62% of the cases were classified

as “1” and 0 cases were classified as “2”.

Click the Training Lift Chart and Validation Lift Chart links.

Frontline Solvers V12.5 User Guide Page 305

Lift charts are visual aids for measuring model performance. They consist of a

lift curve and a baseline. The greater the area between the lift curve and the

baseline, the better the model.

After the model is built using the training data set, the model is used to score on

the training data set and the validation data set. Then the data sets are sorted

using the predicted output variable value. After sorting, the actual outcome

values of the output variable are cumulated and the lift curve is drawn as the

number of cases versus the cumulated value. The baseline is drawn as the

number of cases versus the average of actual output variable values multiplied

by the number of cases. The decilewise lift curve is drawn as the decile number

versus the cumulative actual output variable value divided by the decile's

average output variable value.

Please see the Scoring chapter for information on the worksheet NNB_Stored_1.

Naïve Bayes Classification Method Options The options below appear on one of the three Naïve Bayes classification

methods’ dialogs.

Variables in input data

The variables included in the dataset appear here.

Input variables

Variables selected to be included in the output appear here.

Frontline Solvers V12.5 User Guide Page 306

Weight variable

This option is not used with the Naïve Bayes algorithm.

Output variable

The dependent variable or the variable to be classified appears here.

# Classes

Displays the number of classes in the Output variable.

Specify “Success” class (for Lift Chart) This option is selected by default. Select the class to be considered a “success”

or the significant class in the Lift Chart. This option is enabled when the

number of classes in the output variable is equal to 2Specify initial cutoff

probability value for success.

Specify initial cutoff probability value for success

Enter a value between 0 and 1 here to denote the cutoff probability for success.

If the calculated probability for success for an observation is greater than or

equal to this value, than a “success” (or a 1) will be predicted for that

observation. If the calculated probability for success for an observation is less

than this value, then a “non-success” (or a 0) will be predicted for that

observation. The default value is 0.5. This option is only enabled when the # of

classes is equal to 2.

According to relative occurrences in training data When this option is selected, XLMiner will calculate the class probabilities from

the training data . For the first class, XLMiner will calculate the probability

using the number of “0” records / total number of points. For the second class,

XLMiner will calculate the probability using the number of “1” records / total

number of points.

Frontline Solvers V12.5 User Guide Page 307

Use equal prior probabilities

When this option is selected, XLMiner will use 0.5 probability for both classes.

User specified prior probabilities

This option is not supported in this method.

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Score new data

Please see the Scoring chapter for information on the Score new data options.

Frontline Solvers V12.5 User Guide Page 308

Neural Networks Classification Method

Introduction Artificial neural networks are relatively crude electronic networks of "neurons"

based on the neural structure of the brain. They process records one at a time,

and "learn" by comparing their classification of the record (which, at the outset,

is largely arbitrary) with the known actual classification of the record. The errors

from the initial classification of the first record is fed back into the network, and

used to modify the networks algorithm the second time around, and so on for

many iterations.

Roughly speaking, a neuron in an artificial neural network is

1. A set of input values (xi) and associated weights (wi)

2. A function (g) that sums the weights and maps the results to an output

(y).

Neurons are organized into layers: input, hidden and output. The input layer is

composed not of full neurons, but rather consists simply of the record’s values

that are inputs to the next layer of neurons. The next layer is the hidden layer.

Several hidden layers can exist in one neural network. The final layer is the

output layer, where there is one node for each class. A single sweep forward

through the network results in the assignment of a value to each output node,

and the record is assigned to the class node with the highest value.

Frontline Solvers V12.5 User Guide Page 309

Training an Artificial Neural Network

In the training phase, the correct class for each record is known (this is termed

supervised training), and the output nodes can therefore be assigned "correct"

values -- "1" for the node corresponding to the correct class, and "0" for the

others. (In practice, better results have been found using values of “0.9” and

“0.1”, respectively.) It is thus possible to compare the network's calculated

values for the output nodes to these "correct" values, and calculate an error term

for each node (the "Delta" rule). These error terms are then used to adjust the

weights in the hidden layers so that, hopefully, during the next iteration the

output values will be closer to the "correct" values.

The Iterative Learning Process

A key feature of neural networks is an iterative learning process in which

records (rows) are presented to the network one at a time, and the weights

associated with the input values are adjusted each time. After all cases are

presented, the process is often repeated. During this learning phase, the network

“trains” by adjusting the weights to predict the correct class label of input

samples. Advantages of neural networks include their high tolerance to noisy

data, as well as their ability to classify patterns on which they have not been

trained. The most popular neural network algorithm is the back-propagation

algorithm proposed in the 1980's.

Once a network has been structured for a particular application, that network is

ready to be trained. To start this process, the initial weights (described in the

next section) are chosen randomly. Then the training, or learning, begins.

The network processes the records in the training data one at a time, using the

weights and functions in the hidden layers, then compares the resulting outputs

against the desired outputs. Errors are then propagated back through the system,

causing the system to adjust the weights for application to the next record. This

process occurs over and over as the weights are continually tweaked. During the

training of a network the same set of data is processed many times as the

connection weights are continually refined.

Note that some networks never learn. This could be because the input data does

not contain the specific information from which the desired output is derived.

Networks also will not converge if there is not enough data to enable complete

learning. Ideally, there should be enough data available to create a validation set.

Frontline Solvers V12.5 User Guide Page 310

Feedforward, Back-Propagation

The feedforward, back-propagation architecture was developed in the early

1970's by several independent sources (Werbor; Parker; Rumelhart, Hinton and

Williams). This independent co-development was the result of a proliferation of

articles and talks at various conferences which stimulated the entire industry.

Currently, this synergistically developed back-propagation architecture is the

most popular, effective, and easy-to-learn model for complex, multi-layered

networks. Its greatest strength is in non-linear solutions to ill-defined problems.

The typical back-propagation network has an input layer, an output layer, and at

least one hidden layer. There is no theoretical limit on the number of hidden

layers but typically there are just one or two. Some studies have shown that the

total number of layers needed to solve problems of any complexity is 5 (one

input layer, three hidden layers and an output layer). Each layer is fully

connected to the succeeding layer.

As noted above, the training process normally uses some variant of the Delta

Rule, which starts with the calculated difference between the actual outputs and

the desired outputs. Using this error, connection weights are increased in

proportion to the error times, which are a scaling factor for global accuracy. This

means that the inputs, the output, and the desired output all must be present at

the same processing element. The most complex part of this algorithm is

determining which input contributed the most to an incorrect output and how

must the input be modified to correct the error. (An inactive node would not

contribute to the error and would have no need to change its weights.) To solve

this problem, training inputs are applied to the input layer of the network, and

desired outputs are compared at the output layer. During the learning process, a

forward sweep is made through the network, and the output of each element is

computed layer by layer. The difference between the output of the final layer

and the desired output is back-propagated to the previous layer(s), usually

modified by the derivative of the transfer function. The connection weights are

normally adjusted using the Delta Rule. This process proceeds for the previous

layer(s) until the input layer is reached.

Structuring the Network

The number of layers and the number of processing elements per layer are

important decisions. These parameters, to a feedforward, back-propagation

topology, are also the most ethereal - they are the "art" of the network designer.

There is no quantifiable, best answer to the layout of the network for any

particular application. There are only general rules picked up over time and

followed by most researchers and engineers applying this architecture to their

problems.

Rule One: As the complexity in the relationship between the input data and the

desired output increases, the number of the processing elements in the hidden

layer should also increase.

Rule Two: If the process being modeled is separable into multiple stages, then

additional hidden layer(s) may be required. If the process is not separable into

stages, then additional layers may simply enable memorization of the training

set, and not a true general solution.

Rule Three: The amount of training data available sets an upper bound for the

number of processing elements in the hidden layer(s). To calculate this upper

bound, use the number of cases in the training data set and divide that number

by the sum of the number of nodes in the input and output layers in the network.

Frontline Solvers V12.5 User Guide Page 311

Then divide that result again by a scaling factor between five and ten. Larger

scaling factors are used for relatively less noisy data. If too many artificial

neurons are used the training set will be memorized, not generalized, and the

network will be useless on new data sets.

Automated Neural Network Classification Example The example below illustrates the use of XLMiner’s Automated Neural

Networks Classification method. Click Help – Examples on the XLMiner

ribbon to open the file Wine.xlsx. This file contains 13 quantitative variables

measuring the chemical attributes of wine samples from 3 different wineries

(Type variable). The objective is to assign a wine classification to each record.

A portion of this dataset is shown below.

First, we partition the data into training and validation sets using a Standard

Data Partition with percentages of 80% of the data randomly allocated to the

Training Set and 20% of the data randomly allocated to the Validation Set. For

more information on partitioning a dataset, see the Data Mining Partitioning

chapter.

Frontline Solvers V12.5 User Guide Page 312

Select a cell on the newly created Data_Partition1 worksheet, then click

Classify – Neural Network on the XLMiner ribbon. The following dialog

appears.

Frontline Solvers V12.5 User Guide Page 313

Select Type as the Output variable and the remaining variables as Input

Variables. Since the Output variable contains three classes (A, B, and C) to

denote the three different wineries, the options for Classes in the output variable

are disabled.

XLMiner also allows a “Weight variable”. This option can be used if the data

contains multiple cases (objects) sharing the same variable values. The weight

variable denotes the number of cases with those values.

Frontline Solvers V12.5 User Guide Page 314

Click Next to advance to the next dialog.

This dialog contains the options to define the network architecture. Select

Normalize input data. Normalizing the data (subtracting the mean and

dividing by the standard deviation) is important to ensure that the distance

measure accords equal weight to each variable -- without normalization, the

variable with the largest scale would dominate the measure.

Frontline Solvers V12.5 User Guide Page 315

XLMiner provides two options for the Network Architecture -- Automatic and

Manual. The default network architecture is 'Automatic'. This option generates

several neural networks in the output sheet for various combinations of hidden

layers and nodes within each layer. The total number of the neural networks

generated using the 'Automatic' option currently is 100. Choose the Manual

option to specify the number of hidden layers and the number of nodes for one

neural network. Please see the example below for explanations of the various

fields to be specified when the "Manual' network architecture is chosen is as

follows. For this example, keep the default setting of Automatic. See the next

example for an illustration of how to use the Manual Network Architecture

setting.

Keep the default setting of 30 for # Epochs. An epoch is one sweep through all

records in the training set.

Keep the default setting of 0.1 for Step size for gradient descent. This is the

multiplying factor for the error correction during backpropagation; it is roughly

equivalent to the learning rate for the neural network. A low value produces

slow but steady learning, a high value produces rapid but erratic learning.

Values for the step size typically range from 0.1 to 0.9.

Keep the default setting of 0.6 for Weight change momentum. In each new

round of error correction, some memory of the prior correction is retained so

that an outlier that crops up does not spoil accumulated learning.

Keep the default setting of 0.01 for Error tolerance. The error in a particular

iteration is backpropagated only if it is greater than the error tolerance. Typically

error tolerance is a small value in the range from 0 to 1.

Keep the default setting of 0 for Weight decay. To prevent over-fitting of the

network on the training data, set a weight decay to penalize the weight in each

iteration. Each calculated weight will be multiplied by (1-decay).

XLMiner provides four options for cost functions -- Squared mirror, Cross

entropy, Maximum likelihood and Perceptron convergence. The user can select

the appropriate one. Keep the default selection, Squared error, for this example.

Nodes in the hidden layer receive input from the input layer. The output of the

hidden nodes is a weighted sum of the input values. This weighted sum is

computed with weights that are initially set at random values. As the network

“learns” these weights are adjusted. This weighted sum is used to compute the

hidden node’s output using a transfer function. Select Standard (the default

setting) to use a logistic function for the transfer function with a range of 0 and

1. This function has a “squashing effect” on very small or very large values but

is almost linear in the range where the value of the function is between 0.1 and

0.9.3 Select Symmetric to use the tanh function for the transfer function, the

range being -1 to 1. Keep the default selection, Standard, for this example. If

more than one hidden layer exists, this function is used for all layers.

As in the hidden layer output calculation (explained in the above paragraph), the

output layer is also computed using the same transfer function. Select Standard

(the default setting) to use a logistic function for the transfer function with a

range of 0 and 1. Select Symmetric to use the tanh function for the transfer

function, the range being -1 to 1. Keep the default selection, Standard, for this

example.

3Galit Shmueli, Nitin R. Patel, and Peter C. Bruce, Data Mining for Business Intelligence (New Jersey: Wiley, 2010) 226.

Frontline Solvers V12.5 User Guide Page 316

Since Automatic is selected for Network Architecture, the Next button is

disabled. Click Finish. The Automatic_NNC1 worksheet containing the output

will be inserted at the end of the workbook.

The top section of this worksheet includes the Output Navigator which can be

used to quickly navigate to various sections of the output. The Data, Variables,

and Parameters/Options sections of the output worksheet all reflect inputs

chosen by the user.

A little further down is the Error Report, a portion is shown below.

Frontline Solvers V12.5 User Guide Page 317

The above error report gives the total number of errors and the % error in

classification produced by each network ID for the training and validation sets

separately. For example: Net 26 has 2 hidden layers each having one node in

each hidden layer. For this neural network, the percentage of errors in the

training data is 72.54% and the percentage of errors in the validation data is

75%.

XLMiner provides sorting of the error report according to increasing or

decreasing order of the %Error by clicking the up arrow next to % Error. Click

the upgrade arrow to sort in ascending order, and the downward arrow to sort in

descending order.

If you click a hyperlink for a particular Net ID (say Net 26) in the Error Report,

the following dialog appears. Here, the user can select the various options for

scoring data on Net ID 26. See the example below for more on this dialog and

the associated output.

Click Cancel to return to the Automated_NNCOutput1 worksheet. Scroll down

to the final section of this worksheet to find the Confusion matrices for all Net

IDs in the training and validation datasets.

Frontline Solvers V12.5 User Guide Page 318

Manual Neural Network Classification Example Refer to the example above to advance to the Neural Network (MultiLayer

Feedforward) Step 2 of 3 dialog, shown below.

This example will use the same dataset to illustrate the use of the Manual

Network Architecture selection.

Follow the steps above for the Step 1 of 3 dialog. On the Step 2 of 3 dialog,

keep the default setting of 1 for the # hidden layers option. Up to four hidden

layers can be specified for this option.

Keep the default setting of 25 for #Nodes. (Since # hidden layers is set to 1,

only the first text box is enabled.)

Frontline Solvers V12.5 User Guide Page 319

Keep the default settings for the remaining options.

Click Next to advance to the Step 3 of 3 dialog.

Select Detailed report and Summary report under both Score training data

and Score validation data.

For more information on the Score new data options, see the Scoring chapter.

Frontline Solvers V12.5 User Guide Page 320

Click Finish to produce the output.

Click the NNC_Output1 worksheet to view the Output Navigator.

Click the Training Epoch Log to display the Neural Network Classification Log.

XLMiner also provides intermediate information produced during the last pass

through the network

Scroll down on the Output1 worksheet to the Interlayer connections' weights

table.

Frontline Solvers V12.5 User Guide Page 321

Recall that a key element in a neural network is the weights for the connections

between nodes. In this example, we chose to have one hidden layer, and we also

chose to have 25 nodes in that layer. XLMiner's output contains a section that

contains the final values for the weights between the input layer and the hidden

layer, between hidden layers, and between the last hidden layer and the output

layer. This information is useful at viewing the “insides” of the neural network;

however, it is unlikely to be of use to the data analyst end-user. Displayed above

are the final connection weights between the input layer and the hidden layer for

our example.

Click the Training Epoch Log link on the Output Navigator to display the

following log.

Frontline Solvers V12.5 User Guide Page 322

During an epoch, each training record is fed forward in the network and

classified. The error is calculated and is back propagated for the weights

correction. Weights are continuously adjusted during the epoch. The

classification error is computed as the records pass through the network. It does

not report the classification error after the final weight adjustment. Scoring of

the training data is performed using the final weights so the training

classification error may not exactly match with the last epoch error in the Epoch

log.

See the Scoring chapter for information on Stored Model Sheets,

NNC_Stored_1.

NNC with Output Variable Containing 2 Classes The Error Report for a dataset with 2 classes in the output variable will look

slightly different. Open the file Boston_Housing.xlsx by clicking Help –

Examples on the XLMiner ribbon. Partition the data as shown in the two

previous Neural Network examples.

Select a cell on the Data_Partition1 worksheet, then click Classify – Neural

Network on the XLMiner ribbon. Select CAT.MEDV (has 2 classes) for the

Output variable and the remaining variables (except MEDV) as Input variables.

Click Next to proceed to the Step 2 of 3 dialog.

Frontline Solvers V12.5 User Guide Page 323

The Step 2 of 3 dialog contains options to define the network architecture. For

this example, accept the default values. (Details on these choices are explained

in the above examples.)

Click Finish to produce the Automated_NNC1 output worksheet. Scroll down

to the Error Report.

Frontline Solvers V12.5 User Guide Page 324

The above error report gives the total number of errors, % Error, % Sensitivity

and % Specificity in the classification produced by each network ID for the

training and validation datasets separately. For example: Net 10 has one hidden

layer having 10 nodes. For this neural network, the percentage of errors in the

training data is 4.69% and the percentage of errors in the validation data is

3.96%. The percentage sensitivity is 76.92% and 84.21% for training data and

validation data respectively. The percentage specificity is 98.82% and 98.78%

for training data and validation data respectively.

Numerically, sensitivity is the number of true positive results (TP) divided by

the sum of true positive and false negative (FN) results,

i.e., sensitivity = TP/(TP + FN).

Numerically, specificity is the number of true negative results (TN) divided by

the sum of true negative and false positive (FP) results,

i.e., specificity = TN/(TN + FP).

XLMiner provides sorting of the error report according to increasing or

decreasing order of the %Error, %Sensitivity or %Specificity. This can be done

by clicking the up arrow next to %Error, %Sensitivity or %Specificity,

respectively. Click the upward arrow to sort in ascending order, and the

downward arrow to sort in descending order.

Neural Network Classification Method Options The options below appear on one of the three Neural Network Classification

dialogs.

Frontline Solvers V12.5 User Guide Page 325

Variables in input data

The variables included in the dataset appear here.

Input variables

Variables selected to be included in the output appear here.

Weight variable

This option is not used with the Neural Network Classification algorithm.

Output variable

The dependent variable or the variable to be classified appears here.

# Classes

Displays the number of classes in the Output variable.

Specify “Success” class (for Lift Chart)

This option is selected by default. Click the drop down arrow to select the value

to specify a “success”. This option is only enabled when the # of classes is

equal to 2.

Frontline Solvers V12.5 User Guide Page 326

Specify initial cutoff probability value for success

Enter a value between 0 and 1 here to denote the cutoff probability for success.

If the calculated probability for success for an observation is greater than or

equal to this value, than a “success” (or a 1) will be predicted for that

observation. If the calculated probability for success for an observation is less

than this value, then a “non-success” (or a 0) will be predicted for that

observation. The default value is 0.5. This option is only enabled when the # of

classes is equal to 2.

Normalize input data

Normalizing the data (subtracting the mean and dividing by the standard

deviation) is important to ensure that the distance measure accords equal weight

to each variable -- without normalization, the variable with the largest scale

would dominate the measure. This option is selected by default.

Network Architecture

XLMiner provides two options for the Network Architecture -- Automatic and

Manual. The default network architecture is 'Automatic'. This option generates

several neural networks in the output sheet for various combinations of hidden

layers and nodes within each layer. The total number of the neural networks

generated using the 'Automatic' option currently is 100. Choose the Manual

option to specify the number of hidden layers and the number of nodes for one

neural network.

# Hidden Layers

When Manual is selected, this option is enabled. XLMiner supports up to 4

hidden layers.

Frontline Solvers V12.5 User Guide Page 327

# Nodes

When Manual is selected, this option is enabled. Enter the number of nodes per

layer here.

# Epochs

An epoch is one sweep through all records in the training set. The default

setting is 30.

Step size for gradient descent

This is the multiplying factor for the error correction during backpropagation; it

is roughly equivalent to the learning rate for the neural network. A low value

produces slow but steady learning, a high value produces rapid but erratic

learning. Values for the step size typically range from 0.1 to 0.9. The default

setting is 0.1.

Weight change momentum

In each new round of error correction, some memory of the prior correction is

retained so that an outlier that crops up does not spoil accumulated learning.

The default setting is 0.6.

Error tolerance

The error in a particular iteration is backpropagated only if it is greater than the

error tolerance. Typically error tolerance is a small value in the range from 0 to

1. The default setting is 0.01.

Weight decay

To prevent over-fitting of the network on the training data, set a weight decay to

penalize the weight in each iteration. Each calculated weight will be multiplied

by (1-decay). The default setting is 0.

Cost Function

XLMiner provides four options for the cost function -- Squared mirror, Cross

entropy, Maximum likelihood and Perceptron convergence. The user can select

the appropriate one. The default setting is Squared error.

Hidden Layer Sigmoid

Nodes in the hidden layer receive input from the input layer. The output of the

hidden nodes is a weighted sum of the input values. This weighted sum is

computed with weights that are initially set at random values. As the network

“learns”, these weights are adjusted. This weighted sum is used to compute the

hidden node’s output using a transfer function. Select Standard (the default

setting) to use a logistic function for the transfer function with a range of 0 and

1. This function has a “squashing effect” on very small or very large values but

is almost linear in the range where the value of the function is between 0.1 and

0.9. Select Symmetric to use the tanh function for the transfer function, the

Frontline Solvers V12.5 User Guide Page 328

range being -1 to 1. If more than one hidden layer exists, this function is used

for all layers. The default selection is Standard.

Output Layer Sigmoid

As in the hidden layer output calculation (explained in the above paragraph), the

output layer is also computed using the same transfer function as described for

Hidden Layer Sigmoid. Select Standard (the default setting) to use a logistic

function for the transfer function with a range of 0 and 1. Select Symmetric to

use the tanh function for the transfer function, the range being -1 to 1. The

default selection is Standard.

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Frontline Solvers V12.5 User Guide Page 329

Score New Data See the Scoring chapter for more details on the In worksheet or In database

options.

Frontline Solvers V12.5 User Guide Page 330

Multiple Linear Regression Prediction Method

Introduction Linear regression is performed on a dataset either to predict the response

variable based on the predictor variable, or to study the relationship between the

response variable and predictor variables. For example, using linear regression,

the crime rate of a state can be explained as a function of demographic factors

such as population, education, male to female ratio etc.

This procedure performs linear regression on a selected dataset that fits a linear

model of the form

Y= b0 + b1X1 + b2X2+ .... + bkXk+ e

where Y is the dependent variable (response), X1, X2,.. .,Xk are the independent

variables (predictors) and e is the random error. b0 , b1, b2, .... bk are known as

the regression coefficients, which are estimated from the data. The multiple

linear regression algorithm in XLMiner chooses regression coefficients to

minimize the difference between the predicted and actual values.

Multiple Linear Regression Example The following example illustrates XLMiner’s Multiple Linear Regression

method using the Boston Housing dataset to predict the median house price in

housing tracts in the Boston area. This dataset has 14 variables. A description of

each variable is given in the table below. In addition to these variables, the data

set also contains an additional variable, which has been created by categorizing

median value (MEDV) into two categories – high (MEDV > 30) and low

(MEDV < 30).

CRIM Per capita crime rate by town ZN Proportion of residential land zoned for lots over 25,000 sq.ft. INDUS Proportion of non-retail business acres per town CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise) NOX Nitric oxides concentration (parts per 10 million) RM Average number of rooms per dwelling AGE Proportion of owner-occupied units built prior to 1940 DIS Weighted distances to five Boston employment centers RAD Index of accessibility to radial highways TAX Full-value property-tax rate per $10,000 PTRATIO Pupil-teacher ratio by town B 1000(Bk - 0.63)^2 where Bk is the proportion of African-Americans

by town LSTAT % Lower status of the population MEDV Median value of owner-occupied homes in $1000's

Frontline Solvers V12.5 User Guide Page 331

Click Help – Examples on the XLMiner ribbon to open the

Boston_Housing.xlsx from the datasets folder. A portion of the dataset is shown

below.

First, we partition the data into training and validation sets using the Standard

Data Partition defaults with percentages of 60% of the data randomly allocated

to the Training Set and 40% of the data randomly allocated to the Validation

Set. For more information on partitioning a dataset, see the Data Mining

Partitioning chapter.

Select a cell on the Data_Partition1 worksheet, then click Predict – Multiple

Linear Regression. The following dialog appears.

Frontline Solvers V12.5 User Guide Page 332

Select MEDV as the Output variable and all remaining variables (except CAT.

MEDV) as Input variables. (The bottom portion of the dialog is not used with

prediction methods.)

Frontline Solvers V12.5 User Guide Page 333

Click Next to advance to the Step 2 of 2 dialog.

If the number of rows in the data is less than the number of variables selected as

Input variables, XLMiner displays the following message box.

Select Yes to proceed to the Best Subset dialog (see below). Click No to return

to the Multiple Linear Regression Step 1 of 2 dialog.

If Force constant term to zero is selected, there will be no constant term in the

equation. Leave this option unchecked for this example.

Select Fitted values. When this option is selected, the fitted values are

displayed in the output.

Select ANOVA table. When this option is selected, the ANOVA table is

displayed in the output.

Select Standardized under Residuals to display the Standardized Residuals in

the output. Standardized residuals are obtained by dividing the unstandardized

residuals by the respective standard deviations.

Frontline Solvers V12.5 User Guide Page 334

Select Unstandardized under Residuals to display the Unstandardized

Residuals in the output. Unstandardized residuals are computed by the formula:

Unstandardized residual = Actual response – Predicted response.

Select Variance-covariance matrix. When this option is selected the variance-

covariance matrix of the estimated regression coefficients is displayed in the

output.

Select all options under Score Training data and Score validation data to

produce all three reports in the output.

Click Advanced to display the following dialog.

Frontline Solvers V12.5 User Guide Page 335

Select Studentized. When this option is selected the Studentized Residuals are

displayed in the output. Studentized residuals are computed by dividing the

unstandardized residuals by quantities related to the diagonal elements of the hat

matrix, using a common scale estimate computed without the ith

case in the

model. These residuals have t - distributions with ( n-k-1) degrees of freedom.

As a result, any residual with absolute value exceeding 3 usually requires

attention.

Select Deleted. When this option is selected the Deleted Residuals are

displayed in the output. This residual is computed for the ith

observation by first

fitting a model without the ith

observation, then using this model to predict the ith

observation. Afterwards the difference is taken between the predicted

observation and the actual observation.

Select Cook's Distance. When this checkbox is selected the Cook's Distance

for each observation is displayed in the output. This is an overall measure of the

impact of the ith

datapoint on the estimated regression coefficient. In linear

models Cook's Distance has, approximately, an F distribution with k and (n-k)

degrees of freedom.

Select DF fits. When this checkbox is selected the DF fits (change in the

regression fit) for each observation is displayed in the output. These reflect

coefficient changes as well as forecasting effects when an observation is deleted.

Select Covariance Ratios. When this checkbox is selected, the covariance

ratios are displayed in the output. This measure reflects the change in the

variance-covariance matrix of the estimated coefficients when the ith

observation

is deleted.

Select Hat matrix Diagonal. When this checkbox is selected, the diagonal

elements of the hat matrix are displayed in the output. This measure is also

known as the leverage of the ith

observation.

Select Perform Collinearity diagnostics. When this checkbox is selected, the

collinearity diagnostics are displayed in the output.

Frontline Solvers V12.5 User Guide Page 336

When Perform Collinearity diagnostics is selected, Number of collinearity

components is enabled. Enter 2 for this option. This number can be between 2

and the number of degrees of freedom for the model. When the model is fitted

without an intercept, the model degrees of freedom is equal to the number of

predictors in the model. When the model is fitted with an intercept, the model

degrees of freedom is equal to the number of predictors in the model plus one.

When Perform Collinearity diagnostics is selected, Multicollinearity criterion is

enabled. Enter 0.05 for Multicollinearity criterion. Multicollinearity can be

defined as the occurrence of two or more input variables that share the same

linear relationship with the outcome variable. Enter a value between 0 and 1.

The default setting is 0.05.

Click OK to return to the Step 2 of 2 dialog, then click Best subset (on the Step

2 of 2 dialog) to open the following dialog.

When you have a large number of predictors and would like to limit the model

to only the significant variables, select Perform best subset selection to select

Frontline Solvers V12.5 User Guide Page 337

the best subset. For this example, enter 13 (the default value) for the Maximum

size of best subsets (for a model with up to 13 variables). XLMiner accepts an

integer value of 1 up to N where N is the number of Input variables in the

model.

Enter 3 for Number of best subsets. XLMiner will first show the best, then the

next-best, etc., and will show this number of subsets for subsets of one variable,

subsets of two variables, etc., on up to subsets of the size you specified above.

XLMiner allows integer values up to 20.

Select Backward elimination for the Selection procedure.

XLMiner offers five different selection procedures for selecting the best subset

of variables.

Backward elimination in which variables are eliminated one at a time,

starting with the least significant.

Forward selection in which variables are added one at a time, starting

with the most significant.

Exhaustive search where searches of all combinations of variables are

performed to observe which combination has the best fit. (This option

can become quite time consuming depending on the number of input

variables.)

Sequential replacement in which variables are sequentially replaced

and replacements that improve performance are retained.

Stepwise selection is similar to Forward selection except that at each

stage, XLMiner considers dropping variables that are not statistically

significant. When this procedure is selected, the Stepwise selection

options FIN and FOUT are enabled. In the stepwise selection

procedure a statistic is calculated when variables are added or

eliminated. For a variable to come into the regression, the statistic’s

value must be greater than the value for FIN (default = 3.84). For a

variable to leave the regression, the statistic’s value must be less than

the value of FOUT (default = 2.71). The value for FIN must be greater

than the value for FOUT.

Click OK to return to the Step 2 of 2 dialog, then click Finish. Click the

Output1 worksheet to find the Output Navigator. Click any link here to display

the selected output.

Frontline Solvers V12.5 User Guide Page 338

Click the Train. Score – Detailed Rep. link to open the Multiple Linear

Regression – Prediction of Training Data table. Of primary interest in a data-

mining context will be the predicted and actual values for each record, along

with the residual (difference), shown here for the training data set:

XLMiner also displays The Total sum of squared errors summaries for both the

training and validation data sets on the Output1 worksheet. The total sum of

squared errors is the sum of the squared errors (deviations between predicted

and actual values) and the root mean square error (square root of the average

squared error). The average error is typically very small, because positive

prediction errors tend to be counterbalanced by negative ones.

Frontline Solvers V12.5 User Guide Page 339

A variety of residual and collinearity diagnostics output is available since the

option was selected on the Advanced dialog (see above).

Select the Subset Selection link on the Output Navigator to display the Best

Subset Selection chart which displays a list of different models generated using

the Best Subset selections. Since we have selected 13 as the maximum size of

subsets, 13 Best Subset models have been created containing 1 to 13 variables.

A portion of this chart is shown below.

Every model includes a constant term (since Force constant term to zero was

not selected on the Step 2 of 2 dialog) and one or more variables as the

additional coefficients. We can use any of these models for further analysis by

clicking on the respective link, "Choose Subset". The choice of model depends

on the calculated values of various error values and the probability. The error

values calculated are

RSS: The residual sum of squares, or the sum of squared deviations

between the predicted probability of success and the actual value (1 or

0)

Cp: Mallows Cp (Total squared error) is a measure of the error in the

best subset model, relative to the error incorporating all variables.

Adequate models are those for which Cp is roughly equal to the

number of parameters in the model (including the constant), and/or Cp

is at a minimum

R-Squared: R-squared Goodness-of-fit

Adj. R-Squared: Adjusted R-Squared values.

Frontline Solvers V12.5 User Guide Page 340

"Probability" is a quasi hypothesis test of the proposition that a given

subset is acceptable; if Probability < .05 we can rule out that subset.

When hovering over Choose Subset, the mouse icon will change to a “grabber

hand”. If Choose Subset is clicked, XLMiner opens the Multiple Linear

Regression Step 1 of 1 dialog displaying the input variables included in that

particular subset. Scroll down to the end of the table.

Compare the RSS value as the number of coefficients in the subset increases

from 11 to 12 (8923.724 down to 6978.134). The RSS for 12 coefficients is just

slightly higher than the RSS for 14 coefficients suggesting that a model with 12

coefficients may be sufficient to fit a regression. Click the Choose Subset link

next to the first model with 12 coefficients (RSS = 6978.134), the Multiple

Linear Regression The Step 1 of 2 dialog appears with these 12 variables

already selected as Input variables. The User can easily click Next to run a

Multiple Linear Regression on these variables.

Model terms are shown in the Regression Model output shown below along

with the Summary statistics

The Regression Model table contains the coefficient, the standard error of the

coefficient, the p-value and the Sum of Squared Error for each variable included

in the model. The Sum of Squared Errors is calculated as each variable is

introduced in the model beginning with the constant term and continuing with

each variable as it appears in the dataset.

Summary statistics (to the above right) show the residual degrees of freedom

(#observations - #predictors), the R-squared value, a standard deviation type

measure for the model (which typically has a chi-square distribution), and the

Residual Sum of Squares error.

The R-squared value shown here is the r-squared value for a logistic regression

model , defined as -

R2 = (D0-D)/D0 ,

Frontline Solvers V12.5 User Guide Page 341

where D is the Deviance based on the fitted model and D0 is the deviance based

on the null model. The null model is defined as the model containing no

predictor variables apart from the constant.

Click the Collinearity Diagnostics link to display the Collinearity Diagnostics

table. This table helps assess whether two or more variables so closely track one

another as to provide essentially the same information. As you can see the NOX

variable was ignored.

The columns represent the variance components (related to principal

components in multivariate analysis), while the rows represent the variance

proportion decomposition explained by each variable in the model. The

eigenvalues are those associated with the singular value decomposition of the

variance-covariance matrix of the coefficients, while the condition numbers are

the ratios of the square root of the largest eigenvalue to all the rest. In general,

multicollinearity is likely to be a problem with a high condition number (more

than 20 or 30), and high variance decomposition proportions (say more than 0.5)

for two or more variables.

Lift charts (on the MLR_TrainLiftChart and MLR_ValidLiftChart, respectively)

are visual aids for measuring model performance. They consist of a lift curve

and a baseline. The greater the area between the lift curve and the baseline, the

better the model.

Frontline Solvers V12.5 User Guide Page 342

After the model is built using the training data set, the model is used to score on

the training data set and the validation data set (if one exists). Then the data

set(s) are sorted using the predicted output variable value. After sorting, the

actual outcome values of the output variable are cumulated and the lift curve is

drawn as the number of cases versus the cumulated value. The baseline (red line

connecting the origin to the end point of the blue line) is drawn as the number of

cases versus the average of actual output variable values multiplied by the

number of cases. The decilewise lift curve is drawn as the decile number versus

the cumulative actual output variable value divided by the decile's average

output variable value.

See the chapter on Stored Model Sheets for more information on the

MLR_Stored_1 worksheet.

Multiple Linear Regression Options The following options appear on the four Multiple Linear Regression dialogs.

Frontline Solvers V12.5 User Guide Page 343

Variables in input data

All variables in the dataset are listed here.

Input variables

Variables listed here will be utilized in the XLMiner output.

Weight variable

One major assumption of Multiple Linear Regression is that each observation

provides equal information. XLMiner offers an opportunity to provide a Weight

variable. Using a Weight variable allows the user to allocate a weight to each

record. A record with a large weight will influence the model more than a

record with a smaller weight.

Output Variable

Select the variable whose outcome is to be predicted here.

Frontline Solvers V12.5 User Guide Page 344

Force constant to zero

If this option is selected, there will be no constant term in the equation. This

option is not selected by default.

Fitted values

When this option is selected, the fitted values are displayed in the output. This

option is not selected by default.

Anova table

When this option is selected, the ANOVA table is displayed in the output. This

option is not selected by default.

Standardized

Select this option under Residuals to display the Standardized Residuals in the

output. Standardized residuals are obtained by dividing the unstandardized

residuals by the respective standard deviations. This option is not selected by

default.

Frontline Solvers V12.5 User Guide Page 345

Unstandardized

Select this option under Residuals to display the Unstandardized Residuals in

the output. Unstandardized residuals are computed by the formula:

Unstandardized residual = Actual response – Predicted response. This option is

not selected by default.

Variance – covariance matrix

When this option is selected the variance-covariance matrix of the estimated

regression coefficients is displayed in the output. This option is not selected by

default.

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Score New Data See the Scoring chapter for more details on the In worksheet or In database

options.

Frontline Solvers V12.5 User Guide Page 346

Studentized

When this option is selected the Studentized Residuals are displayed in the

output. Studentized residuals are computed by dividing the unstandardized

residuals by quantities related to the diagonal elements of the hat matrix, using a

common scale estimate computed without the ith

case in the model. These

residuals have t - distributions with ( n-k-1) degrees of freedom. As a result, any

residual with absolute value exceeding 3 usually requires attention. This option

is not selected by default.

Deleted

When this option is selected the Deleted Residuals are displayed in the output.

This residual is computed for the ith

observation by first fitting a model without

the ith

observation, then using this model to predict the ith

observation.

Afterwards the difference is taken between the predicted observation and the

actual observation. This option is not selected by default.

Select Cook's Distance

When this checkbox is selected the Cook's Distance for each observation is

displayed in the output. This is an overall measure of the impact of the ith

datapoint on the estimated regression coefficient. In linear models Cook's

Distance has, approximately, an F distribution with k and (n-k) degrees of

freedom. This option is not selected by default.

DF fits

When this checkbox is selected the DF fits (change in the regression fit) for each

observation is displayed in the output. These reflect coefficient changes as well

Frontline Solvers V12.5 User Guide Page 347

as forecasting effects when an observation is deleted. This option is selected by

default.

Covariance Ratios

When this checkbox is selected, the covariance ratios are displayed in the

output. This measure reflects the change in the variance-covariance matrix of the

estimated coefficients when the ith

observation is deleted. This option is not

selected by default.

Hat matrix Diagonal

When this checkbox is selected, the diagonal elements of the hat matrix are

displayed in the output. This measure is also known as the leverage of the ith

observation. This option is not selected by default.

Perform Collinearity diagnostics

When this option is selected, the collinearity diagnostics are displayed in the

output. (This option is not selected by default.)

Number of Collinearity Components

When Perform Collinearity diagnostics is selected, the Number of collinearity

components is enabled. This number can be between 2 and the number of

degrees of freedom for the model. When the model is fitted without an intercept,

the model degrees of freedom is equal to the number of predictors in the model.

When the model is fitted with an intercept, the model degrees of freedom is

equal to the number of predictors in the model plus one.

Multicollinearity Criterion

When Perform Collinearity diagnostics is selected, Multicollinearity criterion is

enabled. Multicollinearity can be defined as the occurrence of two or more

input variables that share the same linear relationship with the outcome variable.

Enter a value between 0 and 1. The default setting is 0.05.

Frontline Solvers V12.5 User Guide Page 348

Perform best subset selection

Often a subset of variables (rather than all of the variables) performs the best job

of classification. Selecting Perform best subset selection enables the Best

Subset options. This option is not selected by default.

Maximum size of best subset

Using the spinner controls to specify the number of best subsets to be generated

by XLMiner. It’s possible that XLMiner could find a smaller subset of

variables. This option can take on values of 1 up to N where N is the number of

input variables. The default setting is 13.

Number of best subsets

Using the spinner controls, specify the Number of best subsets. XLMiner can

provide up to 20 different subsets. The default setting is 1.

Selection Procedure

XLMiner offers five different selection procedures for selecting the best subset

of variables.

Backward elimination in which variables are eliminated one at a time,

starting with the least significant.

Forward selection in which variables are added one at a time, starting

with the most significant.

Exhaustive search where searches of all combinations of variables are

performed to observe which combination has the best fit. (This option

can become quite time consuming depending on the number of input

variables.)

Sequential replacement in which variables are sequentially replaced

and replacements that improve performance are retained.

Stepwise selection is similar to Forward selection except that at each

stage, XLMiner considers dropping variables that are not statistically

significant. When this procedure is selected, the Stepwise selection

options FIN and FOUT are enabled. In the stepwise selection

procedure a statistic is calculated when variables are added or

eliminated. For a variable to come into the regression, the statistic’s

value must be greater than the value for FIN (default = 3.84). For a

variable to leave the regression, the statistic’s value must be less than

the value of FOUT (default = 2.71). The value for FIN must be greater

than the value for FOUT.

Frontline Solvers V12.5 User Guide Page 349

k-Nearest Neighbors Prediction Method

Introduction In the k-nearest-neighbor prediction method, the training data set is used to

predict the value of a variable of interest for each member of a "target" data set.

The structure of the data generally consists of a variable of interest ("amount

purchased," for example), and a number of additional predictor variables (age,

income, location, etc.).

1. For each row (case) in the target data set (the set to be predicted), locate the

k closest members (the k nearest neighbors) of the training data set. A

Euclidean Distance measure is used to calculate how close each member of

the training set is to the target row that is being examined.

2. Find the weighted sum of the variable of interest for the k nearest neighbors

(the weights are the inverse of the distances).

3. Repeat this procedure for the remaining rows (cases) in the target set.

4. Additionally, XLMiner also allows the user to select a maximum value for

k, builds models in parallel on all values of k (up to the maximum specified

value) and performs scoring on the best of these models.

Computing time increases as k increases, but the advantage is that higher values

of k provide “smoothing” that reduces vulnerability to noise in the training data.

Typically, k is in units of tens rather than in hundreds or thousands of units.

k-Nearest Neighbors Prediction Method Example The example below illustrates the use of XLMiner’s k-Nearest Neighbors

Prediction method. Click Help – Examples on the XLMiner ribbon to open the

Boston_Housing.xlsx example dataset. This dataset contains 14 variables, the

description of each is given in the table below. The dependent variable MEDV

is the median value of a dwelling. This objective of this example is to predict

the value of MEDV.

Frontline Solvers V12.5 User Guide Page 350

A portion of the dataset is shown below. The last variable, CAT. MEDV, is a

discrete classification of the MEDV variable and will not be used in this

example.

First, we partition the data into training and validation sets using the Standard

Data Partition defaults with percentages of 60% of the data randomly allocated

to the Training Set and 40% of the data randomly allocated to the Validation

Set. For more information on partitioning a dataset, see the Data Mining

Partitioning chapter.

CRIM Per capita crime rate by town

ZN Proportion of residential land zoned for lots over 25,000 sq.ft.

INDUS Proportion of non-retail business acres per town

CHAS Charles River dummy variable (= 1 if tract bounds river; 0

otherwise)

NOX Nitric oxides concentration (parts per 10 million)

RM Average number of rooms per dwelling

AGE Proportion of owner-occupied units built prior to 1940

DIS Weighted distances to five Boston employment centers

RAD Index of accessibility to radial highways

TAX Full-value property-tax rate per $10,000

PTRATIO Pupil-teacher ratio by town

B 1000(Bk - 0.63)^2 where Bk is the proportion of African-

Americans by town

LSTAT % Lower status of the population

MEDV Median value of owner-occupied homes in $1000's

Frontline Solvers V12.5 User Guide Page 351

Select a cell on the Data_Partition1 worksheet, then click Predict – k-Nearest

Neighbors to open the following dialog.

Frontline Solvers V12.5 User Guide Page 352

Select MEDV as the Output variable, and the remaining variables (except CAT.

MEDV) as Input variables. (The Weight variable and Class options are not

supported in this method and are disabled.)

Frontline Solvers V12.5 User Guide Page 353

Click Next to advance to the next dialog.

Frontline Solvers V12.5 User Guide Page 354

Select Normalize Input data. When this option is selected, the input data is

normalized which means that all data is expressed in terms of standard

deviations. This option is available to ensure that the distance measure is not

dominated by variables with a large scale.

Enter 5 for the Number of Nearest Neighbors. This is the parameter k in the k-

nearest neighbor algorithm. The value of k should be between 1 and the total

number of observations (rows). Typically, this is chosen to be in units of tens.

Select Score on best k between 1 and specified value for the Scoring option.

XLMiner will display the output for the best k between 1 and 5. If Score on

specified value of k as above is selected, the output will be displayed for the

specified value of k.

Select Detailed scoring, Summary report, and Lift charts under both Score

training data and Score validation data to show an assessment of the

performance in predicting the training data.

The options in the Score test data group are enabled only when a test partition is

available.

Please see the Scoring chapter for a complete discussion on the options under

Score New Data.

Frontline Solvers V12.5 User Guide Page 355

Click Finish. Worksheets containing the output of the method will be inserted

at the end of the workbook. The Output1 worksheet contains the Output

Navigator which allows easy access to all portions of the output.

Frontline Solvers V12.5 User Guide Page 356

Scroll down the Output1 worksheet to the Validation error log (shown below).

As per our specifications XLMiner has calculated the RMS error for all values

of k and denoted the value of k with the smallest RMS Error.

A little further down the page is the Summary Report, shown below. This report

summarizes the prediction error. The first number, the total sum of squared

errors, is the sum of the squared deviations (residuals) between the predicted and

actual values. The second is the square root of the average of the squared

residuals. The third is the average deviation. All these values are calculated for

the best k, i.e. k=2.

Select the Valid. Score – Detailed Rep. link in the Output Navigator to display

the Prediction of Validation Data table, shown below. This table displays the

predicted value, the actual value and the difference between them (the

residuals), for each record.

Click the Training Lift Charts and Validation Lift Charts links to display

both charts, respectively. The Lift charts (shown below) are visual aids for

measuring the model’s performance. They consist of a lift curve and a baseline.

The greater the area between the lift curve and the baseline, the better the model.

After the model is built using the training data set, the model is used to score on

the training data set and the validation data set. Then the data sets are sorted

using the predicted output variable value (or predicted probability of success in

Frontline Solvers V12.5 User Guide Page 357

the logistic regression case). After sorting, the actual outcome values of the

output variable are cumulated and the lift curve is drawn as the number of cases

versus the cumulated value. The baseline is drawn as the number of cases

versus the average of actual output variable values multiplied by the number of

cases. The decilewise lift curve is drawn as the decile number versus the

cumulative actual output variable value divided by the decile's average output

variable value.

See the Scoring chapter for information on the KNNP_Stored_1 worksheet.

k-Nearest Neighbors Prediction Method Options The following options appear on the two k-Nearest Neighbors dialogs.

Frontline Solvers V12.5 User Guide Page 358

Variables in input data

All variables in the dataset are listed here.

Input variables

Variables listed here will be utilized in the XLMiner output.

Output Variable

Select the variable whose outcome is to be predicted here.

Frontline Solvers V12.5 User Guide Page 359

Normalize Input data

When this option is selected, the input data is normalized which means that all

data is expressed in terms of standard deviations. This option is available to

ensure that the distance measure is not dominated by variables with a large

scale. This option is not selected by default.

Number of Nearest Neighbors

This is the parameter k in the k-nearest neighbor algorithm. The value of k

should be between 1 and the total number of observations (rows). Typically, this

is chosen to be in units of tens. The default value is 1.

Scoring Option

When Score on best k between 1 and specified value is selected, XLMiner will

display the output for the best k between 1 and the value entered for Number of

nearest neighbors (k). If Score on specified value of k as above is selected, the

output will be displayed for the specified value of k. The default setting is Score

on specified value of k.

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Frontline Solvers V12.5 User Guide Page 360

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score test data

These options are enabled when a test set is present. Select these options to

show an assessment of the performance of the tree in classifying the test data.

The report is displayed according to your specifications - Detailed, Summary

and Lift charts.

Score New Data See the Scoring chapter for more details on the In worksheet or In database

options.

Frontline Solvers V12.5 User Guide Page 361

Regression Tree Prediction Method

Introduction As with all regression techniques, XLMiner assumes the existence of a single

output (response) variable and one or more input (predictor) variables. The

output variable is numerical. The general regression tree building methodology

allows input variables to be a mixture of continuous and categorical variables.

A decision tree is generated where each decision node in the tree contains a test

on some input variable's value. The terminal nodes of the tree contain the

predicted output variable values.

A Regression tree may be considered as a variant of decision trees, designed to

approximate real-valued functions instead of being used for classification

methods.

Methodology

A Regression tree is built through a process known as binary recursive

partitioning. This is an iterative process that splits the data into partitions or

“branches”, and then continues splitting each partition into smaller groups as the

method moves up each branch.

Initially, all records in the training set (the pre-classified records that are used to

determine the structure of the tree) are grouped into the same partition. The

algorithm then begins allocating the data into the first two partitions or

“branches”, using every possible binary split on every field. The algorithm

selects the split that minimizes the sum of the squared deviations from the mean

in the two separate partitions. This splitting “rule” is then applied to each of the

new branches. This process continues until each node reaches a user-specified

minimum node size and becomes a terminal node. (If the sum of squared

deviations from the mean in a node is zero, then that node is considered a

terminal node even if it has not reached the minimum size.)

Pruning the tree

Since the tree is grown from the training data set, a fully developed tree

typically suffers from over-fitting (i.e. it is "explaining" random elements of the

training data that are not likely to be features of the larger population). This

over-fitting results in poor performance on “real life” data. Therefore, the tree

must be “pruned” using the validation data set. XLMiner calculates the cost

complexity factor at each step during the growth of the tree and decides the

number of decision nodes in the pruned tree. The cost complexity factor is the

multiplicative factor that is applied to the size of the tree (which is measured by

the number of terminal nodes).

Frontline Solvers V12.5 User Guide Page 362

The tree is pruned to minimize the sum of (1) the output variable variance in the

validation data, taken one terminal node at a time, and (2) the product of the cost

complexity factor and the number of terminal nodes. If the cost complexity

factor is specified as zero then pruning is simply finding the tree that performs

best on validation data in terms of total terminal node variance. Larger values of

the cost complexity factor result in smaller trees. Pruning is performed on a “last

in first out” basis meaning the last grown node is the first to be subject to

elimination.

Regression Tree Example This example illustrates XLMiner’s Regression Tree prediction method. We

will again use the Boston_Housing.xlsx example dataset. This dataset contains

14 variables, the description of each is given in the table below. The dependent

variable MEDV is the median value of a dwelling. This objective of this

example is to predict the value of MEDV.

A portion of the dataset is shown below. The last variable, CAT. MEDV, is a

discrete classification of the MEDV variable and will not be used in this

example.

CRIM Per capita crime rate by town

ZN Proportion of residential land zoned for lots over

25,000 sq.ft.

INDUS Proportion of non-retail business acres per town

CHAS Charles River dummy variable (= 1 if tract bounds

river; 0 otherwise)

NOX Nitric oxides concentration (parts per 10 million)

RM Average number of rooms per dwelling

AGE Proportion of owner-occupied units built prior to

1940

DIS Weighted distances to five Boston employment

centers

RAD Index of accessibility to radial highways

TAX Full-value property-tax rate per $10,000

PTRATIO Pupil-teacher ratio by town

B 1000(Bk - 0.63)^2 where Bk is the proportion of

African-Americans by town

LSTAT % Lower status of the population

MEDV Median value of owner-occupied homes in $1000's

Frontline Solvers V12.5 User Guide Page 363

First, we partition the data into training and validation sets using the Standard

Data Partition with percentages of 50% of the data randomly allocated to the

Training Set and 30% of the data randomly allocated to the Validation Set and

20% of the data randomly allocated to the Test Set (default settings for Specify

percentages). For more information on partitioning a dataset, see the Data

Mining Partitioning chapter.

Select a cell on the Data_Partition1 worksheet, then click Predict – Regression

Tree to open the following dialog.

Frontline Solvers V12.5 User Guide Page 364

Select MEDV as the Output variable, then select the remaining variables

(except CAT.MEDV) as the Input variables. (The Weight variable and the

Classes group are not used in the Regression Tree predictive method.)

Frontline Solvers V12.5 User Guide Page 365

Click Next to advance to the Step 2 of 3 dialog.

Leave Normalize input data option unchecked. Normalizing the data only makes

a difference if linear combinations of the input variables are used for splitting.

Enter 100 for the Maximum #splits for input variables. This is the maximum

number of splits allowed for each input variable.

Enter 25 for the Minimum #records in a terminal node. The tree will continue to

“grow” until all terminal nodes reach this size.

Select Using Best prune tree for the Scoring option. The option, Maximum

#decision nodes is enabled when Using user specified tree is selected.

Frontline Solvers V12.5 User Guide Page 366

Select Next to advance to the Step 3 of 3 dialog.

Enter 7 for the Maximum # levels to be displayed or the number of levels to be

displayed in the output file.

Select Full tree (grown using training data) to display the full regression tree

grown using the training dataset.

Frontline Solvers V12.5 User Guide Page 367

Select Pruned tree (pruned using validation data) to display the tree pruned

using the validation dataset.

Select Minimum error tree (pruned using validation data) to display the

minimum error tree, pruned using the validation dataset.

Select Detailed report, Summary report, and Lift charts under Score training

data, Score validation data, and Score test data to display each in the output.

See the Scoring chapter for details on scoring to a worksheet or database.

Click Finish. Worksheets containing the output of the method will be inserted

at the end of the workbook. The Output1 worksheet contains the Output

Navigator which allows easy access to all portions of the output.

Frontline Solvers V12.5 User Guide Page 368

Click the Valid. Score – Detailed Rep. link to navigate to the Prediction of

Validation Data table.

The Prune log (shown below) shows the residual sum of squares (RSS) at each

stage of the tree for both the training and validation data sets. This is the sum of

the squared residuals (difference between predicted and actual). The prune log

shows that the validation RSS continues reducing as the tree continues to split.

The cost complexity is calculated at each step. The Cost Complexity Factor is

the parameter that governs how far back the tree should be pruned. XLMiner

chooses the number of decision nodes for the pruned tree and the minimum error

tree from the values of RSS and the Cost Complexity Factor. In the Prune log

shown below, Validation RSS continues to reduce until the number of Decision

Nodes increases from 0 to 5. At node 6, the RSS starts to increase. The

Minimum Error and Best Pruned Tree display 6 decision nodes each.

Frontline Solvers V12.5 User Guide Page 369

Click the Best Pruned Tree link to display the Best Pruned Tree (shown

below).

Frontline Solvers V12.5 User Guide Page 370

We can read this tree as follows. LSTAT (% of the population that is lower

status) is chosen as the first splitting variable; if this percentage is > 9.54 (95

cases), then LSTAT is again chosen for splitting. Now, if LSTAT <=14.98 (36

cases) then MEDV is predicted as $20.96. So the first rule is if LSTAT >9.54

and LSTAT<=14.895 then MEDV=$20.96.

If LSTAT <= 9.54%, then we move to RM (Average No. of rooms per dwelling)

as the next divider. If RM >7.141 (12 cases), MEDV for those cases is predicted

to be $40.69 ($40.69 is a terminal node). So the second rule is "If LSTAT <=

9.54 AND RM >7.141, then MEDV = $40.69."

The output also contains summary reports on both the training data and the

validation data. These reports contain the total sum of squared errors, the root

mean square error (RMS error, or the square root of the mean squared error),

and also the average error (which is much smaller, since errors fall roughly into

negative and positive errors and tend to cancel each other out unless squared

first.)

Select the Training Lift Charts and Validation Lift Charts links to navigate to

each. Lift charts are visual aids for measuring model performance. They consist

of a lift curve and a baseline. The larger the area between the lift curve and the

baseline, the better the model.

After the model is built using the training data set, the model is used to score on

the training data set and the validation data set. Then the data sets are sorted

using the predicted output variable value. After sorting, the actual outcome

values of the output variable are cumulated and the lift curve is drawn as the

Frontline Solvers V12.5 User Guide Page 371

number of cases versus the cumulated value. The baseline is drawn as the

number of cases versus the average of actual output variable values multiplied

by the number of cases. The decilewise lift curve is drawn as the decile number

versus the cumulative actual output variable value divided by the decile's

average output variable value.

For information on the RT_Stored_1 worksheet, please see the Scoring chapter.

Regression Tree Options The options below appear on one of the three Regression Tree dialogs.

Frontline Solvers V12.5 User Guide Page 372

Variables in input data

All variables in the dataset are listed here.

Input variables

Variables listed here will be utilized in the XLMiner output.

Weight Variable

The Weight variable is not used in this method.

Output Variable

Select the variable whose outcome is to be predicted here.

Frontline Solvers V12.5 User Guide Page 373

Normalize input data

When this option is checked, XLMiner will normalize the data. Normalizing the

data (subtracting the mean and dividing by the standard deviation) is important

to ensure that the distance measure accords equal weight to each variable --

without normalization, the variable with the largest scale will dominate the

measure. Normalizing the data will only make a difference if linear

combinations of the input variables are used for determining the splits. This

option is not selected by default.

Maximum # splits for input variables

This is the maximum number of splits allowed for each input variable. The

default setting is 100.

Minimum #records in a terminal node

The tree will continue to “grow” until all terminal nodes contain this number of

records. The default setting is 25.

Scoring option

Select the tree to be used for scoring. Select Using Full tree (the default) to use

the full grown tree for scoring. Select Using Best prune tree to use the best

pruned tree for scoring. Select Using minimum error tree to use the minimum

error tree for scoring. Select Using user specified tree to use a tree specified by

the user. The option, Maximum #decision nodes in the pruned tree, is enabled

when Using user specified tree is selected.

Frontline Solvers V12.5 User Guide Page 374

Maximum #levels to be displayed

Enter the desired number of nodes to be displayed in the output here. The

default value is 5.

Full tree (grown using training data)

Select this option to display the full regression tree. The tree will be drawn

according to the maximum #levels in the tree that are specified. This option is

not selected by default.

Pruned tree (pruned using validation data)

Select this option to display the pruned tree. This option is not selected by

default.

Minimum error tree (pruned using validation data)

Select this option to display the minimum error tree, pruned using validation

data. This option is not selected by default.

Frontline Solvers V12.5 User Guide Page 375

Score training data

Select these options to show an assessment of the performance of the tree in

classifying the training data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

classifying the validation data. The report is displayed according to your

specifications - Detailed, Summary and Lift charts.

Score Test Data

Select these options to show an assessment of the performance of the tree in

classifying the test data. The report is displayed according to your specifications

- Detailed, Summary and Lift charts.

Score new Data

The options in this group let you apply the model for scoring to an altogether

new data. See the Scoring chapter for details on these options.

Frontline Solvers V12.5 User Guide Page 376

Neural Networks Prediction Method

Introduction Artificial neural networks are relatively crude electronic networks of "neurons"

based on the neural structure of the brain. They process records one at a time,

and "learn" by comparing their prediction of the record (which, at the outset, is

largely arbitrary) with the known actual record. The errors from the initial

prediction of the first record is fed back to the network and used to modify the

network’s algorithm for the second iteration. These steps are repeated multiple

times.

Roughly speaking, a neuron in an artificial neural network is

1. A set of input values (xi) with associated weights (wi)

2. A input function (g) that sums the weights and maps the results to an output

function(y).

Neurons are organized into layers: input, hidden and output. The input layer is

composed not of full neurons, but simply of the values in a record that are inputs

to the next layer of neurons. The next layer is the hidden layer of which there

could be several. The final layer is the output layer, where there is one node for

each class. A single sweep forward through the network results in the

assignment of a value to each output node. The record is assigned to the class

node with the highest value.

Frontline Solvers V12.5 User Guide Page 377

Training an Artificial Neural Network

In the training phase, the correct class for each record is known (this is termed

supervised training), and the output nodes can therefore be assigned "correct"

values -- "1" for the node corresponding to the correct class, and "0" for the

others. (In practice, better results have been found using values of “0.9” and

“0.1”, respectively.) As a result, it is possible to compare the network's

calculated values for the output nodes to these "correct" values, and calculate an

error term for each node. These error terms are then used to adjust the weights in

the hidden layers so that, hopefully, the next time around the output values will

be closer to the "correct" values.

The Iterative Learning Process

A key feature of neural networks is an iterative learning process in which

records (rows) are presented to the network one at a time, and the weights

associated with the input values are adjusted each time. After all cases are

presented, the process often starts over again. During this learning phase, the

network “trains” by adjusting the weights to predict the correct class label of

input samples. Advantages of neural networks include their high tolerance to

noisy data, as well as their ability to classify patterns on which they have not

been trained. The most popular neural network algorithm is the back-

propagation algorithm proposed in the 1980's.

Once a network has been structured for a particular application, that network is

ready to be trained. To start this process, the initial weights (described in the

next section) are chosen randomly. Then the training, or learning, begins.

The network processes the records in the training data one at a time, using the

weights and functions in the hidden layers, then compares the resulting outputs

against the desired outputs. Errors are then propagated back through the system,

causing the system to adjust the weights for the next record. This process occurs

over and over as the weights are continually tweaked. During the training of a

network the same set of data is processed many times as the connection weights

are continually refined.

Frontline Solvers V12.5 User Guide Page 378

Note that some networks never learn. This could be because the input data do

not contain the specific information from which the desired output is derived.

Networks also will not converge if there is not enough data to enable complete

learning. Ideally, there should be enough data available to create a validation set.

Feedforward, Back-Propagation

The feedforward, back-propagation architecture was developed in the early

1970's by several independent sources (Werbor; Parker; Rumelhart, Hinton and

Williams). This independent co-development was the result of a proliferation of

articles and talks at various conferences which stimulated the entire industry.

Currently, this synergistically developed back-propagation architecture is the

most popular, effective, and easy-to-learn model for complex, multi-layered

networks. Its greatest strength is in non-linear solutions to ill-defined problems.

The typical back-propagation network has an input layer, an output layer, and at

least one hidden layer. Theoretically, there is no limit on the number of hidden

layers but typically there are just one or two. Some studies have shown that the

total number of layers needed to solve problems of any complexity is 5 (one

input layer, three hidden layers and an output layer). Each layer is fully

connected to the succeeding layer.

As noted above, the training process normally uses some variant of the Delta

Rule, which starts with the calculated difference between the actual outputs and

the desired outputs. Using this error, connection weights are increased in

proportion to the error times, which are a scaling factor for global accuracy. This

means that the inputs, the output, and the desired output all must be present at

the same processing element. The most complex part of this algorithm is

determining which input contributed the most to an incorrect output and how to

modify the input to correct the error. (An inactive node would not contribute to

the error and would have no need to change its weights.) To solve this problem,

training inputs are applied to the input layer of the network, and desired outputs

are compared at the output layer. During the learning process, a forward sweep

is made through the network, and the output of each element is computed layer

by layer. The difference between the output of the final layer and the desired

output is back-propagated to the previous layer(s), usually modified by the

derivative of the transfer function. The connection weights are normally

adjusted using the Delta Rule. This process proceeds for the previous layer(s)

until the input layer is reached.

Structuring the Network

The number of layers and the number of processing elements per layer are

important decisions. These parameters, to a feedforward, back-propagation

topology, are also the most ethereal - they are the "art" of the network designer.

There is no quantifiable, best answer to the layout of the network for any

particular application. There are only general rules picked up over time and

followed by most researchers and engineers applying this architecture to their

problems.

Rule One: As the complexity in the relationship between the input data and the

desired output increases, the number of the processing elements in the hidden

layer should also increase.

Rule Two: If the process being modeled is separable into multiple stages, then

additional hidden layer(s) may be required. If the process is not separable into

stages, then additional layers may simply enable memorization of the training

set, and not a true general solution.

Frontline Solvers V12.5 User Guide Page 379

Rule Three: The amount of training data available sets an upper bound for the

number of processing elements in the hidden layer(s). To calculate this upper

bound, use the number of cases in the training data set and divide that number

by the sum of the number of nodes in the input and output layers in the network.

Then divide that result again by a scaling factor between five and ten. Larger

scaling factors are used for relatively less noisy data. If too many artificial

neurons are used the training set will be memorized, not generalized, and the

network will be useless on new data sets.

portion of the dataset is shown below. The last variable, CAT.MEDV, is a

discrete classification of the MEDV variable and will not be used in this

example.

Neural Network Prediction Method Example The example below illustrates XLMiner’s Neural Network Prediction method.

We will again use the Boston_Housing.xlsx example dataset. This dataset

contains 14 variables, the description of each is given in the table below. The

dependent variable MEDV is the median value of a dwelling. This objective of

this example is to predict the value of MEDV.

A portion of the dataset is shown below. The last variable, CAT.MEDV, is a

discrete classification of the MEDV variable and will not be used in this

example.

CRIM Per capita crime rate by town

ZN Proportion of residential land zoned for lots over

25,000 sq.ft.

INDUS Proportion of non-retail business acres per town

CHAS Charles River dummy variable (= 1 if tract bounds

river; 0 otherwise)

NOX Nitric oxides concentration (parts per 10 million)

RM Average number of rooms per dwelling

AGE Proportion of owner-occupied units built prior to

1940

DIS Weighted distances to five Boston employment

centers

RAD Index of accessibility to radial highways

TAX Full-value property-tax rate per $10,000

PTRATIO Pupil-teacher ratio by town

B 1000(Bk - 0.63)^2 where Bk is the proportion of

African-Americans by town

LSTAT % Lower status of the population

MEDV Median value of owner-occupied homes in $1000's

Frontline Solvers V12.5 User Guide Page 380

First, we partition the data into training and validation sets using the Standard

Data Partition defaults with percentages of 60% of the data randomly allocated

to the Training Set and 40% of the data randomly allocated to the Validation

Set. For more information on partitioning a dataset, see the Data Mining

Partitioning chapter.

Select a cell on the newly created Data_Partition1 worksheet, then click Predict

– Neural Network on the XLMiner ribbon. The following dialog appears.

Frontline Solvers V12.5 User Guide Page 381

Select Type as the Output variable and the remaining variables as Input

Variables (except the CAT.MEDV variable) Since the Output variable contains

three classes (A, B, and C) to denote the three different wineries, the options for

Classes in the output variable are disabled.

The Weight variable and the Success options are not used in this method and are

therefore not enabled.

Frontline Solvers V12.5 User Guide Page 382

Click Next to advance to the next dialog.

This dialog contains the options to define the network architecture. Keep

Normalize input data unselected in this example. Normalizing the data

(subtracting the mean and dividing by the standard deviation) is important to

ensure that the distance measure accords equal weight to each variable --

without normalization, the variable with the largest scale would dominate the

measure.

Keep the # Hidden Layers at the default value of 1. Click the up arrow to

increase the number of hidden layers. The default setting is 1. XLMiner

supports up to 4 hidden layers.

Enter 25 for the # Nodes for the Hidden layer.

Frontline Solvers V12.5 User Guide Page 383

Enter 500 for # Epochs. An epoch is one sweep through all records in the

training set.

Keep the default setting of 0.1 for Step size for gradient descent. This is the

multiplying factor for the error correction during backpropagation; it is roughly

equivalent to the learning rate for the neural network. A low value produces

slow but steady learning, a high value produces rapid but erratic learning.

Values for the step size typically range from 0.1 to 0.9.

Keep the default setting of 0.6 for Weight change momentum. In each new

round of error correction, some memory of the prior correction is retained so

that an outlier does not spoil accumulated learning.

Keep the default setting of 0.01 for Error tolerance. The error in a particular

iteration is backpropagated only if it is greater than the error tolerance. Typically

error tolerance is a small value in the range from 0 to 1.

Keep the default setting of 0 for Weight decay. To prevent over-fitting of the

network on the training data, set a weight decay to penalize the weight in each

iteration. Each calculated weight will be multiplied by 1-decay.

Click Next to advance to the Step 3 of 3 dialog.

Frontline Solvers V12.5 User Guide Page 384

Select Detailed report, Summary report, and Lift charts under Score training

data and Score validation data to show an assessment of the performance of the

tree in predicting the output variable. The output is displayed according to the

user’s specifications – Detailed, Summary, and/or Lift charts.

If a test dataset exists, the options under Score test data will be enabled. Select

Detailed report, Summary report, and Lift charts under Score test data to show

an assessment of the performance of the test dataset in predicting the output

variable. The output is displayed according to the user’s specifications –

Detailed, Summary, and/or Lift charts.

See the Scoring chapter for information on options under Score new data.

Click Finish to initiate the output. Worksheets containing the output of the

model will be inserted at the end of the workbook. The Output Navigator

appears on the NNP_Output1 worksheet. Click any link to easily view the

results.

Frontline Solvers V12.5 User Guide Page 385

The Data, Variables, and Parameters Options sections reflect the user inputs.

Click the Valid. Score – Detailed Rep. link on the Output Navigator to

navigate to the Prediction of Validation Data table on the NNP_ValidScore1

worksheet. This table displays the Actual and Predicted values for the

validation dataset.

XLMiner also provides intermediate information produced during the last pass

through the network. Scroll down on the Output1 worksheet to the Interlayer

connections' weights table.

Frontline Solvers V12.5 User Guide Page 386

Recall that a key element in a neural network is the weights for the connections

between nodes. In this example, we chose to have one hidden layer, and we also

chose to have 25 nodes in that layer. XLMiner's output contains a section that

contains the final values for the weights between the input layer and the hidden

layer, between hidden layers, and between the last hidden layer and the output

layer. This information is useful at viewing the “insides” of the neural network;

however, it is unlikely to be of utility to the data analyst end-user. Displayed

above are the final connection weights between the input layer and the hidden

layer for our example.

Click the Training Epoch Log link on the Output Navigator to display the

following log.

During an epoch, each training record is fed forward in the network and

classified. The error is calculated and is back propagated for the weights

correction. As a result, weights are continuously adjusted during the epoch. The

Frontline Solvers V12.5 User Guide Page 387

classification error is computed as the records pass through the network. It does

not report the classification error after the final weight adjustment. Scoring of

the training data is performed using the final weights so the training

classification error may not exactly match with the last epoch error in the Epoch

log.

See the Scoring chapter for information on the Stored Model Sheet,

NNC_Stored_1.

Neural Network Prediction Method Options The options below appear on one of the three Neural Network Prediction

method dialogs.

Variables in input data

All variables in the dataset are listed here.

Input variables

Variables listed here will be utilized in the XLMiner output.

Weight Variable

The Weight variable is not used in this method.

Frontline Solvers V12.5 User Guide Page 388

Output Variable

Select the variable whose outcome is to be predicted here.

Normalize input data

Normalizing the data (subtracting the mean and dividing by the standard

deviation) is important to ensure that the distance measure accords equal weight

to each variable -- without normalization, the variable with the largest scale

would dominate the measure. This option is not selected by default.

# Hidden Layers

Click the up and down arrows until the desired number of hidden layers appears.

The default setting is 1. XLMiner supports up to 4 hidden layers.

# Nodes

Enter the number of nodes per layer here. The first field is for the first hidden

layer, the second field is for the second hidden layer, etc.

# Epochs

An epoch is one sweep through all records in the training set. The default

setting is 30.

Step size for gradient descent

This is the multiplying factor for the error correction during backpropagation; it

is roughly equivalent to the learning rate for the neural network. A low value

produces slow but steady learning, a high value produces rapid but erratic

learning. Values for the step size typically range from 0.1 to 0.9. The default

setting is 0.1.

Frontline Solvers V12.5 User Guide Page 389

Weight change momentum

In each new round of error correction, some memory of the prior correction is

retained so that an outlier that crops up does not spoil accumulated learning.

The default setting is 0.6.

Error tolerance

The error in a particular iteration is backpropagated only if it is greater than the

error tolerance. Typically error tolerance is a small value in the range from 0 to

1. The default setting is 0.01.

Weight decay

To prevent over-fitting of the network on the training data, set a weight decay to

penalize the weight in each iteration. Each calculated weight will be multiplied

by (1-decay). The default setting is 0.

Score training data

Select these options to show an assessment of the performance of the tree in

predicting the output variable using the training data. The report is displayed

according to your specifications - Detailed, Summary and Lift charts.

Score validation data

Select these options to show an assessment of the performance of the tree in

predicting the value of the output variable using the validation data. The report

is displayed according to your specifications - Detailed, Summary and Lift

charts.

Frontline Solvers V12.5 User Guide Page 390

Score Test Data

Select these options to show an assessment of the performance of the tree in

predicting the output variable using the test data. The report is displayed

according to your specifications - Detailed, Summary and Lift charts.

Score new Data

The options in this group apply the model to be scored to an altogether new

dataset. See the Scoring chapter for details on these options.

Frontline Solvers V12.5 User Guide Page 391

Association Rules

Introduction The goal of association rule mining is to recognize associations and/or

correlations among large sets of data items. A typical and widely-used example

of association rule mining is the Market Basket Analysis. Most ‘market basket’

databases consist of a large number of transaction records where each record

lists all items purchased by a customer during a trip through the check-out line.

Data is easily and accurately collected through the bar-code scanners.

Supermarket managers are interested in determining what foods customers

purchase together, like, for instance, bread and milk, bacon and eggs, wine and

cheese, etc. This information is useful in planning store layouts (placing items

optimally with respect to each other), cross-selling promotions, coupon offers,

etc.

Association rules provide results in the form of "if-then" statements. These rules

are computed from the data and, unlike the if-then rules of logic, are

probabilistic in nature. The “if” portion of the statement is referred to as the

antecedent and the “then” portion of the statement is referred to as the

consequent.

In addition to the antecedent (the "if" part) and the consequent (the "then" part),

an association rule contains two numbers that express the degree of uncertainty

about the rule. In association analysis the antecedent and consequent are sets of

items (called itemsets) that are disjoint meaning they do not have any items in

common. The first number is called the support which is simply the number of

transactions that include all items in the antecedent and consequent. (The

support is sometimes expressed as a percentage of the total number of records in

the database.) The second number is known as the confidence which is the ratio

of the number of transactions that include all items in the consequent as well as

the antecedent (namely, the support) to the number of transactions that include

all items in the antecedent. For example, assume a supermarket database has

100,000 point-of-sale transactions, out of which 2,000 include both items A and

B and 800 of these include item C. The association rule "If A and B are

purchased then C is purchased on the same trip" has a support of 800

transactions (alternatively 0.8% = 800/100,000) and a confidence of 40%

(=800/2,000). In other works, support is the probability that a randomly selected

transaction from the database will contain all items in the antecedent and the

consequent. Confidence is the conditional probability that a randomly selected

transaction will include all the items in the consequent given that the transaction

includes all the items in the antecedent.

Lift is one more parameter of interest in the association analysis. Lift is the ratio

of Confidence to Expected Confidence. Expected Confidence, in the example

above, is the "confidence of buying A and B does not enhance the probability of

buying C." or the number of transactions that include the consequent divided by

the total number of transactions. Suppose the total number of transactions for C

is 5,000. Expected Confidence is computed as 5% (5,000/1,000,000) while the

ratio of Lift Confidence to Expected Confidence is 8 (40%/5%). Hence, Lift is a

Frontline Solvers V12.5 User Guide Page 392

value that provides information about the increase in probability of the "then"

(consequent) given the "if" (antecedent).

A lift ratio larger than 1.0 implies that the relationship between the antecedent

and the consequent is more significant than would be expected if the two sets

were independent. The larger the lift ratio, the more significant the association.

Association Rule Example This example below illustrates XLMiner’s Association Rule method. Click

Help – Examples to open the Associations.xlsx example file. A portion of the

dataset is shown below.

Select a cell in the dataset, say, A2, then click Associate – Association Rules to

open the Association Rule dialog, shown below.

Since the data contained in the Associations.xlsx dataset are all 0’s and 1’s,

select Data in binary matrix format for the Input data format. This option

should be selected if each column in the data represents a distinct item.

XLMiner will treat the data as a matrix of two entities -- zeros and non-zeros.

Frontline Solvers V12.5 User Guide Page 393

All non-zeros are treated as 1's. A 0 signifies that the item is absent in that

transaction and a 1 signifies the item is present. Select Data in item list format

when each row of data consists of item codes or names that are present in that

transaction. Enter 100 for the Minimum Support (# transactions). This option

specifies the minimum number of transactions in which a particular item-set

must appear to qualify for inclusion in an association rule. Enter 90 for

Minimum confidence. This option specifies the minimum confidence threshold

for rule generation. If A is the set of Antecedents and C the set of Consequents,

then only those A =>C ("Antecedent implies Consequent") rules will qualify, for

which the ratio (support of A U C) / (support of A) at least equals this

percentage.

Click OK. The output worksheet, AssocRules_1, is inserted immediately after

the Assoc_binary worksheet. Click the column titles to sort each rule by

ascending or descending values.

Rule 2 indicates that if an Italian cookbook and a Youth book are purchased,

then with 100% confidence a second cookbook will also be purchased. Support

(a) indicates that the rule has support of all 118 transactions, meaning that 118

people bought an Italian cookbook and a Youth book. Support (c) indicates the

number of transactions involving the purchase of cookbooks. Support (a U c)

Frontline Solvers V12.5 User Guide Page 394

indicates the number of transactions where an Italian cookbook and a Youth

book as well as a second cookbook were purchased.

The Lift Ratio indicates how much more likely a transaction will be found

where an Italian cookbook and a Youth book are purchased, as compared to the

entire population of transactions. In other words, the Lift Ratio is the

confidence divided by support (c), where the latter is expressed as a percentage.

For Rule 2, with a confidence of 100%, support is calculated as 862/2000 * 100

= 43.1. Consequently, the Lift ratio is calculated as 100/43.1 or 2.320186.

Given support at 100% and a lift ratio of 2.320186, this rule can be considered

“useful”.

Association Rule Options The following options appear on the Association Rule dialog.

Input data format

Select Data in binary matrix format if each column in the data represents a

distinct item. If this option is selected, XLMiner treats the data as a matrix of

two entities -- zeros and non-zeros. All non-zeros are treated as 1's. So,

effectively the data set is converted to a binary matrix which contains 0's and 1's.

A 0 indicates that the item is absent in the transaction and a 1 indicates it is

present.

Select Input Data in item list format if each row of data consists of item codes

or names that are present in that transaction.

Minimum support (# transactions)

Specify the minimum number of transactions in which a particular item-set must

appear for it to qualify for inclusion in an association rule here. The default

setting is 200.

Frontline Solvers V12.5 User Guide Page 395

Minimum confidence (%)

A value entered for this option specifies the minimum confidence threshold for

rule generation. If A is the set of Antecedents and C the set of Consequents, then

only those A =>C ("Antecedent implies Consequent") rules will qualify, for

which the ratio (support of A U C) / (support of A) is greater than or equal to.

The default setting is 50.

Frontline Solvers V12.5 User Guide Page 396

Scoring New Data

Introduction XLMiner provides a method for scoring new data in a database or worksheet

with any of the Classification or Prediction algorithms. This facility matches the

input variables to the database (or worksheet) fields and then performs the

scoring on the database (or worksheet).

Scoring to a Database Refer to the Discriminant Analysis example in the previous chapter

Discriminant Analysis Classification Method for instructions on advancing to

the Discriminant Analysis Step 3 of 3 dialog. This feature can be used with any

of the Classification or Prediction algorithms and can be found on the last dialog

for each method. In the Discriminant Analysis method, this feature is found on

the Step 3 of 3 dialog.

In the Score new data in group, select Database. The Scoring to Database

dialog opens.

Frontline Solvers V12.5 User Guide Page 397

The first step on this dialog is to select the Data source. Once the Data source

is selected, Connect to a database… will be enabled.

If your database is a SQL Server database, select SQL Server for Data source

then click Connect to a database…, the following dialog will appear. Enter the

appropriate details, then click OK to be connected to the database.

If your data source is an Oracle database, select Oracle as Data source, then

click Connect to a database…, the following dialog will appear.

Enter the appropriate details and click OK to connect to the database.

Frontline Solvers V12.5 User Guide Page 398

This example illustrates how to score to an MS-Access database. Select MS-

Access for the Data source, then click Connect to a Database… The following

dialog appears.

Click Browse for database file… and browse to C:\Program Files\Frontline

Systems\Analytic Solver Platform\Datasets\dataset.mdb,

then click Open. The MS-Access database file dialog re-appears.

Frontline Solvers V12.5 User Guide Page 399

Click OK to close the MS-Access database file dialog. The Scoring to Database

dialog re-appears. Select Boston_Housing for Select table/view. The dialog

will be populated with variables from the database, dataset.mdb, under Fields in

table and with variables from the Boston_Housing.xlsx workbook under

Variables in input data.

XLMiner offers three easy techniques to match variables in the dataset to

variables in the database:

1. Matching variables with the same names.

2. Matching the first N variables where N is the number of input

variables.

3. Manually matching the variables.

If Match variable(s) with same names(s) is clicked, all similar named

variables in Boston_Housing.xlsx will be matched with similar named variables

in dataset.mdb, as shown in the screenprint below. Note that the additional

database fields remain in the Fields in table listbox while all variables in the

Variables in input data listbox have been matched.

Frontline Solvers V12.5 User Guide Page 400

If Match the first 11 variables in the same sequence is clicked, the first 11

variables in Boston_Housing.xlsx will be matched with the first 11 variables in

the dataset.mdb database.

The first 11 variables in both the database and the dataset are now matched

under Variables in input data. The additional database fields remain under

Fields in table.

Note: The 11 in Match the first 11 variables in the same sequence command

button title will change with the number of input variables.

Frontline Solvers V12.5 User Guide Page 401

To manually map variables from the dataset to the database, select a variable

from the database in the Fields in table listbox, then select the variable to be

matched in the dataset in the Variables in input data listbox, then click Match.

For example to match the CRIM variable in the database to the CRIM variable

in the dataset, select CRIM from the dataset.mdb database in the Fields in table

listbox, select CRIM from the Boston_Housing.xlsx dataset in the Variables in

input data listbox, then click Match CRIM < -- > CRIM to match the two

Frontline Solvers V12.5 User Guide Page 402

variables.

Notice that CRIM has been removed from the Fields in table listbox and is now

listed next to CRIM in the Variables in input data listbox. Continue with these

steps to match the remaining 10 variables in the Boston_Housing.xlsx dataset.

To unmatch all variables click Unmatch all. To unmatch a single match,

highlight the match, then click Unmatch the selected variable.

Frontline Solvers V12.5 User Guide Page 403

The Output Field can be selected from the remaining database fields listed under

Fields in table or a new Output Field can be added. Note: An output field

must be a string. To select an output field from the remaining database fields,

select the field to be added as the output field, in this case, nfld, then click > to

the right of the Select output field radio button.

In this example, the field nfld is the only remaining database field which is a

string so it is the only choice for the output field. To choose a different output

field click the < command button to return the nfld field to the Fields in table

listbox.

To add a new field for the output, select Add new field for output radio button,

then type a name for this new field such as “Output_Field”. XLMiner will

create the new field in the dataset.mdb database

Frontline Solvers V12.5 User Guide Page 404

After all the desired variables in the input data have been matched, OK will be

enabled, click to return to the original Step 3 of 3 dialog. Notice that Database

is selected.

Click Finish to create the scoring report on the DA_DBScore1 worksheet.

Frontline Solvers V12.5 User Guide Page 405

Scoring on New Data XLMiner can also perform scoring on new data in a worksheet. Click Help –

Examples on the XLMiner ribbon and open the Digit.xlsx and

Flying_Fitness.xlsx example datasets. Select a cell on the Data worksheet of

Flying_Fitness.xlsx workbook, say cell A2, and click Classify – Discriminant

Analysis to open the Discriminant Analysis Step 1 of 3 dialog.

Select Var2, Var3, Var4, Var5, and Var6 as the Input variables and

TestRes/Var1 as the Output variable.

Click Next to advance to the Step 2 of 3 dialog. Then click Next on the Step 2

of 3 dialog to accept the defaults.

Frontline Solvers V12.5 User Guide Page 406

On the Step 3 of 3 dialog, select Detailed report in the Score new data in group.

The dialog for Match variables in the new page appears.

Frontline Solvers V12.5 User Guide Page 407

Select Digits.xlsx for Workbook at the top of the dialog.

In the dialog above, the variables listed under Variables in new data are from

Digits.xlsx and the variables listed under Variables in input data are from

Flying_Fitness.xlsx. Again, variables can be matched in three different ways.

1. Match variables with same names.

2. Match the first N variables where N is the number of variables

included in the input data.

Frontline Solvers V12.5 User Guide Page 408

3. Manually matching variables in the two sets.

If Match variable(s) with same name(s) is clicked, no variables will be matched

as no variables share the same names.

If Match the first 5 variables in the same sequence is clicked, the first five

variables from each listbox are matched as shown below.

Finally, variables may be matched manually by selecting a variable under

Variables in new data, selecting a variable in Variables in input data, and

clicking Match. For example, select y under Variables in new data and Var2

under Variables in input data, then click Match y < -- > Var2.

Frontline Solvers V12.5 User Guide Page 409

Notice y has been removed from the Variables in new data listbox and added to

the Variables in input data listbox.

Continue these steps until all input variables are matched.

Frontline Solvers V12.5 User Guide Page 410

To unmatch all matched variables, click Unmatch all. To unmatch only one set

of matched variables, select the matched variables in the Variables in input data

listbox, then select Unmatch.

Click OK to return to the Step 3 of 3 dialog. Notice Detailed report is now

selected in the Score new data in group and Canonical Scores has been enabled

within that same group.

Click Finish to review the output. Click the DA_NewScore1 worksheet to view

the output as shown below. All variables in the input data have been matched

Frontline Solvers V12.5 User Guide Page 411

with the variables in the new data. Instead of Var2, y is listed, instead of Var3,

x1 is listed, instead of Var4, x2 is listed, etc.

Frontline Solvers V12.5 User Guide Page 412

Scoring Test Data

Introduction When XLMiner calculates prediction or classification results, internal values

and coefficients are generated and used in the computations. XLMiner saves

these values to an additional output sheet, termed Stored Model Sheet, which

uses the worksheet name, XX_Stored_N where XX are the initials of the

classification or prediction method and N is the number of generated stored

sheets. This sheet is used when scoring the test data. Note: In previous

versions of XLMiner, this utility was a separate add-on application named

XLMCalc. In XLMiner V12.5, this utility is included free of charge and can be

accessed under Score in the Tools section of the XLMiner ribbon.

The material saved to the Stored Model Sheet varies with the classification or

prediction method used. Please see the table below for details.

Classification/Prediction Method Contents of Stored Model Sheet

Multiple Linear or Logistic Regression Coefficients of the regression

equation.

Classification or Regression Trees Tree rules for all selected trees.

Naïve Bayes Each variable value, class and all

class probabilities.

k-Nearest Neighbors Model generated from training data.

Neural Networks All weights between Input, Hidden,

and Output layers

Discriminant Analysis Discriminant coefficients for each

class.

For example, assume the Multiple Linear Regression prediction method has just

finished. The Stored Model Sheet (MLR_Stored_1) will contain the regression

equation. When the Score Test Data utility is invoked, XLMiner will apply this

equation from the Stored Model Sheet to the test data.

Along with values required to generate the output, the Stored Model Sheet also

contains information associated with the input variables that were present in the

training data. The dataset on which the scoring will be performed should

contain at least these original Input variables. XLMiner offers a “matching”

utility that will match the Input variables in the training set to the variables in

the new dataset so the variable names are not required to be identical in both

data sets (training and test).

Frontline Solvers V12.5 User Guide Page 413

Scoring Test Data Example This example illustrates how to score test data using a stored model sheet using

output from a Multiple Linear Regression. This procedure may be repeated on

stored model sheets generated from the following Classification or Prediction

routines: Logistic Regression, k-Nearest Neighbors, Neural Networks, Naive

Bayes, or Discriminant Analysis.

Click Help – Examples on the XLMiner ribbon and open the example files,

Scoring.xlsm and Boston_Housing.xlsx. The Scoring.xlsm workbook contains

the MLR_Stored_1 worksheet which was generated by the Multiple Linear

Regression prediction routine on the Boston_Housing example dataset.

Select a cell on the Data worksheet within the Boston_Housing.xlsx workbook,

say A2, then click Score on the XLMiner ribbon. Under Data to be scored,

confirm that Data appears as the Worksheet and Boston_Housing.xlsx as the

Workbook.

Under Stored Model, select Scoring.xlsm for Workbook,

then MLR_Stored_1 under Worksheet.

Frontline Solvers V12.5 User Guide Page 414

Click Next. XLMiner will open the Match variables – Step 2 dialog which is

where the matching of the Input variables to the New Data variables will take

place.

XLMiner displays the list of variables on the Stored Model Sheet under

Variables in stored model and the variables in the new data under Variables in

new data.

Variables may be matched using three easy techniques: by name, by sequence

or manually.

If Match variable(s) with same names(s) is clicked, all similar named

variables in the stored model sheet will be matched with similar named variables

in the new dataset. However, since none of the variables in either list are named

similarly, no variables are “matched”.

If Match variables in stored model in same sequence is clicked, the Variables

in the stored model will be matched with the Variables in the new data in order

that they appear in the two listboxes. For example, the variable CRIM from the

new dataset will be matched with the variable CRIM_Scr from the stored model

sheet, the variable ZN from the new data will be matched with the variable

ZN_Scr from the stored model sheet and so on.

Frontline Solvers V12.5 User Guide Page 415

Since the stored model sheet only contains 13 variables while the new data

contains 15 variables, two variables will remain in the Variables in new data

listbox. Note: It is essential that the variables in the new data set appear in the

same sequence as the variables in the stored model when using this matching

technique.

To manually map variables from the stored model sheet to the new data set,

select a variable from the new data set in the Variables in new data listbox, then

select the variable to be matched in the stored model sheet in the Variables in

stored model listbox, then click Match. For example to match the CRIM

variable in the new dataset to the CRIM_Scr variable in the stored model sheet,

select CRIM from the Variables in new data listbox, select CRIM_Scr from

the stored model sheet in the Variables in stored model listbox, then click

Match CRIM < -- > CRIM to match the two variables.

Notice that CRIM has been removed from the Variables in new data listbox and

is now listed next to CRIM_SCR in the Variables in stored model listbox.

Continue with these steps to match the remaining 12 variables in the stored

model sheet.

Frontline Solvers V12.5 User Guide Page 416

To unmatch all variables click Unmatch all. To unmatch CRIM and

CRIM_SCR, click Unmatch CRIM_SCR <- -> CRIM.

For this example, click Match variables in stored model in same sequence to

match the variables in the new dataset to the variables on the stored model sheet.

Then click OK. A new sheet MLR_Score1 will be added to

Boston_Housing.xlsx. A portion of this output is shown below.

Now let’s apply these same steps to a stored model sheet created by the

Classification Tree classification method.

Click Score on the XLMiner ribbon. Confirm that Boston_Housing.xlsx is

selected for Workbook and Data is selected for Worksheet under Data to be

scored. Then, under Stored Model, select Scoring.xlsm for Workbook and

CT_Stored_1 for Worksheet.

Click Next to advance to the Step 2 dialog. Click Match variables in stored

model in same sequence.

Frontline Solvers V12.5 User Guide Page 417

Click Next to advance to the Step 3 dialog.

Click the down arrow to select the desired scoring option, then click OK. (Since

this stored model sheet was created when only the Full Tree Rules option was

selected during the Classification Tree method, this is the only option.) The

worksheet CT_Score1 will be added at the end of the workbook. A portion of

the output is shown below.

Frontline Solvers V12.5 User Guide Page 418

Scoring Test Data Options The options below appear on one of the Scoring Test Data dialogs.

Data to be Scored

Workbook: Select the open workbook containing the data to be scored here.

Worksheet: Select the worksheet, from the Workbook selection, containing the

data to be scored here.

Data Range: The dataset range will be prefilled here. If not prefilled, enter the

dataset range here.

First Row Contains Headers: This option is selected by default and indicates to

XLMiner to list variables in the Step 2 dialog by their column headings.

Stored Model

Workbook: Select the open workbook containing the Stored Model Sheet here.

Worksheet: Select the Stored Model worksheet, from the Workbook selection,

here.

Frontline Solvers V12.5 User Guide Page 419

XLMiner displays the list of variables on the Stored Model Sheet under

Variables in stored model and the variables in the new data under Variables in

new data.

Variables may be matched using three easy techniques: by name, by sequence,

or manually.

Match by Name

If Match variable(s) with same names(s) is clicked, all similar named

variables in the stored model sheet will be matched with similar named variables

in the new dataset. However, if none of the variables in either list are named

similarly, no variables will be “matched”.

Match by Sequence

If Match variables in stored model in same sequence is clicked, the Variables

in the stored model will be matched with the Variables in the new data in order

that they appear in the two listboxes. In the dialog above, the variable CRIM

from the new dataset will be matched with the variable CRIM_Scr from the

stored model sheet, the variable ZN from the new data will be matched with the

variable ZN_Scr from the stored model sheet and so on.

Manual Match

To manually map variables from the stored model sheet to the new data set,

select a variable from the new data set in the Variables in new data listbox, then

select the variable to be matched in the stored model sheet in the Variables in

stored model listbox, then click Match. To match the CRIM variable in the new

dataset to the CRIM_Scr variable in the stored model sheet in the dialog above,

select CRIM from the Variables in new data listbox, select CRIM_Scr from

the stored model sheet in the Variables in stored model listbox, then click

Match CRIM < -- > CRIM.

Frontline Solvers V12.5 User Guide Page 420

When scoring to a Stored Model Sheet generated by the Classification Tree

method, an additional dialog will appear. Click the down arrow to select the

desired scoring rule. The options appearing in this drop down are based on the

options selected on the Classification Tree Step 3 of 3 dialog.