为下一次量化金融面试准备的统计学与机器学习核心概念¶
统计学与机器学习在量化金融面试中占据重要位置。尽管这些概念的考查深度可能因应聘量化研究员、交易员或开发者的不同职位而异,但掌握其基础知识能确保你在面试中游刃有余。
本文中,我们将探讨统计学与机器学习中的六大核心概念,并通过实例展示其实际应用。
1. 分类模型评估指标¶
在评估分类模型时,初看之下,准确率似乎是最佳选择。然而,若数据存在类别不平衡(某一类别明显多于另一类别),我们还需考虑其他多种评估指标。
- 精确率: 衡量模型预测为正类的准确性。其数学表达式为:
(真正例数) / (真正例数 + 假正例数)
当假正例带来的风险极高时,精确率是一个重要的考量指标。例如,在垃圾邮件过滤中,我们不希望将重要邮件误判为垃圾邮件,以免收件人错过关键信息。
- 召回率: 评估模型识别正类的能力。其数学表达式为: (真正例数) / (真正例数 + 假反例数)
当假反例的代价极高时,召回率是一个值得关注的指标。以癌症检测为例,假反例意味着患者可能错过治疗机会,这对他们的健康极为不利。
与统计学中的许多概念类似,精确率和召回率之间存在权衡。提高精确率往往会导致召回率下降。这种权衡可以通过ROC曲线直观地展示。ROC曲线描绘了不同阈值下的真正例率与假正例率之间的关系。我们期望这条曲线尽可能向左上角延伸,并最大化曲线下的面积。
我们的目标通常是最大化真正例率,同时最小化假正例率。一种简单的方法是增加预测为正类的观察结果数量,从而确保捕获所有真正例。然而,这样做也会增加将负类样本误判为正类的风险(即假正例)。因此,我们需要在捕获真正例的同时,避免过度将负类样本错误分类。在某些情况下,只要我们能确保捕获所有正类样本,可以接受部分误判。ROC曲线的优势在于,它帮助我们确定实现这一目标的最佳阈值。
2. 线性回归¶
线性回归是一种监督式机器学习方法,它通过一组自变量来预测因变量。我们的目标是找到最能拟合数据的系数,以最小化残差平方和(即线性回归模型的预测值与实际值之间的平方差之和)。在简单线性回归中,我们有一个截距B0和一个斜率B1,B1表示X每增加1个单位时,响应变量的变化量。
线性回归基于以下几个假设:
-
预测变量与响应变量之间存在线性关系
-
误差项之间无相关性(误差项相互独立)
-
误差项的方差恒定(方差齐性)
-
误差项服从正态分布
-
无多重共线性
我们可以通过绘制残差与拟合值的散点图来验证前三个假设是否成立。在图中,我们希望没有明显的模式,以避免违反假设。通过Shapiro-Wilk检验或绘制Q-Q图,可以验证误差项是否服从正态分布。最后,通过计算方差膨胀因子(VIF)来检查多重共线性问题。通常,VIF值≤10被认为是可接受的。
由于线性回归是一种参数模型(可以通过函数明确表达),它容易出现过拟合问题,且预测偏差较大。如果想进一步优化线性回归,可以探索多项式回归、正则化以及子集选择等方法。
3. K均值聚类¶
K-Means聚类是一种无监督的机器学习算法,它能够将输入的数据集划分为多个组。之所以称为"无监督",是因为在训练过程中,算法并不依赖标签(即响应变量)来进行学习。该算法首先将数据分为K个簇,并随机为每个簇选择一个质心。接着,算法会将剩余的数据点分配到离它们最近的簇中,通常通过欧几里得距离来衡量。然后,通过计算每个簇中数据点的平均值来更新质心。这一过程会不断重复,直到算法收敛,即簇的划分不再发生变化。
在K-Means算法中,我们可以通过选择参数K来控制生成的簇的数量。选择最佳K值的一种常用方法是"肘部法则"。其核心思想是,最初的几个簇能够解释数据中的大部分变异。通过绘制K值与解释变异之间的关系图,我们可以找到一个临界点,即继续增加K值不再显著减少数据中的未解释变异。更多细节请参考下图。
4. 随机森林¶
随机森林是一种集成机器学习方法,适用于回归和分类任务。集成方法通过组合多个模型来提高预测的准确性。随机森林的核心是使用决策树作为基础模型。在分类任务中,决策树通过分割数据来最大化信息增益;而在回归任务中,决策树则通过分割数据来最小化均方误差。由于单个决策树容易出现过拟合问题,随机森林通过引入"装袋"或"提升"技术来缓解这一问题。 1. Bagging 是一种集成学习方法,它让多个基础模型独立进行训练,最终通过取平均值来综合它们的预测结果。
- Boosting 也是一种集成学习方法,但它的特点是让基础模型依次构建,每个新模型都在前一个模型的基础上进一步优化预测效果。
如果你想深入了解Bagging和Boosting,可以参考"自适应提升"和"梯度提升"这两种方法。
5. 主成分分析¶
PCA是一种广泛使用的降维技术,能够有效减少数据集中的特征数量。它的核心目标是用一组更少的代表性变量来概括原始数据,这些变量能够解释数据中的大部分变化。PCA常被用来降低模型复杂度,从而缓解过拟合问题。同时,它也能应对"维度灾难",即数据量远小于特征空间维度的情况。此外,PCA还可以作为一种数据可视化工具,将高维数据投影到二维平面上进行展示。
主成分分析主要有两种常用方法:普通PCA和增量PCA。普通PCA是默认算法,适用于能够完全加载到内存中的数据集。而当数据量过大无法全部载入内存时,通常会采用增量PCA。 评估PCA在特定场景中的有效性,我们可以采用一种方法:利用主成分构建机器学习模型,评估其性能,并将其与包含所有特征的模型性能进行对比。理想情况下,我们希望两者的性能相近。由于PCA的目标是在减少特征数量的同时,仍能解释数据中的大部分变异性,因此性能相似即表明PCA在此场景中是有效的。
6. 交叉验证¶
交叉验证是一种用于评估机器学习模型性能的技术,主要关注模型对新数据集的泛化能力。交叉验证有多种方法,下面我们将介绍其中几种。
- 验证集策略
在这种策略中,我们将数据集分为训练集和验证集。模型在训练集上进行训练,并在验证集上评估其性能。这种方法的缺点包括: - 验证误差可能会因随机生成的训练集和验证集而波动较大。 - 验证误差可能会高估测试误差,因为模型可能仅在少量样本上进行训练(即训练集过小)。 2. 留一法交叉验证(LOOCV)
在LOOCV中,单个样本用于验证集,其余样本用于训练集。换句话说,如果有n个样本,n-1个用于训练,1个用于验证。这一过程重复n次,得到n个平方误差,最终的LOOCV是这些误差的平均值。这种方法的优点包括: - 与验证集策略相比,结果的偏差显著减少。 - 训练模型时可利用的数据量不受限制。 - 然而,这种方法的缺点是,该过程需要运行n次,因此对于非常大的数据集来说,通常在计算上是不可行的。 3. K折交叉验证
在K折交叉验证中,我们将数据随机分为K个大小相近的折。第一折作为验证集,模型在剩下的K-1折上进行训练。我们重复这个过程K次,每次轮换使用不同的折作为验证集。最终得到K个误差,取其平均值作为交叉验证的得分。这种方法的优点是: - 计算上更加可行
- 测试误差估计更准确,因为每次运行中训练集的重叠较少。
结束语¶
感谢您阅读这篇关于量化金融面试中的统计/机器学习概念的文章。