示例 - 使用预测建模函数探索女性预期寿命

此示例使用 Tableau 附带的 World Indicators 已保存数据源。我们将使用 MODEL_QUANTILE 和 MODEL_PERCENTILE 预测建模函数来探索人均医疗支出、女性预期寿命和出生率之间的关系

让我们从可视化项开始,将每个国家/地区的健康支出与其女性预期寿命进行对比。若要继续操作并访问预构建的视图和仪表板,或者查看解决方案,请从 Tableau Public 中下载以下工作簿:女性预期寿命的预测建模

女性预期寿命散点图

使用 MODEL_PERCENTILE

首先,我们将针对所有可见标记评估预期寿命和健康支出。这将允许 Tableau 依据这些标记构建模型,并返回模型中每个标记的百分位。

步骤 1:创建预测计算

如果您也有 Tableau Server 或 Tableau Online,并且想要在 Web 上而不是 Tableau Desktop 中进行制作,请将工作簿发布到 Tableau Server,单击“工作簿”,选择该工作簿,然后在“动作”下面选择“编辑工作簿”

打开工作簿后,您会看到它有若干工作表。您将使用这些工作表来构建您的视图。

  1. 在起始模板工作簿中,单击“百分位起始模板”工作表。

  2. 打开顶部的“分析”菜单,然后选择“创建计算字段”

  3. 在计算编辑器中,执行以下操作:

    • 将计算命名为:Percentile Expectancy vs Spending(预期寿命与支出百分位)

    • 注意:如果您继续在起始模板工作簿中操作,您将会看到在整个示例中使用的计算的不同名称。这样,您就能够像此处描述的那样命名字段,而不会创建重复项。您的解决方案可能具有不同的名称,但可视化项看起来应相同。
    • 输入以下公式:

      MODEL_PERCENTILE(AVG([Life Expectancy Female]), LOG(MEDIAN([Health Exp/Capita])))

    • 此计算使用平均预期寿命作为目标表达式,将健康支出中位数用作预测因子。在这种情况下,我们对健康支出轴以及预测因子使用了对数转换。

      注意:因为此数据集偏向非常大的值,所以我们使用对数标度来转换数据,这在分析具有比其他值高得多的少数值的数据时很有用,并且可以更容易地识别数据集中的趋势和关系。
  4. 单击“确定”

    预测计算现在作为计算字段添加到“数据”窗格中。

步骤 2:向视图中添加预测计算

在上面的可视化项中,您可以看到每个国家/地区的健康支出与其女性预期寿命的对比(筛选到 2012 年)。

现在,让我们将 MODEL_PERCENTILE 计算添加到视图中,看看我们可以获得哪些见解。

  1. 将“Percentile Expectancy vs Spending”(预期寿命与支出百分位)拖到“标记”卡上的“颜色”。

  2. 单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”

  3. 在“标记”卡上单击“颜色”,然后单击“编辑颜色”

    • 在“调色板”下,选择“橙色-蓝色发散”

    • 选中“渐变颜色”复选框。

    • 选中“反转”复选框。

  4. 单击“确定”

  5. 显示与支出相关的女性预期寿命的图表

    根据支出水平,您可以看到健康预期高于和低于预期的国家/地区的分布情况。请注意,通常情况下,深红色标记表示预期寿命相对于健康支出较高,深蓝色表示预期寿命相对于健康支出较低,灰色表示预期寿命接近基于健康支出水平的模型预期。

步骤 3:按颜色对结果进行分组

为了简化分析,让我们在新计算中使用预测计算对结果进行分组。我们将生成组,以便将高于第 90 个百分位数和低于第 10 个百分位数的标记分组在一起,将位于第 80-90 个百分位数范围和第 10-20 个百分位数范围内的标记分组在一起,依此类推。我们还将突出显示值为 null 的标记,并在稍后使用另一个预测建模函数 MODEL_QUANTILE 来处理这些标记。

  1. 在计算编辑器中,执行以下操作:

    • 将计算命名为: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

  2. 将新计算添加到“标记”卡上的“颜色”

  3. 单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”

  4. 在“标记”卡上单击“颜色”,然后单击“编辑颜色”

    • 调整颜色以更好地查看趋势。在这种情况下,让我们使用“Traffic Light”调色板,并为 Null 使用灰色。

  5. 单击“确定”

    显示了按颜色分组的结果的图表

    看着角落里的橙色标记,请注意,美国女性每名女性的预期寿命为 81 岁,花费 8895 美元。沿着 X 轴向左移动,您可以看到其他国家/地区花费更少,预期寿命相同。

    该模型评估每个点的关系强度,其中美国接近模型的预期范围的上端。

步骤 4:将预期寿命与出生率进行比较

接下来,让我们来看看一个将女性预期寿命与出生率进行比较的可视化项。请注意,出生率与女性预期寿命呈负相关;然而,这并不意味着较高的出生率会导致女性预期寿命的降低。可能还有其他因素同时影响出生率和女性预期寿命,这些因素在这个数据视图中是看不到的。但让我们添加模型,看看在考虑到健康支出的情况下,模型预计女性的预期寿命会在哪里更高或更低。

按出生率列出的预期寿命

  1. 在“Birth Rate”(出生率)工作表上,将“Percentile by Color”(按颜色划分的百分位)预测计算添加到“标记”卡上的“颜色”,以将其纳入视图。

  2. 单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”

  3. 在“标记”卡上单击“颜色”,并单击“编辑颜色”。像以前一样编辑颜色,使用“Traffic Light”调色板,并用灰色表示 Null。

  4. 单击“确定”

    重点显示阿尔巴尼亚和亚美尼亚结果的图表

    现在数据更加分散。右下角的红色地带是预期寿命最低但出生率最高的地方,医疗保健支出相对于预期寿命也很低。挑出左上角象限的两个红色标记,分别与阿尔巴尼亚和亚美尼亚有关,您会注意到这两个国家的女性预期寿命都很高,出生率较低,健康支出也很低。

    如您所见,我们能够使用 MODEL_PERCENTILE 来确定这两个国家是离群值:即使它们的医疗支出都相对较低,但放在出生率的背景下,它们的预期寿命仍然相对较高。

    显示阿尔巴尼亚即使在医疗支出较低的情况下也有很高预期寿命的工具提示

  5. 现在,让我们看看如何使用另一个预测建模函数 MODEL_QUANTILE 继续分析。

使用 MODEL_QUANTILE

在给定目标百分位、目标表达式和预测因子的情况下,MODEL_QUANTILE 用于生成数值预测。它是 MODEL_PERCENTILE 的逆函数。

回想一下,我们的结果中有几个 null 值,这意味着一些国家/地区没有健康支出数据。我们将使用 MODEL_QUANTILE 估计这些缺失值。

步骤 1:创建预测计算

我们一直在进行此计算:

MODEL_PERCENTILE(AVG([Life Expectancy Female]), LOG(MEDIAN([Health Exp/Capita])))

首先,我们想反转这个函数,以便根据女性预期寿命预测医疗保健支出。

  1. 在起始模板工作簿中,单击“分位数起始模板”工作表。

  2. 打开顶部的“分析”菜单,然后选择“创建计算字段”

  3. 在计算编辑器中,执行以下操作:

    • 将计算命名为:Quantile of Life Expectancy vs Spending(预期寿命与支出的分位数)
    • 输入以下公式:

      POWER(10, MODEL_QUANTILE(0.5, LOG(MEDIAN([Health Exp/Capita])), AVG([Life Expectancy Female])))

      让我们分解这个计算,以更好地理解它:

      • 我们从 MODEL_QUANTILE 开始,其中第一个参数是 0.5,指定要预测的百分位。
      • 目标表达式是人均健康支出中位数。
      • 预测因子是女性平均预期寿命。
      • 此外,我们将函数封装在 POWER 函数中,以将经过对数转换的目标表达式转换回美元。
  4. 单击“确定”

    预测计算现在作为计算字段添加到“数据”窗格中。

步骤 2:向视图中添加预测计算

  1. “Quantile of Life Expectancy vs Spending”(预期寿命与支出的分位数)拖到“标记”卡上的“工具提示”。

  2. 单击“胶囊”上的下拉箭头,然后选择使用“计算依据”>“国家/地区”

  3. 单击“标记”卡上的 “工具提示”,并为 MODEL_QUANTILE 预测添加一行:

    • 将工具提示行命名为:Predicted Health Spend from Female Life Expectancy:(从女性预期寿命预测健康支出:)

    • 单击“插入”并选择计算,以确保工具提示将在您与可视化项交互时动态显示标记的唯一预测。

  4. 单击“确定”

    印度尼西亚的工具提示

  5. 现在,我们的 MODEL_QUANTILE 计算只有一个预测因子:女性预期寿命。请注意,当您从左向右移动时,查看工具提示中具有相同预期寿命的标记时,会发现每个标记都有相同的预测健康支出。印度尼西亚从预期寿命中预测的医疗支出为 336 美元,但斐济、埃及和其他女性预期寿命相同的国家也是如此。

    这是因为模型为每个标记提供相同的估计支出。由于我们仅使用一个预测因子(女性预期寿命),因此模型将为预测因子具有相同值的所有标记返回相同结果。您可以通过添加预测因子为模型添加更多细微差别。

步骤 3:添加具有第二个预测因子的预测

在生成预测时,应考虑哪些字段是目标值的良好预测因子,并将它们包括在计算中。您可以合并任意数量的维度和度量。例如,我们可以添加 GDP、人口和其他字段作为预测因子来改进我们的预测。在本例中,让我们添加“Region”(区域)

  1. 在计算编辑器中,执行以下操作:

    • 将计算命名为:Quantile Spend vs Expectancy & Region(支出与预期寿命和区域的分位数)

    • 输入以下公式(与上一个计算相同),但添加“Region”(区域)作为预测因子:

      POWER(10, MODEL_QUANTILE(0.5, LOG(MEDIAN([Health Exp/Capita])), AVG([Life Expectancy Female]), ATTR([Region])))

  2. 单击“确定”

  3. 接下来,将新计算添加到“标记”卡上的“工具提示”。

  4. 单击“工具提示”,并添加另一行来描述新的预测,例如 Predicted Health Spend from Female Life Expectancy & Region(通过女性预期寿命和区域预测的健康支出):

    印度尼西亚的工具提示

    现在,工具提示显示两个预测。

步骤 4:将实际值与预测值进行比较

作为分析的最后一步,您还可以生成结合实际值和预测值的预测计算。在我们的示例中,让我们显示可用的实际健康支出和不可用的估计支出。

  1. 在计算编辑器中,执行以下操作:

    • 将计算命名为:Health Spend Actual vs Prediction Value(健康支出实际值与预测值)

    • 输入以下公式,该公式将返回预测的数字值:

      ROUND(IFNULL(AVG([Health Exp/Capita]),[Quantile_HE/Cap_LEF,Region]),0)

  2. 单击“确定”

  3. 按如下方式创建另一个计算:

    • 将计算命名为:Health Spend Actual vs Prediction Tag(健康支出实际与预测标记)

    • 输入以下公式,该公式将用作上述计算的标签:

      STR(IF ISNULL(AVG([Health Exp/Capita])) THEN "(Estimate)" ELSE "(Actual)" END)

  4. 单击“确定”

  5. 接下来,将两个计算都添加到“标记”卡上的“工具提示”

  6. 单击“工具提示”,然后添加另一行来描述新计算:

    • Per Capita Health Expenditure (Actual or Estimated)(人均健康支出(实际或估计)):

    • 逐个插入新计算。

  7. 单击“确定”

    百慕大的工具提示

    现在,当您与可视化项交互时,您可以查看每个国家/地区人均健康支出,或查看数据中实际值是否缺失 (null) 的估计值。

    就这样,您可以使用 Tableau 中的预测建模函数深入了解您的数据。

感谢您的反馈!