1©2013MathWorks,Inc.数据挖掘的MATLAB实现卓金武Steven.Zhuo@mathworks.cnMathWorksChina2大纲数据挖掘基本概念和MATLAB的优势数据挖掘的过程数据挖掘算法的MATLAB实现MATLAB数据挖掘综合应用实例——智能选股总结、Q&A3数据挖掘基本概念从原始的一组数据集开始向这组数据“学习”–―训练‖你自己的模型用这个模型根据新的数据预测结果-0.100.10.20.30.40.50.600.10.20.30.40.50.60.70.80.91Group1Group2Group3Group4Group5Group6Group7Group84数据挖掘特征和实例特征–大数据,多变量–系统复杂,很难构建解析模型(e.g.,一个黑箱模型)实例–模式识别–量化投资–客户细分–广告投放93.68%2.44%0.14%0.03%0.03%0.00%0.00%0.00%5.55%92.60%4.18%0.23%0.12%0.00%0.00%0.00%0.59%4.03%91.02%7.49%0.73%0.11%0.00%0.00%0.18%0.73%3.90%87.86%8.27%0.82%0.37%0.00%0.00%0.15%0.60%3.78%86.74%9.64%1.84%0.00%0.00%0.00%0.08%0.39%3.28%85.37%6.24%0.00%0.00%0.00%0.00%0.06%0.18%2.41%81.88%0.00%0.00%0.06%0.08%0.16%0.64%1.64%9.67%100.00%AAAAAABBBBBBCCCDAAAAAABBBBBBCCCD5MATLAB的优势数据处理灵活、方便、高效提供丰富、齐全的命令提供多个接口,方便与其他平台的交互、融合强大的绘图功能丰富、高度集成的数学模型库6Why数据挖掘用MATLAB交互环境–可视化工具探索数据–容易评估和选择最好的算法–多种专业的工具箱(e.g,.neuralnetworktool,curvefittingtool)多种算法可供选择–聚类–分类–回归7MATLAB数据挖掘相关工具箱基础平台MATLAB应用发布MATLABCompiler数学、统计StatisticsToolboxCurveFittingToolboxNeuralNetworkToolbox并行计算ParallelComputingToolboxMATLABDistributedComputingServer计算金融FinancialToolboxEconometricsToolboxDatafeedToolboxTradingToolbox数据库访问DatabaseToolbox8大纲数据挖掘基本概念和MATLAB的优势数据挖掘的过程数据挖掘算法的MATLAB实现MATLAB数据挖掘综合应用实例——智能选股总结、Q&A9数据挖掘过程探测建模评估应用10探索性数据分析通过可视化数据分析加深对数据的认识–辨别趋势及相互影响–Detectpatterns–剔除异常点–浓缩数据规模–变量选择–特征变形MPGAccelerationDisplacementWeightHorsepowerMPGAccelerationDisplacementWeightHorsepower501001502002000400020040010202040501001502002000400020040010202040111234567891010.02-0.12-2.09-0.58-0.0820.02-2.38-4.96-0.130.101.00-3.04-0.530.1043.525-0.43-1.980.772.176-2.290.692.590.307-0.09-0.314.27-0.0185.137.401.890.0490.10.581.75-0.1110-0.010.30.01数据可视化实例地形数据12数据可视化实例地形三维成像020406080100050100-10-5051013数据挖掘过程探测建模评估应用14模型的训练Data关联分类聚类预测异常检测模型15数据挖掘过程探测建模评估应用16模型评估17数据挖掘过程探测建模评估应用18JavaExcel.NETWeb部署MATLAB程序将MATLAB代码给其他用户将应用部署到不需要MATLAB平台的终端用户–单机–库文件–软件组件.exe.dll.libMATLABCompilerMATLABBuilderNEMATLABBuilderEXMATLABBuilderJA19模型应用20大纲数据挖掘基本概念和MATLAB的优势数据挖掘的过程数据挖掘算法的MATLAB实现MATLAB数据挖掘综合应用实例——智能选股总结、Q&A21数据挖掘VS机器学习数据挖掘机器学习领域方向广义概念途径方法特指22–数据挖掘方法(机器学习)机器学习有监督分类回归无监督聚类GroupandinterpretdatabasedonlyoninputdataDeveloppredictivemodelbasedonbothinputandoutputdata学习类型算法类别23无监督学习聚类k-Means,FuzzyC-MeansHierarchicalNeuralNetworksGaussianMixtureHiddenMarkovModel24有监督学习回归Non-linearReg.(GLM,Logistic)LinearRegressionDecisionTreesEnsembleMethodsNeuralNetworks分类NearestNeighborDiscriminantAnalysisNaiveBayesSupportVectorMachines25机器学习(有监督)-工作流现有数据已知结果模型l训练模型模型新数据预测结果预测模型评估选择模型导入数据探索数据数据准备数据加速计算26Demo–银行营销战略目标:–根据不同的属性预测客户是否会同意银行的定期存款方法:–用不同模型训练一个分类器–评估准确性–用分类器预测27Demo–银行营销战略用到的分类方法1.神经网络2.Logistics3.判别分析4.最近邻方法5.朴素贝叶斯6.支持向量机SVM最佳方法7.决策树8.集成学习28Demo–银行营销战略数据可视化-1012345678x1040500100015002000250030003500BankbalanceLastcontactdurationOutcomenoyes29Demo–银行营销战略分类错误率020406080100PercentageBankMarketingCampaignMisclassificationRateNeuralNetLogisticRegressionDiscriminantAnalysisk-nearestNeighborsNaiveBayesSupportVMDecisionTreesTreeBaggerNoMisclassifiedYesMisclassified30Demo–银行营销战略分类评价(ROC曲线)00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91FalsepositiverateTruepositiverateROCcurvefor'yes',predictedvs.actualresponse(TestSet)TreeBaggerwithfullfeaturesetAreaUnderCurve=0.8938931Demo–银行营销战略指标重要性分析-1.5-1-0.500.511.5Out-Of-BagFeatureImportanceagejobmaritaleducationdefaultbalancehousingloancontactdaymonthdurationcampaignpdayspreviouspoutcome32聚类概况何为聚类?–根据数据的相似度,将数据分成不同的组为什么用聚类?–辨识异常–得到有意义的分组如何聚类?–可以用多种算法–是个相互交互的过程(包含尝试和错误)-0.100.10.20.30.40.50.600.10.20.30.40.50.60.70.80.9133Demo–企业债券聚类目标:–将相似的企业债券聚集在一起方法:–基于距离和概率对债券进行聚类–评估类别的的正确性DataPoint#HierarchicalClustering10002000300040005001000150020002500300035004000DistMetric:spearman0.20.40.60.811.21.41.61.8DataPoint#DataPoint#k-MeansClustering10002000300040005001000150020002500300035004000DistMetric:cosine00.10.20.30.40.50.60.70.834Demo–企业债券聚类数据可视化02468101214051015CouponRateYTMCCCCCBBBBBBAAAAAA35Demo–企业债券聚类K-Means聚类结果CCCCCBBBBBBAAAAAA051015051015YTMk-MeansClusteringCouponR36Demo–企业债券聚类层次聚类结果CCCCCBBBBBBAAAAAA051015051015YTMHierarchicalClusteringCouponR37Demo–企业债券聚类概率聚类结果CCCCCBBBBBBAAAAAA01020GMM:Cluster1CouponRProbability00.20.40.60.8CCCCCBBBBBBAAAAAA01020GMM:Cluster2CouponRProbability00.20.40.60.8CCCCCBBBBBBAAAAAA01020GMM:Cluster3CouponRProbability0.5138Demo–银行营销战略相似矩阵DataPoint#HierarchicalClustering10002000300040001000200030004000DistMetric:spearman0.511.5DataPoint#DataPoint#k-MeansClustering10002000300040001000200030004000DistMetric:cosine00.20.40.60.839Demo–银行营销战略层次聚类图谱13026272928681119172025222324151314410523162118971200.10.20.30.40.50.60.70.80.91DatapointindexDistanceb/wdatapointsCPCC:0.890340Demo–银行营销战略聚类的类别数量123456789100.50.520.540.560.580.60.620.640.660.68NumberofClustersMeanSilhouetteValueAverageSilhouetteValuesvs.NumberofClusters41大纲数据挖掘基本概念和MATLAB的优势数据挖掘的过程数据挖掘算法的MATLAB实现MATLAB数据挖掘综合应用实例——智能选股总结、Q&A42目标选择未来增长可能性最大的股票!43基本原理数据挖掘预测模型股票未来增长概率历史交易数据当前交易数据44智能选股流程(数据挖掘)获取历史股票数据变量设计及计算“好坏”股票定义数据标准化模型训练模型的应用45MATLAB智能选股Demo用MATLAB来实现量化投资就是这么高