本课程旨在介绍经典统计方法思想并学习超出经典统计方法(比如线性回归)的相关研究内容。随着计算能力在近30多年的增强,高密度计算、回归技术或“统计学习”方法得到很大发展。特别是最近十几年,我们看到了大量统计学习方法数量的显著扩增。本课程的目标是提供对现代非线性方法,如广义可加模型、决策树、Bagging和Boosting算法以及支持向量机等应用性的理论概述,同时也详细的说明了经典线性方法,如Logistic回归、线性判别分析、K-均值聚类和最近邻法等更多的应用。
本课程还讨论了在市场营销,金融,医学以及其他重要领域下这些统计学习方法的应用。在课程结束的时候,你将对这些方法的工作原理有个基本的理解,并能够应用它们去分析真实背景下的数据。随着“大数据”问题的爆发,统计学习已经成为上面许多科学领域中的一个非常热门研究方向。拥有统计学习技术的人才正处在高需求的状况!
为此,本课程三分之一的时间将用于学生的上机操作实验课,这些实验课将确保每一个学生对统计学习方法的实用和理论方面都有一个充分的理解。
实例1. 预测股票市场的未来走势
实例2. 预测保险购买或欺诈行为
实例3. 营销对象分析及市场分析
实例4. 房地产估价因素分析
实例5. 垃圾邮件分类
实例6. 前列腺癌患者的风险因素识别(微阵列样本分类)
统计或数据分析软件
dataminingtools
对于这样一门应用性课程,很显然选用一个好的统计软件和包是至关重要的。当然有很多软件和包可以实现本课程涉及的统计学习方法。但有些软件和包是商业软件且很昂贵。本课程选用R软件进行课程演示。主要是由于R软件有很多优势:
R软件拥有一系列连贯且完整的数据分析方法,可以实现本课程涉及的所有统计学习方法甚至更多;
R软件更新统计技术很快,适合于科研人员使用;
R软件很灵活,R语言和其它编程语言、数据库之间有很好的接口,且可以针对特定数据格式自己写函数及统计方法;
R软件具有丰富的网上资源,几乎所有的包是免费的,你可以从R官网http://www.r-project.org/上下载R软件及其相关的很多材料;
……
本课程将用到R软件包ISLR http://cran.rproject.org/web/packages/ISLR/index.html ,里面自含本课程的数据。
还会用到R软件包DMwR http://www.dcc.fc.up.pt/~ltorgo/DataMiningWithR/,里面自含本课程的数据。
初学者可以先看“An Introduction to R(Venables,Smith),作为学习R的手册,电子版书籍可以从 http://cran.r-project.org/doc/manuals/R-intro.pdf 网站下载。
课程教材
本课程教材主要参考 An Introduction to Statistical Learning with Applications in R (James, Witten, Hastie, and Tibshirani)和Data Mining with R Learning with Case Studies (Luis Torgo)。其电子教材可以从网站http://wwwbcf.usc.edu/~gareth/ISL/index.html下载,也可以从网站 http://link.springer.com/book/10.1007/978-1-4614-7138-7/page/1 和 http://www.amazon.cn/An-Introduction-to-Statistical-Learning-With-Applications-in-R-James-Gareth/dp/1461471370/ref=sr_1_1?ie=UTF8&qid=1409586238&sr=8-1&keywords=an+introduction+to+statistical+learning+with+applications+in+r 购买。
课程评估
本课程评估主要以“作业”、“小测试”、“期中考试”、“项目研究”及“期终考试”来完成。各自所占成绩的比例如下:
| 成绩评价项 | 所占比例 |
|---|---|
| 作业(7~8次) | 35% |
| 小测试 | 5% |
| 期中考试 | 25% |
| 项目 | 10% |
| 期终考试 | 25% |
现代数据挖掘及统计学习介绍
不同统计学习方法的概述
统计学习是什么?
– 推断与预测
– 有监督与无监督学习问题
– 回归与分类
基本命令
图形
索引数据
导入数据
不太灵活与更加灵活的方法
训练与测试误差率
最近邻算法
贝叶斯分类器
偏差与方差思想
线性回归模型
用最小二乘法拟合模型
检验统计显著性
处理分类变量
利用R函数lm()拟合线性回归模型
利用R函数predic()建立预测
利用Logistic函数进行分类
估计回归系数
估计类别概率
用于分类处理的贝叶斯定理
估计贝叶斯分类器
混淆矩阵
二次判别分析
利用R函数glm()拟合Logistic回归模型
利用R函数lda()和qda()拟合LDA
交叉验证(Cross Validation)
Bootstrap算法
验证设置方法
LOOC 验证法
K-Fold 交叉验证法
最佳子集(最佳参数)回归(Best Subset Regression)
Leave Out抽样法
BIC和AIC评分法
交叉验证法
房地产数据实例
利用R函数knn()实现最近邻法
利用R函数regsubsets()实现最佳子集回归法
岭回归(Ridge Regression)
LASSO收缩法
房地产数据实例
主成分回归(Principal Components Regression)
偏最小二乘法(Partial Least Squares)
利用R函数lm.ridge()实现岭回归
利用R函数lars()实现LASSO收缩法
识别重要的影响变量
非线性回归(Non-Linear Regression)的介绍
多项式回归(Polynomial Regression)
样条曲线(Splines)
股票S&P数据实例及模拟数据
扩展线性回归并允许非线性关系
扩展Logistc回归并允许非线性关系
给定上周波动趋势对明天股票S&P价格的预测
利用R函数poly()实现多项式回归
利用R函数smooth.spline()拟合样条曲线
利用R函数gam()产生广义可加模型
股票S&P数据实例
决策树(Decision Trees)
回归树与分类树(Regression vs. Classification Trees)
修剪树(Pruning Trees)
集成分类器:利用多分类改善预测精度
Bootstrap方法
利用Bootstrap产生一个Bagged分类器
另一类集成分类器
AdaBoost和其它Boosting算法
利用R函数tree()生长回归与分类树
利用R包gbm实现Boosting算法程序
支持向量分类器
计算用于分类的SVM
基于罚项函数法(Penalization Method)的SVM
K-均值聚类法(K-means Clustering)
分层聚类法(Hierarchical Clustering)
利用R函数svm()产生SVM
利用R函数kmeans()实现K-均值聚类
利用R函数hclust()实现分层聚类