对数据作分析和建模之前,先进行探索性数据分析,使用尽量原始的数据作图
思考:
1. 单变量的分布,是否需要log转换
2. 变量之间关系的散点图:线性还是非线性关系
3. 识别离群点:数据质量问题
绘制散点图矩阵,查看数据分布情况及变量的关系
col <- c(rgb(1,0,0),rgb(0,1,0),rgb(0,0,1))
# as.numeric 可将 factor 转为数字
mycol <- col[as.numeric(iris$Species)]
pairs(iris,col = mycol,col.axis = "red")
其中模型假设是回归的精髓:变量是线性关系,且误差项是独立正态分布,通过残差图可以很好的展示模型假设的合理性
\(Y = \beta_0+\beta_1X_1+\cdot\cdot\cdot+\beta_pX_p+\epsilon\)
在不满足样本点n远大于变量个数p时,最小二乘估计值波动性较大,导致过拟合,预测能力差
最小二乘估计最小化RSS
\(RSS=\sum_{i=1}^n\Bigg(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij}\Bigg)^2\)
岭回归最小化
\(\sum_{i=1}^n\Bigg(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij}\Bigg)^2+\lambda\sum_{j=1}^p\beta_j^2 = RSS + \lambda\sum_{j=1}^p\beta_j^2\)
对回归系数进行约束或加罚,将系数估计值向0压缩,减少估计值的方差
\(\lambda\ge0\)是调节参数,控制RSS和压缩惩罚项对回归系数估计的相对影响程度
\(\beta_0\)不在压缩处罚项中,它估计当\(x_j\)都是0时,响应变量的均值
Lasso最小化
\(\sum_{i=1}^n\Bigg(y_i-\beta_0-\sum_{j=1}^p\beta_jx{ij}\Bigg)^2+\lambda\sum_{j=1}^p\left|\beta_j\right|\)
通过MSE(均方误差)图和变量系数图来选择合适\(\lambda\)
对高维数据的拟合
提高模型解释力
模型选择
综合Lasso 和 岭回归
\(\lambda\sum_{j=1}^p\Bigg(\alpha\beta_j^2+(1-\alpha)\left|\beta_j\right|\Bigg)\)
残差标准误 RSE
响应值偏离真正回归的直线的平均量
$RSE== $
\(R^2\)统计量
Y 中的差异能被 X 解释的部分所占的比例
对一个给定的观测,测量预测的响应值与真实响应值间的接近程度
\(MSE= \frac{1}{n}\sum_{i=1}^n\Bigg(y_i-\hat{f}(x_i)\Bigg)^2\)
存在的问题: MSE 使用训练数据计算(training MSE),而训练数据也用来估计\(\hat{f}\),可能会低估误差
更关心将模型用于测试时的预测精度(test MSE)
模型灵活性低,将随机误差也引入模型中
解决方法: 交叉验证
在拟合过程中,保留出训练数据的一个子集不用作训练模型,而用来估计 test MSE
验证集 (validation set) 方法
直接对样本进行随机抽样,如 30%的数据集用作测试数据
留一交叉验证法 (LOOCV)
使用n-1个样本点训练,偏差较小,不容易高估测试 MSE
k折交叉验证(K-fold CV)
1. LOOCV拟合n次模型,计算量大。K-fold CV 拟合 K (5或10) 次模型
2. 每个模型使用(k-1)/k样本点,相比验证集方法,更接近使用全部样本点的模型
PCA 寻找尽可能包含足够多数据集中的差异信息的低维投影方向
注意:PCA前对每个变量进行标准化,使得均值为0,且方差为1
\(X_i = \frac{x_i-\mu_x}{\sigma_x}\)
其中,\(\mu_x=\frac{1}{n}\sum_{i=1}^nx_i\),\(\sigma_x=\sqrt{\frac{\sum_{i=1}^{n}(x_i-\mu_x)^2}{n-1}}\)
PCA让高维空间的数据点投影到二维平面,并且让点在二维空间的 variation尽量大。在低维平面,就有可能看到点之间聚类的关系,而且这个关系可能反映高维点之间本身的关系
主成分分析对二维矩阵的行和列都可以做,还可以引出 Eigengene/Metagene
a sample point X = (gene 1,gene 2,gene 3,..gene n) a gene point X = (sample 1,sample 2,…sample p)
用主成分得分向量作为预测变量进行回归分析
无监督: PCA、MDS、SOM
有监督: LDA
PCA 试图寻找观测点的一个低维表示来解释大部分方差
聚类分析试图从观测点中寻找同质子类
观测点或变量是否需要标准化 ?
K均值聚类 ++ K 如何选择
++ 合并类时的连接方式(Linkage): Singel Linkage(最小距离),Complete Linkage(最大距离),Average Linkage(平均距离)
层次聚类
++ 距离、连接方法如何选择
++ 在谱系图中哪个位置切割出不同的类