---
schema_version: "1"
id: 2fd496a96ce9ca4f16402ede6352cff56af0ed36bee07ef83a5acdf07b0a628c
title: 预测建模中的正则化与扩增
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/public/desktop/predictions_regularization_and_augmentation.md
canonical_url: https://help.tableau.com/current/public/desktop/zh-cn/predictions_regularization_and_augmentation.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 39e8b5ad82f440b621e61c112cf3982a0871837140eaca7d76f0e4e65086deae
description: Improve predictive model fit using regularization and augmentation.
---
[跳转到主要内容](#main-content)

# 预测建模中的正则化与扩增

许多使用 Tableau 的人可能不使用[预测建模](https://help.tableau.com/current/pro/desktop/zh-cn/predictions_overview.htm)，更不用说寻找方法来提高预测模型的拟合和预测质量。本文适用于对数据科学这一领域感兴趣的高级用户。

除了目标表达式（要预测的度量）和预测因子表达式（用于进行预测的度量和/或维度）等默认参数外，您还可以再添加两个参数来微调您的预测 ：_lambda、_正则化参数和_扩增_。这涉及到将新参数添加到计算的[语法](https://help.tableau.com/current/pro/desktop/zh-cn/predictions_overview.htm#syntax-of-predictive-modeling-functions--in-detail)中。

## 哪些模型可与正则化和扩增一起使用？

提醒一下，Tableau 中的预测建模函数支持三种模型：线性回归（也称为普通最小二乘回归，或 OLS）、正则化线性回归（或岭回归）和高斯过程回归。如果您使用线性回归或岭回归，则扩增允许您提高模型拾取非线性模式的能力。如果您使用的是岭回归，则正则化参数是一个标量，可用于调整模型上的正则化效果。

正则化和扩增不适用于[高斯过程回归](https://help.tableau.com/current/pro/desktop/zh-cn/predictions_choosing_model.htm#gaussian-process-regression)。

在进一步讨论正则化和扩增之前，让我们回顾一下以下两个模型：

**线性回归**最适合用于预测和预测目标之间有线性关系的一个或多个预测因子，它们不受相同基础条件的影响，并且它们不表示同一数据的两个实例（例如，以美元和欧元表示的销售额）。

**正则化线性回归**用于提高稳定性，减少共线性的影响，并改善计算效率和泛化。在 Tableau 中，使用 L2 正则化。有关 L2 正则化的详细信息，请参见有关[岭回归](https://online.stat.psu.edu/stat857/node/155/)的课程。

## 什么是正则化？

岭回归是一种特定的正则化线性回归。正则化对模型系数的大小施加了惩罚。正则化的强度由 [lambda](https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity/lambda) 控制，后者是用于微调正则化整体影响的标量。值越高，惩罚越重（即正则化程度越高）。

岭回归解决了线性回归的一些问题：

- 它消除了预测因子间多重共线性带来的病态。
- 如果最小二乘问题是病态的，例如如果数据点的数量少于特征的数量，那么 lambda 将选择唯一的解。
- 它为提高线性模型的泛化能力提供了一种途径。

默认情况下，Tableau 中的岭回归具有 **lambda=0.5，**因为此值在许多情况下效果良好。若要更改 lambda 值，只需编辑表计算（如下例所示）。

## 什么是扩增？

MODEL\_QUANTILE 和 MODEL\_PERCENTILE 的扩增是[数据扩增](https://en.wikipedia.org/wiki/Feature_engineering)的一个简单示例：预测因子扩展到更高阶的多项式。在 Tableau 中，预测建模函数内置了几种类型的多项式加法。

- 对于**有序维度**，[勒让德多项式](https://en.wikipedia.org/wiki/Legendre_polynomials)高达 3 阶，使得线性模型能够获得增强预测因子和响应之间的二次和三次关系。
- 对于**度量**，二次[埃尔米特多项式](https://en.wikipedia.org/wiki/Hermite_polynomials)允许线性模型获得增强预测器和响应之间的二次关系。

在线性回归中，默认情况下，只有有序维度在 **augmentation=on** 的情况下被扩增；在 **model=rl** 的岭回归中，默认情况下仅增加度量。若要覆盖设置并禁用计算中每个预测因子的扩增，请使用 **augmentation=off**；不会添加更高阶的多项式。

当数据集非常小时，关闭扩增是有利的，因为扩增可能过度拟合原始数据中存在的任何噪音，也因为由此产生的关系更简单、更直观。

**注意：**基于每个预测因子（即，在您的计算的预测因子参数内）打开/关闭扩增。Lambda（和模型）应用于更高级别（在任何预测因子表达式之外）。

## 在计算中配置 lambda 和扩增

现在，您了解了正则化参数（或 lambda）以及数据扩增，让我们在预测计算的上下文中查看它们：

`MODEL_QUANTILE("model=rl, lambda=0.05", 0.5, SUM([Profit]), "augmentation=off", SUM([Sales]))`

下表快速总结了更改默认的扩增和 lambda 是否会影响线性模型：

<table style="width: 100%;" class="table--plain"><colgroup><col><col><col></colgroup><tbody><tr><td>&nbsp;</td><td>扩增</td><td>Lambda</td></tr><tr><td>岭回归</td><td>是</td><td>是</td></tr><tr><td>线性回归</td><td>是</td><td>不适用</td></tr></tbody></table>

## 正则化和扩增注意事项

- 如果您的数据模型错误，则更改正则化参数或扩增不太可能产生明显更好的效果。考虑查看数据类型是否正确（度量与维度）。例如，如果基础数据是时间系列，请考虑使用[高斯过程回归](https://help.tableau.com/current/pro/desktop/zh-cn/predictions_choosing_model.htm#gaussian-process-regression)，方法是使用 **model=gp** 更改表计算中的模型。
- 由于 OLS 未正则化，因此没有可以更改的 lambda 值。
- 如果您的数据集非常小，并且您具有维度（尤其是高基数维度），则考虑通过在表中添加 model=rl 来使用岭回归。
- 在所有条件相同的情况下（对于相同的数据集，如果启用或禁用扩增），较低的 lambda 可能会改善拟合，但会损害泛化（导致过度拟合）。
- 相反，高 lambda 可能会将拟合推到一个恒定模型，而不依赖于任何预测因子。这将减少模型容量（导致欠拟合）。

### 示例 1

这个例子显示了男性和女性的平均胆固醇和心脏病之间的关系，其中男性用方形标记表示，女性用圆圈表示。

在第一个可视化项中，蓝色标记表示预测目标，橙色标记表示建模值。您可以看到，数据非常嘈杂，在启用增强功能和较小的 lambda 值 0.01 的情况下，我们会看到不切实际的心脏病发病率大于 1。这种依赖性太大了，可能是由于噪声数据中的所有离群值造成的。

![按性别划分的心脏病，具有预测目标和拟合较差的模型](/tableau/current/zh-cn/public/desktop/zh-cn/Img/predict-lambda-ex1a.png)

MODEL\_QUANTILE("model=rl, lambda=0.01", 0.5, AVG(\[Target\]), ATTR(\[Sex\]), "augmentation=on", AVG(\[Chol\]))

在下一个可视化项中，我们将预测目标与不同的模型进行比较，扩增关闭，lambda 值关闭 10。请注意，此模型更符合实际，并且没有任何标记超过发病率 1。

![按性别划分的心脏病，具有预测目标和更好的模型](/tableau/current/zh-cn/public/desktop/zh-cn/Img/predict-lambda-ex1b.png)

MODEL\_QUANTILE("model=rl, lambda=10", 0.5, AVG(\[Target\]), ATTR(\[Sex\]), "augmentation=off", AVG(\[Chol\]))

### 示例 2

接下来，让我们看看另一个使用 Boston’s Bluebikes（前身为 Hubway）自行车共享系统的乘客数据的真实示例。在这种情况下，线性回归效果良好。将汇总到 2017 年各季度的以下可视化项进行比较：

![没有过度拟合的 Hubway 乘车数据图](/tableau/current/zh-cn/public/desktop/zh-cn/Img/predict-lambda-ex2a.png)

MODEL\_QUANTILE('model=rl, lambda=0.05', 0.5, sum(\[Trip.Duration\]), AVG(\[Temp\]))

![没有过度拟合的 Hubway 乘车数据图](/tableau/current/zh-cn/public/desktop/zh-cn/Img/predict-lambda-ex2b.png)

MODEL\_QUANTILE('model=rl, lambda=0.05', 0.5, AVG(\[Speed\]), AVG(\[Temp\]))

两者都不太容易过度拟合，所以对于一个小的 Lambda 来说，对 lambda 的依赖是很弱的。

现在看看最后这一个可视化项：

![没有过度拟合的 Hubway 乘车数据图](/tableau/current/zh-cn/public/desktop/zh-cn/Img/predict-lambda-ex2c.png)

MODEL\_QUANTILE('model=rl, lambda=2', 0.5, sum(\[Trip.Duration\]), AVG(\[Temp\]))

请注意，随着 lambda 的增加，拟合变得平坦到没有坡度（也就是说，变得过度正则化或“欠拟合”）。