提交 7e7524ae 编写于 作者: W wizardforcel

2020-04-17 21:59:20

上级 87d4916a
......@@ -2,61 +2,61 @@
> 原文: [https://serialmentor.com/dataviz/visualizing-trends.html](https://serialmentor.com/dataviz/visualizing-trends.html)
在制作散点图(章节 [12](visualizing-associations.html#visualizing-associations) )或时间序列(章节 [13](time-series.html#time-series) )时,我们通常对数据的总体趋势比对每个单独数据的具体细节更感兴趣点谎言。通过在实际数据点之上或代替实际数据点绘制趋势,通常以直线或曲线的形式,我们可以创建可视化,帮助读者立即查看数据的关键特征。确定趋势有两种基本方法:我们可以通过某种方法平滑数据,例如移动平均值,或者我们可以拟合具有定义的函数形式的曲线,然后绘制拟合曲线。一旦我们确定了数据集中的趋势,特别注意与趋势的偏差或将数据分成多个组件(包括基础趋势,任何现有的循环组件,偶发组件或随机噪声)也可能很有用。
在制作散点图(第 12 章)或时间序列(第 13 章)时,我们通常对数据的总体趋势更感兴趣,而不是每个单独数据点的位置的具体细节言。通过在实际数据点之上或代替实际数据点绘制趋势,通常以直线或曲线的形式,我们可以创建可视化,帮助读者立即查看数据的关键特征。确定趋势有两种基本方法:我们可以通过某种方法平滑数据,例如移动平均值,或者我们可以拟合曲线,它具有所定义的函数形式,然后绘制拟合曲线。一旦我们确定了数据集中的趋势,特别注意相对于趋势的偏差,或将数据分成多个成分(包括基础趋势,任何现有的循环成分,偶然成分或随机噪声)也可能很有用。
## 14.1 平滑
让我们考虑一下道琼斯工业平均指数(简称道琼斯)的时间序列,这是一个股票市场指数,代表 30 家大型上市公司的价格。具体来说,我们将看看 2009 年崩盘后的 2009 年(图 14.1 )。在坠机尾声期间,在 2009 年的前三个月,市场损失超过 2400 点(约 27%)。然后它在今年余下的时间里慢慢恢复。我们如何看待这些长期趋势,同时不再强调不那么重要的短期波动?
让我们考虑一下道琼斯工业平均指数(简称道琼斯)的时间序列,这是一个股票市场指数,代表 30 家大型上市公司的价格。具体来说,我们将看看 2008 年崩盘后的 2009 年(图 14.1)。在崩盘的末期,2009 年的前三个月,市场损失超过 2400 点(约 27%)。然后它在当年余下的时间里慢慢恢复。我们如何看待这些长期趋势,同时不再强调不那么重要的短期波动?
![](img/1476fbe594a542637d033811ec156285.jpg)
图 14.1:道琼斯工业平均指数 2009 年的每日收盘价。数据来源:Yahoo!金融
图 14.1:道琼斯工业平均指数 2009 年的每日收盘价。数据来源:雅虎金融
在统计方面,我们正在寻找一种方法 _ 平滑 _ 股市时间序列。平滑动作产生一种功能,捕获数据中的关键模式,同时去除不相关的细微细节或噪声。金融分析师通常通过计算移动平均线来平滑股市数据。要生成移动平均线,我们需要一个时间窗口,比如时间序列中的前 20 天,计算这 20 天的平均价格,然后将时间窗口移动一天,所以它现在跨越第 2 天到第 21 天,计算这 20 天的平均值,再次移动时间窗口,依此类推。结果是一个由一系列平均价格组成的新时间序列。
在统计方面,我们正在寻找一种方法来平滑股市时间序列。平滑操作产生一个函数,捕获数据中的关键模式,同时去除不相关的细微细节或噪声。金融分析师通常通过计算移动平均值来平滑股市数据。要生成移动平均值,我们需要一个时间窗口,比如时间序列中的前 20 天,计算这 20 天的平均价格,然后将时间窗口移动一天,所以它现在跨越第 2 天到第 21 天,计算这 20 天的平均值,再次移动时间窗口,依此类推。结果是一个由一系列平均价格组成的新时间序列。
绘制这一移动平均线序列,我们需要确定与每个时间窗口的平均值相关联的特定时间点。财务分析师经常在每个时间窗口的末尾绘制每个平均值。这种选择导致曲线滞后于原始数据(图 14.2 a),更严重的滞后对应于更大的平均时间窗口。另一方面,统计学家在时间窗口的中心绘制平均值,这导致曲线完全覆盖原始数据(图 14.2 b)。
了绘制这个移动平均值序列,我们需要确定与每个时间窗口的平均值关联的特定时间点。财务分析师经常在每个时间窗口的末尾绘制每个平均值。这种选择导致曲线滞后于原始数据(图 14.2a),更严重的滞后对应于更大的平均时间窗口。另一方面,统计学家在时间窗口的中心绘制平均值,这导致曲线完全覆盖原始数据(图 14.2b)。
![](img/cae80a6273a0831332dce0b0e88c2f1c.jpg)
图 14.2:2009 年道琼斯工业平均指数的每日收盘价,以及 20 天,50 天和 100 天移动平均线。 (a)移动平均线绘制在移动时间窗口的末尾。 (b)移动平均线绘制在移动时间窗口的中心。数据来源:雅虎!金融
图 14.2:2009 年道琼斯工业平均指数的每日收盘价,以及 20 天,50 天和 100 天移动平均值。(a)移动平均值绘制在移动时间窗口的末尾。(b)移动平均值绘制在移动时间窗口的中心。数据来源:雅虎金融
无论我们是否绘制具有或不具有滞后的平滑时间序列,我们都可以看到,我们平均的时间窗口的长度设置了在平滑曲线中保持可见的波动的比例。 20 日移动平均线仅消除小的短期峰值,但其他方面也紧随日常数据。另一方面,100 天移动平均线甚至可以消除在数周时间内出现的相当大幅度的跌落或尖峰。例如,2009 年第一季度大幅下跌至 7000 点以下的 100 日移动平均线是不可见的,取而代之的是温和的曲线不会低于 8000 点(图 14.2 )。同样,2009 年 7 月左右的下跌在 100 日移动平均线中完全看不到。
无论我们绘制具有或不具有滞后的平滑时间序列,我们都可以看到,我们计算平均的时间窗口的长度,设置了在平滑曲线中保持可见的波动规模。 20 日移动平均值仅消除小的短期峰值,但其他方面也紧随日常数据。另一方面,100 天移动平均值甚至可以消除在数周时间内出现的相当大幅度的下跌或峰值。例如,2009 年第一季度到 7000 点以下的大幅下跌,对于 100 日移动平均值是不可见的,取而代之的是不会低于 8000 点的温和曲线(图 14.2 )。同样,2009 年 7 月左右的下跌在 100 日移动平均值中完全看不到。
移动平均线是最简单的平滑方法,它有一些明显的局限性。首先,它导致平滑的曲线比原始曲线短(图 14.2 )。零件在开头或结尾或两者都缺失。并且时间序列被平滑得越多(即,平均窗口越大),平滑曲线越短。其次,即使平均窗口较大,移动平均线也不一定平滑。即使已经实现了更大规模的平滑,它也可能表现出小的凸起和摆动(图 14.2 )。这些摆动是由进入或退出平均窗口的各个数据点引起的。由于窗口中的所有数据点均等加权,因此窗口边界处的各个数据点可能对平均值产生明显影响。
移动平均值是最简单的平滑方法,它有一些明显的局限性。首先,它导致平滑的曲线比原始曲线短(图 14.2 )。开头或结尾部分或两者都缺失。并且时间序列被平滑得越多(即,平均窗口越大),平滑曲线越短。其次,即使平均窗口较大,移动平均值也不一定平滑。即使已经实现了更大规模的平滑,它也可能表现出小的凸起和摆动(图 14.2)。这些摆动是由进入或退出平均窗口的各个数据点引起的。由于窗口中的所有数据点均等加权,因此窗口边界处的各个数据点可能对平均值产生明显影响。
统计学家已经开发了许多平滑方法,以减轻移动平均线的缺点。这些方法复杂得多且计算成本高,但它们在现代统计计算环境中很容易获得。一种广泛使用的方法是 LOESS(局部估计的散点图平滑, W. S. Cleveland( [1979](#ref-Cleveland1979) )),它将低次多项式拟合到数据的子集。重要的是,每个子集中心的点比边界点的权重更重,这种加权方案产生的结果比加权平均值更平滑(图 14.3 )。此处显示的 LOESS 曲线看起来类似于 100 天平均值,但不应过度解释这种相似性。可以通过调整参数来调整 LOESS 曲线的平滑度,并且不同的参数选择会使 LOESS 曲线看起来更像 20 天或 50 天的平均值。
统计学家已经开发了许多平滑方法,以减轻移动平均值的缺陷。这些方法复杂得多且计算成本高,但它们在现代统计计算环境中很容易获得。一种广泛使用的方法是 LOESS(局部估计的散点图平滑, W. S. Cleveland(1979)),它将低阶多项式拟合到数据的子集。重要的是,每个子集中心的点比边界点的权重更重,这种加权方案产生的结果比加权平均值更平滑(图 14.3 )。此处显示的 LOESS 曲线看起来类似于 100 天平均值,但不应过度解释这种相似性。可以通过调整参数来调整 LOESS 曲线的平滑度,并且不同的参数选择会使 LOESS 曲线看起来更像 20 天或 50 天的平均值。
![](img/e928481a313e2d099496b644cc7a2e94.jpg)
图 14.3:图 14.2 道琼斯数据的 LOESS 拟合与 100 天移动平均线的比较。 LOESS 平滑显示的整体趋势几乎与 100 天移动平均线相同,但 LOESS 曲线更平滑,并且延伸到整个数据范围。数据来源:雅虎!金融
图 14.3:图 14.2 道琼斯数据的 LOESS 拟合与 100 天移动平均值的比较。 LOESS 平滑显示的整体趋势几乎与 100 天移动平均值相同,但 LOESS 曲线更平滑,并且延伸到整个数据范围。数据来源:雅虎金融
重要的是,LOESS 不仅限于时间序列。它可以应用于任意散点图,从其名称 _ 局部估计的散点图平滑 _ 可以看出。例如,我们可以使用 LOESS 来寻找汽车油箱容量与其价格之间关系的趋势(图 14.4 )。 LOESS 系列显示,坦克容量与廉价汽车(低于 20,000 美元)的价格大致成线性增长,但是对于更昂贵的汽车而言,它的水平也在提高。超过大约 20,000 美元的价格,购买更昂贵的汽车将不会让你拥有一个更大的油箱。
重要的是,LOESS 不仅限于时间序列。它可以应用于任意散点图,从其名称“局部估计的散点图平滑”可以看出。例如,我们可以使用 LOESS 来寻找汽车油箱容量与其价格之间关系的趋势(图 14.4)。 LOESS 序列显示,油箱容量与廉价汽车(低于 20,000 美元)的价格大致成线性增长,但是对于更昂贵的汽车而言,它保持不变。超过大约 20,000 美元,购买更昂贵的汽车将不会让你拥有一个更大的油箱。
![](img/f929b0590acdddafe63d799279013669.jpg)
图 14.4:燃料箱容量与 1993 车型年发布的 93 辆汽车的价格相比。每个点对应一辆汽车。实线表示数据的 LOESS 平滑。我们看到油箱容量与价格近似线性增加,最高价格约为 20,000 美元,然后稳定下来。数据来源:圣劳伦斯大学 Robin H. Lock
图 14.4:1993 年车型的 93 辆汽车的油箱容量与价格。每个点对应一辆汽车。实线表示数据的 LOESS 平滑。我们看到油箱容量相对于价格近似线性增加,直到约 20,000 美元的价格,然后稳定下来。数据来源:圣劳伦斯大学 Robin H. Lock
LOESS 是一种非常流行的平滑方法,因为它往往会产生适合人眼的效果。但是,它需要拟合许多单独的回归模型。这使得大型数据集的速度变慢,即使在现代计算设备上也是如此。
LOESS 是一种非常流行的平滑方法,因为它往往会产生适合人眼的效果。但是,它需要拟合许多单独的回归模型。这使得其对于大型数据集较慢,即使在现代计算设备上也是如此。
作为 LOESS 的更快替代品,我们可以使用样条模型。样条曲线是一种分段多项式函数,它具有高度的灵活性,但总是看起来很平滑。使用样条线时,我们会遇到术语 _ 结。_ 样条曲线中的节点是各个样条曲线段的端点。如果我们使用 *k* 段拟合样条曲线,我们需要指定 *k* + 1 个结。虽然样条拟合在计算上是有效的,特别是如果结的数量不是太大,样条有其自身的缺点。最重要的是,存在一系列令人眼花缭乱的不同类型的样条曲线,包括三次样条曲线,B 样条曲线,薄板样条曲线,高斯过程样条曲线以及其他许多样条曲线,其中一个可能并不明显。样条类型和使用的结数的具体选择可以导致相同数据的平滑函数大不相同(图 14.5 )。
作为 LOESS 的更快替代品,我们可以使用样条模型。样条曲线是一种分段多项式函数,它具有高度的灵活性,但总是看起来很平滑。使用样条线时,我们会遇到术语“结”。样条曲线中的结是各个样条曲线段的端点。如果我们使用 *k* 段拟合样条曲线,我们需要指定 *k* + 1 个结。虽然样条拟合在计算上是有效的,特别是如果结的数量不是太大,样条有其自身的缺点。最重要的是,存在一系列令人眼花缭乱的不同类型的样条曲线,包括三次样条曲线,B 样条曲线,薄板样条曲线,高斯过程样条曲线以及其他许多样条曲线,选择哪个可能并不明显。样条类型和使用的结数的具体选择,可能导致相同数据的平滑函数大不相同(图 14.5 )。
![](img/eff2481d34590d18fe8e4ea209c72b38.jpg)
图 14.5:不同的平滑模型显示出广泛不同的行为,特别是在数据边界附近。 (a)LOESS 更平滑,如图 14.4 。 (b)立方回归样条以 5 节。 (c)具有 3 节的薄板回归样条。 (d)高斯过程样条,6 节。数据来源:圣劳伦斯大学 Robin H. Lock
图 14.5:不同的平滑模型表现出极大不同的行为,特别是在数据边界附近。 (a)LOESS 更平滑,如图 14.4。(b)具有 5 个结的立方回归样条。 (c)具有 3 个结的薄板回归样条。(d)高斯过程样条,6 个结。数据来源:圣劳伦斯大学 Robin H. Lock
大多数数据可视化软件将提供平滑功能,可能实现为一种局部回归(如 LOESS)或一种样条曲线。平滑方法可以称为 GAM,广义附加模型,它是所有这些类型的平滑器的超集。重要的是要注意平滑特征的输出高度依赖于适合的特定 GAM 模型。除非您尝试了许多不同的选择,否则您可能永远不会意识到您看到的结果在多大程度上取决于统计软件所做的特定默认选择。
大多数数据可视化软件将提供平滑功能,可能实现为一种局部回归(如 LOESS)或一种样条曲线。平滑方法可以称为 GAM,广义附加模型,它是所有这些类型的平滑器的超集。重要的是要注意,平滑特征的输出高度依赖于适合的特定 GAM 模型。除非您尝试了许多不同的选择,否则您可能永远不会意识到,您看到的结果在多大程度上取决于统计软件所做的特定默认选择。
在解释平滑函数的结果时要小心。可以通过许多不同方式平滑相同的数据集。
## 14.2 以定义的函数形式显示趋势
## 14.2 以定义的函数形式显示趋势
正如我们在图 14.5 中所看到的,对于任何给定的数据集,通用平滑器的行为可能有些不可预测。这些平滑器也不提供具有有意义解释的参数估计。因此,只要有可能,最好使用适合于数据的特定功能形式拟合曲线,并使用具有明确含义的参数。
我们在图 14.5 中看到,对于任何给定的数据集,通用平滑器的行为可能有些不可预测。这些平滑器也不提供具有有意义解释的参数估计。因此,只要有可能,最好使用适合于数据的特定函数形式拟合曲线,并使用具有明确含义的参数。
对于燃料箱数据,我们需要一条曲线,该曲线最初线性上升但随后以恒定值平稳。函数 \(y = A - B \ exp(-mx)\)可能适合该账单。这里, \(A \)\(B \)\(m \)是我们调整以使曲线适合数据的常数。对于小 \(x \),函数近似为线性, \(y \约 A - B + B mx \),它接近大的的常数值\(x \)\(y \ approx A \),它严格增加 \(x \)的所有值。图 14.6 表明该方程至少与我们之前考虑的任何平滑器一样适合数据(图 14.5 )。
对于油箱数据,我们需要一条曲线,该曲线最初线性上升但随后以恒定值平稳。函数`y = A - B exp(-mx)`可能适合该顺序。这里,`A``B``m`是常数,我们调整它来使曲线适合数据。对于较小的`x`,函数近似为线性,`y ~ A - B + B mx`,对于较大`x`,它接近常数值,`y ~ A`,对于`x`的所有制它严格递增。图 14.6 表明该方程至少与我们之前考虑的任何平滑器一样适合数据(图 14.5)。
![](img/e5d40ddd9ca589706cec0b0893362a4f.jpg)
图 14.6:用明确的分析模型表示的燃料箱数据。实线对应于公式 \(y = A-B \ exp(-mx)\)与数据的最小二乘拟合。拟合参数为 \(A = 19.6 \)\(B = 29.2 \)\(m = 0.00015 \)。数据来源:圣劳伦斯大学 Robin H. Lock
图 14.6:用明确的分析模型表示的箱数据。实线对应于公式 \(y = A-B \ exp(-mx)\)与数据的最小二乘拟合。拟合参数为 \(A = 19.6 \)\(B = 29.2 \)\(m = 0.00015 \)。数据来源:圣劳伦斯大学 Robin H. Lock
在许多不同的上下文中适用的函数形式是简单的直线, \(y = A + mx \)。在现实世界的数据集中,两个变量之间的近似线性关系非常常见。例如,在章节 [12](visualizing-associations.html#visualizing-associations) 中,我讨论了蓝鸟的头长和体重之间的关系。这种关系对于雌鸟和雄鸟都是近似线性的,并且在散点图中在点之上绘制线性趋势线有助于读者感知趋势(图 14.7 )。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册