解释模型

Posted 上下求索.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释模型相关的知识,希望对你有一定的参考价值。

第5章 解释模型

实现可解释性的最简单方法是只使用创建可解释模型算法的子集。线性回归、逻辑斯蒂回归和决策树是常用的可解释模型。

在下面的章节中,我们将讨论这些模型。但是不详细展开,只描述基础知识,因为已经有大量的书、视频、教程、论文和其他可用的材料。我们将关注如何解释模型。这本书更加详细地讨论了线性回归,逻辑斯蒂回归,以及其他线性回归的拓展,决策树,决策规则以及ReluFit算法。它同时也列举了其他的一些可解释模型。

除 k-最近邻法外,本书中所有的可解释模型在模块水平上都是可以被解释的。下表概述了可解释的模型类型及其属性。如果特征和目标之间的关联是线性的,那么模型就是线性的。具有单调性约束的模型确保每个特征和目标结果之间的关系在整个特征范围内始终朝着相同的方向前进:特征值的增加要么总是导致目标结果的增加,要么总是导致目标结果的减少。单调性对于模型的解释是有用的,因为它使理解关系变得更容易。一些模型能够自动地包括特征值之间的交互,以达到预测目标结果的目的。通过自己手动地创造交互特征,可以将交互包括在任何类型的模型中。虽然交互可以提高预测性能,但是太多或太复杂的交互可能会损害模型的可解释性。有些模型只处理回归,有些只处理分类,还有一些模型两者都处理。

从这个表中,您可以为您的任务选择一个合适的可解释模型,回归(regr)或分类(class):

算法线性单调性交互性任务
线性回归回归
逻辑斯蒂回归分类
决策树一些是分类,回归
规则拟合分类,回归
朴素贝叶斯分类
K近邻分类,回归

5.1 线性回归

线性回归模型将目标预测为特征输入的加权和。所学关系的线性使解释变得容易。长期以来,统计学家、计算机科学家和其他解决定量问题的人都使用线性回归模型。

线性模型可用于模拟回归目标 y 对某些特征 x 的依赖性。所学关系是线性的,可以针对单个实例 i 编写如下:

[ Y = β 0 + β 1 x 1 + . . . + β p x p + ϵ ] [Y=β_0+β_1 x1+...+β_px_p+\\epsilon] [Y=β0+β1x1+...+βpxp+ϵ]
实例的预测结果是其 p 个特征的加权和。betas(βj)表示学习的特征权重或系数。总和中的第一个权重(β0)称为截距,不与特征相乘。epsilon(ϵ)是我们仍然会产生的误差,即预测与实际结果之间的差异。假设这些误差服从高斯分布,这意味着我们在正、负方向上都会产生误差,并且会产生许多小的误差和很少的大的误差。

可以使用很多方法来估计最佳权重。通常使用普通最小二乘法来找到最小化实际结果和估计结果之间平方差的权重:

β ^ = arg ⁡  ⁣ min ⁡ β 0 , … , β p ∑ i = 1 n ( y ( i ) − ( β 0 + ∑ j = 1 p β j x j ( i ) ) ) 2 \\hat\\boldsymbol\\beta=\\arg\\!\\min_\\beta_0,\\ldots,\\beta_p\\sum_i=1^n\\left(y^(i)-\\left(\\beta_0+\\sum_j=1^p\\beta_jx^(i)_j\\right)\\right)^2 β^=argβ0,,βpmini=1n(y(i)(β0+j=1pβjxj(i)))2
我们不会详细讨论如何找到最佳权重,但如果您感兴趣,可以阅读《统计学习要素》(Friedman、Hastie 和 Tibshirani 2009)一书的第 3.2 章或线性回归模型上的其他在线资源。

线性回归模型的最大优点是其线性:它使估计过程简单,最重要的是,这些线性方程在模块化水平(即权重)上具有易于理解的解释。这是线性模型和所有类似模型在医学、社会学、心理学等许多定量研究领域如此广泛的主要原因之一。例如,在医学领域,不仅要预测患者的临床结果,而且要量化药物的影响,同时以可解释的方式考虑性别、年龄和其他特征。

估计的权重带有置信区间。置信区间是权重估计的一个范围,它以一定的置信度覆盖“真实”权重。例如,权重为 2 的 95%置信区间可能在 1 到 3 之间。这个区间的解释是:在线性回归模型是正确的数据模型的情况下,如果我们用新的抽样数据重复估计 100 次,置信区间将包括 100 个案例中 95 个的真实权重。

模型是否为“正确”模型取决于数据中的关系是否满足某些假设,即线性、正态性、同方差性、独立性、固定特征和不存在多重共线性。

线性度

线性回归模型迫使预测成为特征的线性组合,这是其最强大的地方,同时也是最大的限制。线性使模型可解释。线性效应易于量化和描述。它们是添加剂,因此很容易分离效果。如果怀疑特征交互或特征与目标值的非线性关联,可以添加交互项或使用回归样条线。

正态性

假设给定特征的目标结果服从正态分布。如果违反此假设,则特征权重的估计置信区间无效。

同方差(常方差)

假设误差项的方差在整个特征空间内是恒定的。假设你想根据居住面积(平方米)来预测房子的价值。您估计一个线性模型,不管房子大小,预测响应周围的误差具有相同的方差。这种假设在现实中经常被违背。在房屋实例中,对于较大的房屋,预测价格周围的误差项方差可能更高,因为价格更高,价格波动的空间也更大。假设在您的线性回归模型中,平均误差(预测价格和实际价格之间的差异)为 50000 欧元。如果假设同方差,则假设50000的平均误差,对于成本为 100 万的房屋和成本仅为 40000 的房屋是相同的。这是不合理的,因为这意味着我们可以预期负房价。

独立性

假设每个实例独立于任何其他实例。如果您执行重复测量,例如每个患者进行多次血液测试,则数据点不是独立的。对于依赖数据,您需要特殊的线性回归模型,如混合效应模型或 GEE。如果使用“正态”线性回归模型,可能会从模型中得出错误的结论。

固定特征

输入特征被认为是“固定的”。固定意味着它们被视为“给定常数”,而不是统计变量。这意味着它们没有测量误差。这是一个相当不切实际的假设。然而,如果没有这个假设,您必须适应非常复杂的测量误差模型,这些模型解释了输入特征的测量误差。通常你不会想这样做。

不存在多重共线性

您不需要强相关的特征,因为这会扰乱对权重的估计。在两个特征强相关的情况下,由于特征效果是可加的,因此估计权重变得有问题,并且无法确定哪一个相关特征将影响归为属性。

5.1.1 解释

线性回归模型中权重的解释取决于相应特征的类型。

  • 数值特征:增加一个单位的数值特征会改变其权重的估计结果。数字特征的一个例子是房屋的大小。

  • 二进制特征:为每个实例获取两个可能值之一的特征。例如,“房子有花园”。其中一个值被视为引用类别(在某些用 0 编码的编程语言中),例如“没有花园”。将特征从引用类别更改为其他类别会根据特征的权重更改估计结果。

  • 具有多个类别的分类特征:具有固定数量的可能值的特征。例如,“地板类型”特征,可能有“地毯”、“强化木地板”和“拼花地板”等类别。处理多个类别的解决方案是一个热编码,这意味着每个类别都有自己的二进制列。对于具有 L 类别的分类特征,您只需要 L-1 列,因为 L-th 列将具有冗余信息(例如,当一个实例的列 1 到 L-1 的值都为 0 时,我们知道此实例的分类特征具有 L 类别)。然后对每个类别的解释与对二进制特征的解释相同。有些语言,例如 R,允许您以各种方式对分类特征进行编码,在本章后面的章节我们会再进行描述。

  • 截距(β0):截距是“常量特征”的特征权重,对于所有实例都是 1。大多数软件包会自动添加这个“1”特征来估计截获。解释是:所有数字特征值在0和分类特征值在参考类别中的实例,模型预测是截距权重。截距的解释通常不相关,因为所有特征值都为零的实例通常没有意义。只有当特征标准化(平均值为0,标准偏差为1)时,解释才有意义。然后,截距反映了一个实例的预测结果,其中所有特征都处于其平均值。

使用以下文本模板可以自动解释线性回归模型中的特征。

数字特征的解释

当所有其他特征值保持不变时,特征值(x_k_)增加一个单位,Y 的预测值增加一个单位。

分类特征的解释

当所有其他特征保持不变时,将特征(x_k_)从引用类别更改为其他类别会增加对 y 的预测(βk)。

解释线性模型的另一个重要度量是 R平方度量。R平方告诉你目标结果的总方差中有多少是由模型解释的。R平方越高,模型对数据的解释就越好。计算平方的公式为:

R 2 = 1 − S S E / S S T R^2=1-SSE/SST R2=1SSE/SST
SSE 是误差项的平方和:

S S E = ∑ i = 1 n ( y ( i ) − y ^ ( i ) ) 2 SSE=\\sum_i=1 ^n(y^(i)-\\hat y(i))^2 SSE=i=1nyiy^i2
SST是数据方差的平方和:

S S T = ∑ i = 1 n ( y ( i ) − y ˉ ) 2 SST=\\sum_i=1^n(y^(i)-\\bary)^2 SST=i=1n(y(i)yˉ)2
SSE 告诉你在拟合线性模型后还有多少方差,这是通过预测值和实际目标值之间的平方差来测量的。SST 是目标结果的总方差。R平方告诉你有多少方差可以用线性模型来解释。对于模型根本不能解释数据的模型,R 平方的范围为 0;对于解释数据中所有方差的模型,R 平方的范围为 1。

有一个陷阱,R平方会随模型中的特征数量的增加而增加,即使它们根本不包含任何关于目标值的信息。因此,最好使用调整后的R平方,这就解释了模型中使用的特征数量。其计算如下:

R ˉ 2 = 1 − ( 1 − R 2 ) n − 1 n − p − 1 \\barR^2=1-(1-R^2)\\fracn-1n-p-1 Rˉ2=1(1R2)np1n1
其中 p 是特征的数量,n 是实例的数s量。

解释一个 R 平方很低(调整后)的模型是没有意义的,因为这样的模型基本上不能解释大部分的方差。对权重的任何解释都没有意义。

特征重要性

一个特征在线性回归模型中的重要性可以用它的 t 统计量的绝对值来衡量。t 统计量是以标准误差为尺度的估计权重。

t β ^ j = β ^ j S E ( β ^ j ) t_\\hat\\beta_j=\\frac\\hat\\beta_jSE(\\hat\\beta_j) tβ^j=SE(β^j)β^j
让我们检查一下这个公式告诉我们:特征的重要性随着权重的增加而增加。这是有道理的。估计权重的方差越大(=我们对正确值的确定度越低),特征就越不重要。这也是有道理的。

5.1.2 示例

在这个例子中,我们使用线性回归模型来预测给定天气和日历信息的特定日期。为了便于解释,我们检查了估计的回归权重。这些特征包括数值特征和分类特征。对于每个特征,该表显示估计的权重、估计的标准误差(SE)和 t 统计量的绝对值(|t|)。

WeightSE|t|
(截距)2399.4238.310.1
夏季899.3122.37.4
秋季138.2161.70.9
节假日-686.1203.23.4
工作日124.973.31.7
天气状况雾天-379.487.64.3
天气状况雨/雪/风暴天-1901.5223.68.5
温度110.77.015.7
湿度-17.43.25.5
风速-42.56.96.2
自从2011年之后的日子4.90.228.5

数值特征(温度)的解释:当所有其他特征保持不变时,温度升高 1 摄氏度,自行车的预测数量增加 110.7 辆。

分类特征(“天气状况”)的解释:与良好天气相比,当下雨、下雪或暴风雨时,自行车的估计数量减少了-1901.5——再次假设所有其他特征不变。当天气有雾时,由于所有其他特征保持不变,自行车的预测数量比好天气低-379.4。

所有的解释总是伴随着脚注,“所有其他特征保持不变”。这是因为线性回归模型的性质。预测目标是加权特征的线性组合。估计的线性方程是特征/目标空间中的超平面(单个特征的简单直线)。权重指定超平面在每个方向上的坡度(渐变)。好的一面是,可加性将单个特征效果的解释与所有其他特征隔离开来。这是可能的,因为方程式中的所有特征效果(=权重乘以特征值)都与加号组合在一起。在事物的坏的一面,解释忽略了特征的联合分布。增加一个特征,但不改变另一个特征,可能导致不现实或至少不太可能的数据点。例如,如果不增加房子的大小,增加房间的数量可能是不现实的。

5.1.3 目视解释

各种各样的可视化使线性回归模型容易和快速地为人类掌握。

5.1.3.1 重量图

权重表的信息(权重和方差估计)可以在权重图中可视化。下图显示了前一个线性回归模型的结果。

图 5.1:权重显示为点,95%置信区间显示为线。

权重图显示,下雨/下雪/暴风雨天气对预测的自行车数量有很大的负面影响。工作日特征的权重接近于零,95%的区间中包含零,这意味着该影响在统计上不显著。一些置信区间很短,估计值接近于零,但特征效应具有统计学意义。温度就是这样的一个候选者。权重图的问题在于特征是在不同的尺度上测量的。而对于天气来说,估计的重量反映了好天气和下雨/暴风雨/下雪天气之间的差异,因为温度只反映了 1 摄氏度的增加。在拟合线性模型之前,可以通过缩放特征(一个的零平均值和标准偏差),使估计的权重更具可比性。

5.1.3.2 效果图

当线性回归模型的权重与实际特征值相乘时,可以更有意义地进行分析。重量取决于特征的比例,如果你有一个测量人的身高的特征,并且你从米转换到厘米,那么重量会有所不同。权重会改变,但数据中的实际效果不会改变。了解您的特征在数据中的分布也是很重要的,因为如果您的方差非常小,这意味着几乎所有的实例都有类似的贡献。效果图可以帮助您了解权重和特征组合对数据预测的贡献程度。首先计算效果,即每个特征的权重乘以实例的特征值:

effect j ( i ) = w j x j ( i ) \\texteffect_j^(i)=w_jx_j^(i) effectj(i)=wjxj(i)
使用箱线图可以可视化效果。箱线图中的框包含一半数据的效果范围(25%到 75%的效果分位数)。框中的垂直线是中间值效应,即 50%的实例对预测的影响较小,另一半则较高。水平线延伸到\\(\\pm1.5\\text iqr/\\sqrt n \\),iqr 是四分位数之间的范围(75%分位数减去 25%分位数)。这些点是离群值。与每个类别都有自己的行的权重图相比,分类特征效果可以总结为一个单独的箱线图。

图 5.2:特征效果图显示了每个特征数据的效果分布(=特征值乘以特征权重)。

对预期租用自行车数量的最大贡献来自于温度和天数特征,这反映了自行车租赁的趋势。温度在很大程度上有助于预测。日趋势特征从零变为大的正贡献,因为数据集中的第一天(2011 年 1 月 1 日)具有非常小的趋势效应,并且该特征的估计权重为正(4.93)。这意味着效果会随着每天的增加而增加,并且在数据集中的最后一天(2012 年 12 月 31 日)效果最高。请注意,对于负权重的效果,具有正效果的实例是具有负特征值的实例。例如,风速负效应大的天气就是风速大的天气。

5.1.4 解释个别预测

一个实例的每个特征对预测有多大贡献?这可以通过计算这个实例的效果来回答。对实例特定效果的解释仅与每个特征的效果分布相比较才有意义。我们要从自行车数据集中解释第 6 个实例的线性模型的预测。实例具有以下特征值。

特征
季节春天
2011 年
mnth 公司1月
假日没有假期
平常日星期二
工作日工作日
天气很好
温度1.604356
湿度51.8261
风速6.000868 年
cnt1606
自从2011年之后的天数5

为了获得这个实例的特征效果,我们必须将它的特征值乘以线性回归模型中相应的权重。对于“工作日”特征的值“工作日”,效果为 125.9。对于 1.6 摄氏度的温度,影响是 177.6。我们将这些单独的效果作为交叉点添加到效果图中,这显示了数据中效果的分布。这使我们能够将个体效应与数据中的效应分布进行比较。

图 5.3:一个实例的效果图显示了效果分布,并突出了感兴趣实例的效果。

如果我们对训练数据实例的预测进行平均,我们得到的平均值是 4504。相比之下,第六个实例的预测很小,因为预测的自行车租金只有 1571 辆。效果图揭示了原因。箱线图显示数据集所有实例的效果分布,交叉显示第 6 个实例的效果。第 6 个实例具有低温效应,因为在这一天,温度为 2 度,与大多数其他日期相比较低(记住温度特征的权重为正)。此外,与其他数据实例相比,趋势特征“自 2011 年以来的天数”的影响较小,因为该实例来自 2011 年初(5 天),并且趋势特征也具有正权重。

5.1.5 分类特征编码

分类特征的编码有几种方法,选择影响权重的解释。

线性回归模型的标准是治疗编码,这在大多数情况下是足够的。使用不同的编码归根结底就是从具有分类特征的单个列创建不同的(设计)矩阵。本节介绍了三种不同的编码,但还有更多。使用的示例有六个实例和三个类别的分类特征。对于前两个实例,该特征采用类别 A;对于实例 3 和 4,采用类别 B;对于后两个实例,采用类别 C。

治疗编码

在治疗编码中,每个类别的权重是对应类别和参考类别之间预测的估计差异。线性模型的截距是参考类别的平均值(当所有其他特征保持不变时)。设计矩阵的第一列是截距,它的值总是 1。第二列表示实例i是否在 B 类中,第三列表示实例i是否在 C 类中,A 类不需要列,因为这样的话,线性方程会被过度指定,并且找不到权重的唯一解。只需知道一个实例既不属于 B 类也不属于 C 类就足够了。

特征矩阵:
( 1 0 0 1 0

以上是关于解释模型的主要内容,如果未能解决你的问题,请参考以下文章

Tensor Flow V2:基于Tensor Flow Keras的摄氏度到华氏度温度转换的训练模型

R语言plotly可视化:使用plotly可视化多分类模型的预测置信度模型在2D网格中每个数据点预测的置信度置信度定义为在某一点上最高分与其他类别得分之和之间的差值

R语言plotly可视化:使用plotly可视化模型在测试集上预测的概率分数,使用预测概率值对数据点进行配色分数越高颜色越深(visualize predictions on test split)

如何用3D Slicer实现模型3D打印 / 查查362

基于最小二乘拟合 SIR 模型

chemdraw中编号1怎么打