9.1 基础知识

9.1.1 偏差-方差权衡

\(y=f(x)+\varepsilon, \; E(\varepsilon)=0\)\(f\)表示真实模型,\(\hat f\)是模型某次训练得到的结果,\(E(\hat f)\)表示训练模型的期望表现。

\[ \begin{aligned} E[(\hat f-y)^2] &= E[(\hat f - E(\hat f) + E(\hat f)-y)^2] \\ &= E[(\hat f - E(\hat f))^2] + E[(E(\hat f)-y)^2] + 2E[(\hat f - E(\hat f))(E(\hat f)-y)] \\ &= E[(\hat f - E(\hat f))^2] + E[(E(\hat f)-y)^2] \\ &= E[(\hat f - E(\hat f))^2] + E[(E(\hat f)-f-\varepsilon)^2] \\ &= E[(\hat f - E(\hat f))^2] + E[(E(\hat f) - f)^2] + \varepsilon^2 \end{aligned} \]

故模型的期望泛化错误率可拆解为方差+偏差+噪声

9.1.2 评价指标

  1. 分类问题
  • 准确率

\[ Accuracy = \frac{TP + TN}{TP + TN + FP +FN} \]

  • 精确率(查准率):有没有误报

\[ Precision = \frac{TP}{TP+FP} \]

  • 召回率(查全率):有没有漏报

\[ Recall = \frac{TP}{TP+FN} \]

  • F1与\(F_\beta\)

\[ F1 = \frac{2*Precision*Recall}{Precision + Recall} \\ F_\beta = \frac{(1+\beta^2)*Precision*Recall}{\beta^2*Precision + Recall} \]

\(0<\beta<1\)时精确率有更大影响,\(\beta>1\)时召回率有更大影响

  • ROC曲线与AUC:横轴假阳率FPR,纵轴真阳率TPR,全局性能评估

\[ TPR = \frac{TP}{TP+FN} \\ FPR = \frac{FP}{FP+TN} \]

  • PR曲线与AUC:横轴召回率,纵轴精确率,更关注正样本预测质量

当存在类别不平衡情况时,PR曲线相较ROC曲线更敏感,能捕捉到异常

  • 代价曲线:引入误判代价

  • 宏平均:对于多个混淆矩阵,先计算各个混淆矩阵的指标,再求平均

  • 微平均:对于多个混淆矩阵,先平均各个混淆矩阵,再求指标

  1. 回归问题
  • 均方误差:对异常值敏感

  • 均方根误差:量纲与目标变量一致

  • 平均绝对误差:对异常值不敏感

  • \(R^2\)\(R^2_{adj}\)

  1. 其他
  • AIC

\[ AIC = -2L(\hat \theta)_{max} + 2k \]

k是参数数量

  • BIC

\[ BIC = -2L(\hat \theta)_{max}+ k\ln(n) \]

9.1.3 特征工程

通俗地说,模型性能的上限由“数据与特征”决定,而算法只是尽可能逼近这个上限。因此,特征工程是把“原始数据”转化为“有信息量的特征”的过程,核心目标是让模型更容易学习到规律、提高预测精度与泛化能力。

9.1.3.1 探索性数据分析

了解数据在分布、类型、统计量、缺失值、异常值、实际含义等方面的基本信息。

方法:

  1. 数据可视化

    注意辛普森悖论,引入分层变量进行探索

  2. 描述性统计

  3. 专家的先验知识

  4. 相关性分析

    皮尔逊相关系数、斯皮尔曼秩相关系数(非参)、肯德尔秩相关系数(非参,有序变量)、列联表检验

9.1.3.2 数据预处理

  1. 缺失值

    • 删除:删除记录或者直接删除特征

    • 填充:用均值、中位数、众数、模型预测值、插值等方法进行填充

naniar包用于可视化缺失值,如vis_miss()miss_var_summary()miss_case_summary()

  1. 异常值

    先要检查指标的口径与定义是否不一致。

    • 识别:箱线图与四分位距IQR、Z-score、孤立森林

    • 处理:删除、裁剪、数据分箱

9.1.3.3 特征构造

通过组合、聚合或数学操作生成新的特征。

  • 取对数、取平方等数学变换

  • 统计特征:如取均值、中位数、最值等

  • 业务特征,如根据总量指标与人数指标构建人均指标

例如美团比赛中,给出骑手的基础指标(准时单量、拒绝单量、完成单量、开工时长、有单时长),就可以额外拓展出更能评价骑手表现的指标(准时率、拒绝率、工作效率、有单时长占比等指标)

又如要想让xgboost具有时序预测能力,可在特征中添加因变量的滞后项

  • 数据分箱

9.1.3.4 特征变换

改变特征的尺度、编码方式。

  • 中心标准化

  • 极差标准化

  • 哑变量编码:无多重共线性,适合线性模型

  • 独热编码:适合树模型

  • 标签编码:整数,但数字大小无意义

  • 序数编码:整数,适用于顺序变量

  • 目标编码:将分类变量与目标值的统计特征联系在一起

  • WOE编码:适用于风控建模场景,能够反映类别对目标的区分度

9.1.3.5 特征选择

剔除无关或冗余的特征。

  • 惩罚函数法,如单变量选择、群组变量选择

  • 基于统计指标(AIC、BIC、R方)等的模型选择(前向、后向选择)

  • 递归特征消除(RFE):重复训练模型,依次剔除最不重要的特征,直到特征数降到一定数量

  • 树模型的重要性得分

  • SHAP值

  • 降维方法:PCA、t-SNE、UMAP、自编码器

最后可根据交叉验证来评价给定模型在不同特征子集上的表现