Texts in Computer Science Editors DavidGries FredB.Schneider Forfurthervolumes: http://www.springer.com/series/3191 (cid:2) (cid:2) Michael R. Berthold Christian Borgelt (cid:2) Frank Höppner Frank Klawonn Guide to Intelligent Data Analysis How to Intelligently Make Sense of Real Data Prof.Dr.MichaelR.Berthold Prof.Dr.FrankHöppner FBInformatikund FBWirtschaft Informationswissenschaft OstfaliaUniversityofAppliedSciences UniversitätKonstanz Robert-Koch-Platz10-14 78457Konstanz 38440Wolfsburg Germany Germany [email protected] [email protected] Dr.ChristianBorgelt Prof.Dr.FrankKlawonn IntelligentDataAnalysis& FBInformatik GraphicalModelsResearchUnit OstfaliaUniversityofAppliedSciences EuropeanCentreforSoftComputing SalzdahlumerStr.46/48 C/GonzaloGutiérrezQuiróss/n 38302Wolfenbüttel Edifici Científico- echnológico Germany CampusMieres,3aPlanta [email protected] 33600Mieres,Asturias Spain [email protected] SeriesEditors DavidGries FredB.Schneider DepartmentofComputerScience DepartmentofComputerScience UpsonHall UpsonHall CornellUniversity CornellUniversity Ithaca,NY14853-7501,USA Ithaca,NY14853-7501,USA ISSN1868-0941 e-ISSN1868-095X ISBN978-1-84882-259-7 e-ISBN978-1-84882-260-3 DOI10.1007/978-1-84882-260-3 SpringerLondonDordrechtHeidelbergNewYork BritishLibraryCataloguinginPublicationData AcataloguerecordforthisbookisavailablefromtheBritishLibrary LibraryofCongressControlNumber:2010930517 ©Springer-VerlagLondonLimited2010 Apartfromanyfairdealingforthepurposesofresearchorprivatestudy,orcriticismorreview,asper- mittedundertheCopyright,DesignsandPatentsAct1988,thispublicationmayonlybereproduced, storedortransmitted,inanyformorbyanymeans,withthepriorpermissioninwritingofthepublish- ers,orinthecaseofreprographicreproductioninaccordancewiththetermsoflicensesissuedbythe CopyrightLicensingAgency.Enquiriesconcerningreproductionoutsidethosetermsshouldbesentto thepublishers. Theuseofregisterednames,trademarks,etc.,inthispublicationdoesnotimply,evenintheabsenceofa specifi statement,thatsuchnamesareexemptfromtherelevantlawsandregulationsandthereforefree forgeneraluse. Thepublishermakesnorepresentation,expressorimplied,withregardtotheaccuracyoftheinformation containedinthisbookandcannotacceptanylegalresponsibilityorliabilityforanyerrorsoromissions thatmaybemade. Coverdesign:VTeX,Vilnius Printedonacid-freepaper SpringerispartofSpringerScience+BusinessMedia(www.springer.com) Preface Themainmotivationtowritethisbookcamefromallourproblemstofin suitable materialforatextbookthatwouldreallyhelpustoteachthepracticalaspectsofdata analysistogetherwiththeneededtheoreticalunderpinnings.Manybooksoutthere tackleeitheroneortheotheroftheseaspects(and,especiallyforthelatter,thereare somefantastictextbooksoutthere),butabookprovidingagoodcombinationwas nowheretobefound. Theideatowriteourownbooktoaddressthisshortcomingaroseintwodifferent places at the same time—when one of the authors was asked to review the book proposal of the others, we quickly realized that it would be much better to join forcesinsteadofindependentlypursuingourindividualprojects. Wehopethatthisbookhelpsotherstolearnwhatkindofchallengesdataanalysts face in the real world and at the same time provides them with solid knowledge abouttheprocesses,algorithms,andtheoriestosuccessfullytackletheseproblems. Wehaveputalotofeffortintobalancingthepracticalaspectsofapplyingandusing dataanalysistechniqueswhilemakingsureatthesametimethatwedidnotforget toalsoexplainthestatisticalandmathematicalunderpinningsbehindthealgorithms beneathallofthis. There are many people to be thanked, and we will not attempt to list them all. However,wedowanttosingleoutIrisAdäwhohasbeenatremendoushelpwith thegenerationofthedatasetsusedinthisbook.SheandMartinHornalsodeserve ourthanksforanintenselastminuteroundofproofreading. Konstanz,Germany MichaelR.Berthold Oviedo,Spain ChristianBorgelt Braunschweig,Germany FrankHöppnerandFrankKlawonn v Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 DataandKnowledge. . . . . . . . . . . . . . . . . . . . . 2 1.1.2 TychoBraheandJohannesKepler. . . . . . . . . . . . . . 4 1.1.3 IntelligentDataAnalysis . . . . . . . . . . . . . . . . . . 6 1.2 TheDataAnalysisProcess. . . . . . . . . . . . . . . . . . . . . . 7 1.3 Methods,Tasks,andTools . . . . . . . . . . . . . . . . . . . . . . 11 1.4 HowtoReadThisBook . . . . . . . . . . . . . . . . . . . . . . . 13 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2 PracticalDataAnalysis:AnExample . . . . . . . . . . . . . . . . . . 15 2.1 TheSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 DataUnderstandingandPatternFinding . . . . . . . . . . . . . . 16 2.3 ExplanationFinding . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4 PredictingtheFuture . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 ConcludingRemarks. . . . . . . . . . . . . . . . . . . . . . . . . 23 3 ProjectUnderstanding . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1 DeterminetheProjectObjective . . . . . . . . . . . . . . . . . . . 26 3.2 AssesstheSituation . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3 DetermineAnalysisGoals . . . . . . . . . . . . . . . . . . . . . . 30 3.4 FurtherReading . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 DataUnderstanding . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1 AttributeUnderstanding . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 DataQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3 DataVisualization . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3.1 MethodsforOneandTwoAttributes . . . . . . . . . . . . 40 4.3.2 MethodsforHigher-DimensionalData . . . . . . . . . . . 48 4.4 CorrelationAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . 59 vii viii Contents 4.5 OutlierDetection. . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.5.1 OutlierDetectionforSingleAttributes . . . . . . . . . . . 63 4.5.2 OutlierDetectionforMultidimensionalData . . . . . . . . 64 4.6 MissingValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.7 AChecklistforDataUnderstanding . . . . . . . . . . . . . . . . . 68 4.8 DataUnderstandinginPractice . . . . . . . . . . . . . . . . . . . 69 4.8.1 DataUnderstandinginKNIME . . . . . . . . . . . . . . . 70 4.8.2 DataUnderstandinginR . . . . . . . . . . . . . . . . . . 73 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5 PrinciplesofModeling . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.1 ModelClasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.2 FittingCriteriaandScoreFunctions . . . . . . . . . . . . . . . . . 85 5.2.1 ErrorFunctionsforClassificatio Problems. . . . . . . . . 87 5.2.2 MeasuresofInterestingness . . . . . . . . . . . . . . . . . 89 5.3 AlgorithmsforModelFitting . . . . . . . . . . . . . . . . . . . . 89 5.3.1 ClosedFormSolutions . . . . . . . . . . . . . . . . . . . 89 5.3.2 GradientMethod . . . . . . . . . . . . . . . . . . . . . . . 90 5.3.3 CombinatorialOptimization . . . . . . . . . . . . . . . . . 92 5.3.4 RandomSearch,GreedyStrategies,andOtherHeuristics . 92 5.4 TypesofErrors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.4.1 ExperimentalError . . . . . . . . . . . . . . . . . . . . . 94 5.4.2 SampleError . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4.3 ModelError . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.4.4 AlgorithmicError . . . . . . . . . . . . . . . . . . . . . . 101 5.4.5 MachineLearningBiasandVariance . . . . . . . . . . . . 101 5.4.6 LearningWithoutBias? . . . . . . . . . . . . . . . . . . . 102 5.5 ModelValidation. . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.5.1 TrainingandTestData . . . . . . . . . . . . . . . . . . . . 102 5.5.2 Cross-Validation . . . . . . . . . . . . . . . . . . . . . . . 103 5.5.3 Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . 104 5.5.4 MeasuresforModelComplexity . . . . . . . . . . . . . . 105 5.6 ModelErrorsandValidationinPractice . . . . . . . . . . . . . . . 111 5.6.1 ErrorsandValidationinKNIME . . . . . . . . . . . . . . 111 5.6.2 ValidationinR . . . . . . . . . . . . . . . . . . . . . . . . 111 5.7 FurtherReading . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6 DataPreparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.1 SelectData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.1.1 FeatureSelection . . . . . . . . . . . . . . . . . . . . . . 116 6.1.2 DimensionalityReduction . . . . . . . . . . . . . . . . . . 121 6.1.3 RecordSelection . . . . . . . . . . . . . . . . . . . . . . . 121 6.2 CleanData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.2.1 ImproveDataQuality . . . . . . . . . . . . . . . . . . . . 123 Contents ix 6.2.2 MissingValues . . . . . . . . . . . . . . . . . . . . . . . . 124 6.3 ConstructData . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.3.1 ProvideOperability . . . . . . . . . . . . . . . . . . . . . 127 6.3.2 AssureImpartiality . . . . . . . . . . . . . . . . . . . . . 129 6.3.3 MaximizeEffciency . . . . . . . . . . . . . . . . . . . . . 131 6.4 ComplexDataTypes . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.5 DataIntegration . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.5.1 VerticalDataIntegration . . . . . . . . . . . . . . . . . . . 136 6.5.2 HorizontalDataIntegration . . . . . . . . . . . . . . . . . 136 6.6 DataPreparationinPractice . . . . . . . . . . . . . . . . . . . . . 138 6.6.1 DataPreparationinKNIME . . . . . . . . . . . . . . . . . 139 6.6.2 DataPreparationinR . . . . . . . . . . . . . . . . . . . . 141 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 7 FindingPatterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 7.1 HierarchicalClustering . . . . . . . . . . . . . . . . . . . . . . . 147 7.1.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.1.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.1.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 152 7.2 Notionof(Dis-)Similarity . . . . . . . . . . . . . . . . . . . . . . 155 7.3 Prototype-andModel-BasedClustering. . . . . . . . . . . . . . . 162 7.3.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.3.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 164 7.3.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 167 7.4 Density-BasedClustering . . . . . . . . . . . . . . . . . . . . . . 169 7.4.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.4.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.4.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 173 7.5 Self-organizingMaps . . . . . . . . . . . . . . . . . . . . . . . . 175 7.5.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.5.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 176 7.6 FrequentPatternMiningandAssociationRules . . . . . . . . . . 179 7.6.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 179 7.6.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.6.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 187 7.7 DeviationAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . 194 7.7.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 194 7.7.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 195 7.7.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 197 7.8 FindingPatternsinPractice . . . . . . . . . . . . . . . . . . . . . 198 7.8.1 FindingPatternswithKNIME . . . . . . . . . . . . . . . . 199 7.8.2 FindingPatternsinR . . . . . . . . . . . . . . . . . . . . 201 7.9 FurtherReading . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 x Contents 8 FindingExplanations. . . . . . . . . . . . . . . . . . . . . . . . . . . 207 8.1 DecisionTrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 8.1.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 209 8.1.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 210 8.1.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 213 8.2 BayesClassifier . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 8.2.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 218 8.2.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 220 8.2.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 224 8.3 Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 8.3.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 230 8.3.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 231 8.3.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 234 8.3.4 TwoClassProblems . . . . . . . . . . . . . . . . . . . . . 242 8.4 Rulelearning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 8.4.1 PropositionalRules . . . . . . . . . . . . . . . . . . . . . 245 8.4.2 InductiveLogicProgrammingorFirst-OrderRules. . . . . 251 8.5 FindingExplanationsinPractice . . . . . . . . . . . . . . . . . . 253 8.5.1 FindingExplanationswithKNIME . . . . . . . . . . . . . 253 8.5.2 UsingExplanationswithR . . . . . . . . . . . . . . . . . 255 8.6 FurtherReading . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 9 FindingPredictors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 9.1 Nearest-NeighborPredictors. . . . . . . . . . . . . . . . . . . . . 261 9.1.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 261 9.1.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 263 9.1.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 265 9.2 Artifica NeuralNetworks . . . . . . . . . . . . . . . . . . . . . . 269 9.2.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 269 9.2.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 272 9.2.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 276 9.3 SupportVectorMachines . . . . . . . . . . . . . . . . . . . . . . 277 9.3.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 278 9.3.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 282 9.3.3 VariationsandIssues. . . . . . . . . . . . . . . . . . . . . 283 9.4 EnsembleMethods . . . . . . . . . . . . . . . . . . . . . . . . . . 284 9.4.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 284 9.4.2 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 286 9.4.3 FurtherReading . . . . . . . . . . . . . . . . . . . . . . . 289 9.5 FindingPredictorsinPractice . . . . . . . . . . . . . . . . . . . . 290 9.5.1 FindingPredictorswithKNIME . . . . . . . . . . . . . . 290 9.5.2 UsingPredictorsinR . . . . . . . . . . . . . . . . . . . . 292 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Contents xi 10 EvaluationandDeployment . . . . . . . . . . . . . . . . . . . . . . . 297 10.1 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 10.2 DeploymentandMonitoring . . . . . . . . . . . . . . . . . . . . . 299 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 A Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 A.1 TermsandNotation . . . . . . . . . . . . . . . . . . . . . . . . . 304 A.2 DescriptiveStatistics . . . . . . . . . . . . . . . . . . . . . . . . . 305 A.2.1 TabularRepresentations . . . . . . . . . . . . . . . . . . . 305 A.2.2 GraphicalRepresentations . . . . . . . . . . . . . . . . . . 306 A.2.3 CharacteristicMeasuresforOne-DimensionalData . . . . 309 A.2.4 CharacteristicMeasuresforMultidimensionalData . . . . 316 A.2.5 PrincipalComponentAnalysis . . . . . . . . . . . . . . . 318 A.3 ProbabilityTheory . . . . . . . . . . . . . . . . . . . . . . . . . . 323 A.3.1 Probability . . . . . . . . . . . . . . . . . . . . . . . . . . 323 A.3.2 BasicMethodsandTheorems . . . . . . . . . . . . . . . . 327 A.3.3 RandomVariables . . . . . . . . . . . . . . . . . . . . . . 333 A.3.4 CharacteristicMeasuresofRandomVariables . . . . . . . 339 A.3.5 SomeSpecialDistributions . . . . . . . . . . . . . . . . . 343 A.4 InferentialStatistics . . . . . . . . . . . . . . . . . . . . . . . . . 349 A.4.1 RandomSamples . . . . . . . . . . . . . . . . . . . . . . 350 A.4.2 ParameterEstimation . . . . . . . . . . . . . . . . . . . . 351 A.4.3 HypothesisTesting. . . . . . . . . . . . . . . . . . . . . . 361 B TheRProject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 B.1 InstallationandOverview . . . . . . . . . . . . . . . . . . . . . . 369 B.2 ReadingFilesandRObjects . . . . . . . . . . . . . . . . . . . . . 370 B.3 RFunctionsandCommands . . . . . . . . . . . . . . . . . . . . . 372 B.4 Libraries/Packages . . . . . . . . . . . . . . . . . . . . . . . . . . 373 B.5 RWorkspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 B.6 FindingHelp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 B.7 FurtherReading . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 C KNIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 C.1 InstallationandOverview . . . . . . . . . . . . . . . . . . . . . . 375 C.2 BuildingWorkfows . . . . . . . . . . . . . . . . . . . . . . . . . 377 C.3 ExampleFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 C.4 RIntegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 AppendixA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 AppendixB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Symbols A,Ai attribute,variable[e.g.,A1=color,A2=price,A3=category] ω apossiblevalueofanattribute[e.g.,ω=red] Ω,dom(·) setofpossiblevaluesofanattribute [e.g.,Ω1=Ωcolor=dom(Ai)={red,blue,green}] A setofallattributes[e.g.,A={color,price,category}] m numberofconsideredattributes[e.g.,3] x aspecifi valueofanattribute[e.g.,x =x =4000] 2 price X spaceofpossibledatarecords[e.g.,X=ΩA1×···×ΩAm] D setofallrecords,dataset,D⊆X[e.g.,D={x1,x2,...,xn}] n numberofrecordsindataset x recordindatabase[e.g.,x=(x ,x ,x )=(red,4000,luxury)] 1 2 3 xA attributeAofrecordx[e.g.,xprice=4000] x2,A attributeAofrecordx2 DA=v setofallrecordsx∈DwithxA=v C aselectedcategoricaltargetattribute[e.g.,C=A =category] 3 ΩC setofallpossibleclasses[e.g.,ΩC ={quits,stays,unknown}] Y aselectedcontinuoustargetattribute[e.g.,Y =A =price] 2 C C⊆D cluster(setofassociateddataobjects)[e.g., ] c numberofclusters P partition,setofclusters{C1,...,Cc} pi|j membershipdegreeofdata#jtocluster#i [pi|j] membershipmatrix d. distancefunction,metric(dE:Euclidean) [di,j] distancematrix xiii