选择预测因子
使用 Tableau 中的预测建模函数创建预测计算时,您需要选择预测因子。作为提醒,预测因子是一个输入变量,其值用于预测结果变量,也称为目标或响应。通常,您将使用您具有广泛领域知识的数据,并且已经了解哪些字段与预测目标密切相关,并且将成为很好的预测因子。但是,最好花时间评估预测因子并确保您明智地选择预测因子。您始终希望至少包括一个预测因子,并且通常包括多个。
首先,选择您的目标。这听起来很明显,但要确保根据要预测的内容选择预测因子是关键的第一步。例如,与女性预期寿命最相关的字段可能与与男性预期寿命最相关的字段大不相同。同样,与销售额最相关的字段可能与与利润最相关的字段大不相同。
需要记住的另一件事是:默认情况下,预测建模函数使用线性回归作为基础统计模型。对于此模型,最相关的预测因子是那些与目标有线性关系的预测因子。有关使用其他受支持模型的信息,请参见选择预测模型。
为了更好地了解如何为要回答的问题选择最佳预测因子,让我们看看女性预期寿命数据。若要继续操作,请从 Tableau Public 下载以下工作簿:为您的预测选择预测因子。
使用度量作为预测因子
使用度量作为预测因子时,可以使用 Tableau 评估其与目标的相关性。一种方法是生成一个散点图。下面,我们将一个国家/地区的女性预期寿命中位数与各种其他措施进行比较。
对于某些度量,比如“Infant Mortality”(婴儿死亡率)和“Birth Rate”(出生率),与“Female Life Expectancy”(女性预期寿命)有明显的负相关,如散点图的负斜率所示。对于其他度量,对不太明显。然而,我们可以清楚地看到,“Median GDP”(GDP 中位数)、“Median Mobile Phone Usage”(移动电话使用率中位数)和“Median Health Exp/Capita”(健康支出/资本中位数)呈 L 型分布。这种 L 型分布通常表明,使用对数转换可以帮助您更准确地分析数据。另一个线索是一个列的值是否都是正数。在 Tableau 中,可以通过编辑“胶囊”并将表达式封装在 LOG 函数中来使用对数转换:
这使我们从 L 型分布(很难区分标度的极端值)变为更均匀的分布(受标度极端值压缩影响较小)。
对其他 L 型分布重复这一过程,我们会得到以下结果:
确定系数或 R 平方值
标记越接近直线,两个度量之间的相关性越高。为了帮助评估相关性,可以添加趋势线。从“分析”窗格中,将“趋势线”拖到视图中,并将其放在“线性”上。将光标悬停在趋势线上将显示 R 平方值或确定系数,该系数指示独立变量(预测因子)解释的依赖变量(目标)的数量。R 平方值接近 1 的预测因子优于 R 平方值接近 0 的预测因子。
查看我们的散点图,我们可以看到,女性预期寿命中位数的最佳预测因子是婴儿死亡率中位数,其 R 平方值为 0.87:
其他良好的预测因子包括出生率中位数(R 平方值 = 0.76)和健康支出/资本中位数(R 平方值 = 0.56)的对数转换。
在下图中,我们针对女性预期寿命中位数对女性预期寿命中位数进行了可视化,结果为 45° 角上的一条完美直线可视化项:如预期的那样,x 轴上的值与 y 轴上的值之间有着完美的相关性,R 平方值为 1:
但是,如下图所示,即使 LOG(MEDIAN([GDP])) 的斜率趋势线比其他趋势线更陡峭,但它的 R 平方值分数很低,只有 0.169。这是该窗格的 x 轴刻度所导致的:
此外,让我们来看看几个标记如何显著影响趋势线的斜率。放大营业税率散点图,我们可以看到,大多数标记的税率在 0 到 1 之间,有六个国家/地区的税率要高得多,在 2 到 3 之间。所有标记的 R 平方值为 0.0879:
但是,让我们看看如果我们移除由六个标记组成的群集,会发生什么情况:
趋势线几乎持平,R 平方值降至 0.0006,表明营业税率中位数与女性预期寿命中位数之间基本没有相关性。在您对数据进行可视化并使用良好的统计方法选择预测因子时,必须仔细考虑是否有任何异常值或其他数据特征可能会影响您的结论。
使用维度作为预测因子
使用维度作为预测因子时,可以使用类似的过程来确定相关性。然而,你可能会发现不同的维度在与目标的关系上有很大的差异。例如,按“Region”(区域)细分时,一个区域可能是目标的一个很好的预测因子,但另一个区域的相关性可能明显降低。这并不意味着您不应将该维度用作预测因子,但您可能需要考虑使用其他度量或维度是否有助于改进模型,进而有助于预测。
由于我们已经确定了数据集的最佳预测因子是婴儿死亡率中位数、出生率中位数,以及和健康支出/资本中位数的对数转换,因此让我们将可视化项限制为以下三个变量:
接下来,让我们通过在“标记”卡上将“Region”(区域)添加到“颜色”来对数据进行分区,并查看可视化项会发生什么情况:
比较预测因子中的 R 平方值
让我们看看每个预测因子的每个“Region”(区域)趋势线的 R 平方值是如何比较的:
在上表中,每个预测因子的最低 R 平方值以红色突出显示,第二低的 R 平方值以黄色突出显示。
欧洲“婴儿死亡率中位数”和“出生率中位数”的 R 平方值最低,而非洲在“健康支出/资本中位数”的对数转换中,R 平方值最低(以红色突出显示)。非洲的“婴儿死亡率中位数”和“出生率中位数”的 R 平方值也较低。
添加维度可以为模型提供更多的信息,而添加更多信息可以提高预测的质量。但是,在给定的细分(本例中为“Region”(区域))中,预测质量可能会提高或下降。在某些情况下,您可能希望基于作为该特定组最佳预测因子的度量为每个细分构建单独的模型。
在这种情况下,婴儿死亡率与所有区域的女性预期寿命有相当强的相关性,尽管在非洲和欧洲的相关性稍弱;出生率中位数是大洋洲和亚洲的一个很好的预测因子,但与欧洲的女性预期寿命几乎没有相关性,除非洲外,健康支出中位数的对数转换是所有区域的合理预测因子。我们可以预期,使用所有四个预测因子(婴儿死亡率、出生率、Log(健康支出) 和区域)构建的模型将对欧洲和非洲各国的预测最不准确;我们可能想对数据进行更深入的深入探讨,看看是否有额外的或替代的预测因子,我们可以用它来构建更适合欧洲和非洲的模型。
构建预测建模函数
现在,我们已经找到了良好的预测因子,我们可以构建并应用预测建模函数来查看它的实际效果。
打开顶部的“分析”菜单,然后选择“创建计算字段”。
在计算编辑器中为计算命名,执行以下操作:
将计算命名为:Quantile_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region
输入以下公式:
MODEL_QUANTILE(0.5,MEDIAN([Life Expectancy Female]),
LOG(MEDIAN([Health Exp/Capita])),
MEDIAN([Birth Rate]),
MEDIAN([Infant Mortality Rate]),
ATTR([Region]))
此计算基于我们选择的以下预测因子返回建模的女性预期寿命中位数范围的中位数值 (0.5):健康支出、出生率、婴儿死亡率和区域。
接下来,让我们构建一个散点图,显示实际女性预期寿命中位数和预测的女性预期寿命中位数:
太好了!这些预测与每个区域的实际值几乎一致。
但是,让我们再做一遍,找出预测最离谱的地方。创建另一个名为 Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region 的计算,如下所示:
MEDIAN([Life Expectancy Female]) - [Quantile_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region]
这种残差计算将返回预测中位数和实际中位数之间的差值,帮助我们了解实际和预测女性预期寿命中位数之间差异最大的国家/地区。
接下来,让我们将此残差计算应用于“颜色”:
在上面的可视化项中,您可以看到,大多数国家/地区的大多数区域的预测和实际值之间的差异很小。非洲是存在重大差异的国家/地区最多的地区,但让我们再来一轮,看看我们看到的是什么样的差异。
您可以看到介于 -17 和 +9 之间的差异范围值,因此让我们将可视化项划分为差异小于 ±3 年、差异小于 ±5 年、差异小于 ±10 年和差异超过 ±10 年的组。
创建另一个名为 Grouped_Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region 的计算,如下所示:
IF [Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region]
<= 3
AND [Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region]
>= -3
THEN
"±3"
ELSEIF
[Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region] <= 5
AND [Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region] >= -5
THEN
"±5"
ELSEIF
[Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region] <= 10
AND [Residual_LifeExpFemale_HealthExpend,BirthRate,Mortality,Region] >= -10
THEN
"±10"
ELSE
"> ±10"
END
同样,让我们将计算添加到“颜色”:
请注意,绝大多数预测的误差不到 3 年,只有一小部分预测误差超过 10 年。总的来说,相当不错!
这意味着,使用这一模型,我们能够准确识别那些女性预期寿命中位数为离群值的国家/地区,或为缺少这些数据的国家/地区提供建模的女性预期寿命。