示例 - 使用预测建模函数探索女性预期寿命
- 版本 :2022.1 及更高版本
适用于: Tableau Desktop, Tableau Online, Tableau Public, Tableau Server
此示例使用 Tableau 附带的 World Indicators 已保存数据源。我们将使用 MODEL_QUANTILE 和 MODEL_PERCENTILE 预测建模函数来探索人均医疗支出、女性预期寿命和出生率之间的关系
让我们从可视化项开始,将每个国家/地区的健康支出与其女性预期寿命进行对比。若要继续操作并访问预构建的视图和仪表板,或者查看解决方案,请从 Tableau Public 中下载以下工作簿:女性预期寿命的预测建模。
使用 MODEL_PERCENTILE
首先,我们将针对所有可见标记评估预期寿命和健康支出。这将允许 Tableau 依据这些标记构建模型,并返回模型中每个标记的百分位。
步骤 1:创建预测计算
如果您也有 Tableau Server 或 Tableau Online,并且想要在 Web 上而不是 Tableau Desktop 中进行制作,请将工作簿发布到 Tableau Server,单击“工作簿”,选择该工作簿,然后在“动作”下面选择“编辑工作簿”。
打开工作簿后,您会看到它有若干工作表。您将使用这些工作表来构建您的视图。
在起始模板工作簿中,单击“百分位起始模板”工作表。
打开顶部的“分析”菜单,然后选择“创建计算字段”。
在计算编辑器中,执行以下操作:
将计算命名为:Percentile Expectancy vs Spending(预期寿命与支出百分位)
输入以下公式:
MODEL_PERCENTILE(AVG([Life Expectancy Female]), LOG(MEDIAN([Health Exp/Capita])))
单击“确定”。
预测计算现在作为计算字段添加到“数据”窗格中。
注意:如果您继续在起始模板工作簿中操作,您将会看到在整个示例中使用的计算的不同名称。这样,您就能够像此处描述的那样命名字段,而不会创建重复项。您的解决方案可能具有不同的名称,但可视化项看起来应相同。
此计算使用平均预期寿命作为目标表达式,将健康支出中位数用作预测因子。在这种情况下,我们对健康支出轴以及预测因子使用了对数转换。
注意:因为此数据集偏向非常大的值,所以我们使用对数标度来转换数据,这在分析具有比其他值高得多的少数值的数据时很有用,并且可以更容易地识别数据集中的趋势和关系。
步骤 2:向视图中添加预测计算
在上面的可视化项中,您可以看到每个国家/地区的健康支出与其女性预期寿命的对比(筛选到 2012 年)。
现在,让我们将 MODEL_PERCENTILE 计算添加到视图中,看看我们可以获得哪些见解。
将“Percentile Expectancy vs Spending”(预期寿命与支出百分位)拖到“标记”卡上的“颜色”。
单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”。
在“标记”卡上单击“颜色”,然后单击“编辑颜色”。
在“调色板”下,选择“橙色-蓝色发散”。
选中“渐变颜色”复选框。
选中“反转”复选框。
单击“确定”。
根据支出水平,您可以看到健康预期高于和低于预期的国家/地区的分布情况。请注意,通常情况下,深红色标记表示预期寿命相对于健康支出较高,深蓝色表示预期寿命相对于健康支出较低,灰色表示预期寿命接近基于健康支出水平的模型预期。
步骤 3:按颜色对结果进行分组
为了简化分析,让我们在新计算中使用预测计算对结果进行分组。我们将生成组,以便将高于第 90 个百分位数和低于第 10 个百分位数的标记分组在一起,将位于第 80-90 个百分位数范围和第 10-20 个百分位数范围内的标记分组在一起,依此类推。我们还将突出显示值为 null 的标记,并在稍后使用另一个预测建模函数 MODEL_QUANTILE 来处理这些标记。
在计算编辑器中,执行以下操作:
将计算命名为:Percentile by Color(按颜色划分的百分位)。
输入以下公式:
IF
ISNULL([Percentile Expectancy vs Spending])
THEN "Null"
ELSEIF [Percentile Expectancy vs Spending] >=0.9 OR
[Percentile Expectancy vs Spending] <=0.1
THEN "<10th & >90th percentile"
ELSEIF [Percentile Expectancy vs Spending] >=0.8 OR
[Percentile Expectancy vs Spending] <=0.2
THEN "<20th & >80th percentile"
ELSEIF [Percentile Expectancy vs Spending] >=0.7 OR
[Percentile Expectancy vs Spending] <=0.3
THEN "<30th & >70th percentile"
ELSEIF [Percentile Expectancy vs Spending] >=0.6 OR
[Percentile Expectancy vs Spending] <=0.4
THEN "<40th & >60th percentile"
ELSE "50th percentile +-10"
END将新计算添加到“标记”卡上的“颜色”。
单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”。
在“标记”卡上单击“颜色”,然后单击“编辑颜色”。
调整颜色以更好地查看趋势。在这种情况下,让我们使用“Traffic Light”调色板,并为 Null 使用灰色。
单击“确定”。
看着角落里的橙色标记,请注意,美国女性每名女性的预期寿命为 81 岁,花费 8895 美元。沿着 X 轴向左移动,您可以看到其他国家/地区花费更少,预期寿命相同。
该模型评估每个点的关系强度,其中美国接近模型的预期范围的上端。
步骤 4:将预期寿命与出生率进行比较
接下来,让我们来看看一个将女性预期寿命与出生率进行比较的可视化项。请注意,出生率与女性预期寿命呈负相关;然而,这并不意味着较高的出生率会导致女性预期寿命的降低。可能还有其他因素同时影响出生率和女性预期寿命,这些因素在这个数据视图中是看不到的。但让我们添加模型,看看在考虑到健康支出的情况下,模型预计女性的预期寿命会在哪里更高或更低。
在“Birth Rate”(出生率)工作表上,将“Percentile by Color”(按颜色划分的百分位)预测计算添加到“标记”卡上的“颜色”,以将其纳入视图。
单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”。
在“标记”卡上单击“颜色”,并单击“编辑颜色”。像以前一样编辑颜色,使用“Traffic Light”调色板,并用灰色表示 Null。
单击“确定”。
现在数据更加分散。右下角的红色地带是预期寿命最低但出生率最高的地方,医疗保健支出相对于预期寿命也很低。挑出左上角象限的两个红色标记,分别与阿尔巴尼亚和亚美尼亚有关,您会注意到这两个国家的女性预期寿命都很高,出生率较低,健康支出也很低。
如您所见,我们能够使用 MODEL_PERCENTILE 来确定这两个国家是离群值:即使它们的医疗支出都相对较低,但放在出生率的背景下,它们的预期寿命仍然相对较高。
现在,让我们看看如何使用另一个预测建模函数 MODEL_QUANTILE 继续分析。
使用 MODEL_QUANTILE
在给定目标百分位、目标表达式和预测因子的情况下,MODEL_QUANTILE 用于生成数值预测。它是 MODEL_PERCENTILE 的逆函数。
回想一下,我们的结果中有几个 null 值,这意味着一些国家/地区没有健康支出数据。我们将使用 MODEL_QUANTILE 估计这些缺失值。
步骤 1:创建预测计算
我们一直在进行此计算:
MODEL_PERCENTILE(AVG([Life Expectancy Female]), LOG(MEDIAN([Health Exp/Capita])))
首先,我们想反转这个函数,以便根据女性预期寿命预测医疗保健支出。
在起始模板工作簿中,单击“分位数起始模板”工作表。
打开顶部的“分析”菜单,然后选择“创建计算字段”。
在计算编辑器中,执行以下操作:
我们从 MODEL_QUANTILE 开始,其中第一个参数是 0.5,指定要预测的百分位。
目标表达式是人均健康支出中位数。
预测因子是女性平均预期寿命。
此外,我们将函数封装在 POWER 函数中,以将经过对数转换的目标表达式转换回美元。
将计算命名为:Quantile of Life Expectancy vs Spending(预期寿命与支出的分位数)
输入以下公式:
POWER(10, MODEL_QUANTILE(0.5, LOG(MEDIAN([Health Exp/Capita])), AVG([Life Expectancy Female])))
让我们分解这个计算,以更好地理解它:
单击“确定”。
预测计算现在作为计算字段添加到“数据”窗格中。
步骤 2:向视图中添加预测计算
将“Quantile of Life Expectancy vs Spending”(预期寿命与支出的分位数)拖到“标记”卡上的“工具提示”。
单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”。
单击“标记”卡上的 “工具提示”,并为 MODEL_QUANTILE 预测添加一行:
单击“插入”并选择计算,以确保工具提示将在您与可视化项交互时动态显示标记的唯一预测。
将工具提示行命名为:Predicted Health Spend from Female Life Expectancy:(从女性预期寿命预测健康支出:)
单击“确定”。
现在,我们的 MODEL_QUANTILE 计算只有一个预测因子:女性预期寿命。请注意,当您从左向右移动时,查看工具提示中具有相同预期寿命的标记时,会发现每个标记都有相同的预测健康支出。印度尼西亚从预期寿命中预测的医疗支出为 336 美元,但斐济、埃及和其他女性预期寿命相同的国家也是如此。
这是因为模型为每个标记提供相同的估计支出。由于我们仅使用一个预测因子(女性预期寿命),因此模型将为预测因子具有相同值的所有标记返回相同结果。您可以通过添加预测因子为模型添加更多细微差别。
步骤 3:添加具有第二个预测因子的预测
在生成预测时,应考虑哪些字段是目标值的良好预测因子,并将它们包括在计算中。您可以合并任意数量的维度和度量。例如,我们可以添加 GDP、人口和其他字段作为预测因子来改进我们的预测。在本例中,让我们添加“Region”(区域)。
在计算编辑器中,执行以下操作:
将计算命名为:Quantile Spend vs Expectancy & Region(支出与预期寿命和区域的分位数)
输入以下公式(与上一个计算相同),但添加“Region”(区域)作为预测因子:
POWER(10, MODEL_QUANTILE(0.5, LOG(MEDIAN([Health Exp/Capita])), AVG([Life Expectancy Female]), ATTR([Region])))
单击“确定”。
接下来,将新计算添加到“标记”卡上的“工具提示”。
单击“工具提示”,并添加另一行来描述新的预测,例如 Predicted Health Spend from Female Life Expectancy & Region(通过女性预期寿命和区域预测的健康支出):
现在,工具提示显示两个预测。
步骤 4:将实际值与预测值进行比较
作为分析的最后一步,您还可以生成结合实际值和预测值的预测计算。在我们的示例中,让我们显示可用的实际健康支出和不可用的估计支出。
在计算编辑器中,执行以下操作:
将计算命名为:Health Spend Actual vs Prediction Value(健康支出实际值与预测值)
输入以下公式,该公式将返回预测的数字值:
ROUND(IFNULL(AVG([Health Exp/Capita]),[Quantile_HE/Cap_LEF,Region]),0)
单击“确定”。
按如下方式创建另一个计算:
将计算命名为:Health Spend Actual vs Prediction Tag(健康支出实际与预测标记)
输入以下公式,该公式将用作上述计算的标签:
STR(IF ISNULL(AVG([Health Exp/Capita])) THEN "(Estimate)" ELSE "(Actual)" END)
单击“确定”。
接下来,将两个计算都添加到“标记”卡上的“工具提示”。
单击“工具提示”,然后添加另一行来描述新计算:
逐个插入新计算。
Per Capita Health Expenditure (Actual or Estimated)(人均健康支出(实际或估计)):
单击“确定”。
现在,当您与可视化项交互时,您可以查看每个国家/地区人均健康支出,或查看数据中实际值是否缺失 (null) 的估计值。
就这样,您可以使用 Tableau 中的预测建模函数深入了解您的数据。