像所有工程师、程序员和数据中心运维人员一样,他们都使用模型来描述和预测复杂生产系统的行为。例如,性能专家可能会定义一个参数化方程,将计算机系统的工作负载映射到其在正常条件下的应用级性能。原则上,将这样的模型拟合到数据——设置自由参数,使方程与运行系统的测量值紧密一致——是很简单的。
然而,在实践中,生产系统会带来具有挑战性的复杂情况。现代数据中心会遭受突发故障、意外过载以及无数的事故——罕见的、性质异常的事件,这些事件会在模型拟合的数据中产生剧烈的极端值和彻底的荒谬之处。这些异常数据点是噪声,因为它们反映的是系统脱轨,而不是正常的系统运行;噪声会误导不谨慎的模型拟合技术产生无稽之谈。
即使对于悠闲工作的人类专家来说,在拟合模型之前清理掉虚假数据点也很困难,因为高维测量数据难以可视化和分析;此外,对于数据中心自动化而言,纸上谈兵的分析是不可行的。为了实用,一种方法必须在有效地忽略穿插其中的异常数据的情况下,将模型拟合到常规数据,而无需人工协助。作为一个额外的副作用,成功的方法会将异常标记为违反其他令人满意的拟合模型的奇怪数据点。
本期“钻头”首先回顾了一种流行的、通用的模型拟合技术,该技术对于表现良好的数据可以很好地工作。然而,当数据被生产计算系统中典型的异常污染时,它会彻底失败。然后,我们遇到了一种鲜为人知但同样通用的替代方法,它在几个世纪前就被发明出来,并且在将模型拟合到真实世界数据方面做得更好。我们解释了这种卓越的方法在区分精华和糟粕方面的不可思议的诀窍,并描述了它在真实数据中心中性能异常检测和性能预测方面的应用。一个侧边栏理清了机器学习和统计学中的术语和概念;示例代码使用流行的 R 分析平台将模型拟合到示例数据。
图 1 的合成数据(空心圆圈)理想化了来自生产系统的工作负载时间序列数据的三个特征:长期上升趋势、昼夜周期和随机短期波动。异常值明显不存在。如此良好管理的数据使得拟合可解释且简约的线性模型变得容易,但首先让我们消除一个普遍的误解。
线性建模的线性方面远没有新手可能认为的那么具有限制性。它不意味着“模型必须是 x-y 平面中的直线”或更高维度中的超平面。例如,给定响应变量 z
和预测变量 x
和 y
的观测值,模型方程 z = α0 + α1ex + α2y2
是合理的:右侧在预测变量中不是线性的,但在 α 参数中是线性的,这才是重要的。因此,线性建模非常通用——鉴于令人困惑的术语,这一事实应该更加突出。一本冗长的教科书10 在第 224 页澄清了这个问题,但它真的应该放在封面上。
对于图 1 的数据,一个常识性的模型方程是 y = α0 + α1x + α2sin(t)
,其中响应变量 y
是每小时请求率(垂直轴),预测变量 x
是以小时为单位的时间(水平轴),并且一天中的时间 t
从 x
导出并表示为弧度角:t = 2π((x mod 24)/24)
。α
参数表示 y
轴截距、斜率和昼夜周期的幅度。
参数值可以从 (x
,y
) 观测值中以多种不同的方式导出。最流行的是最小二乘回归 (LSQ),它最小化平方残差的总和——数据点和拟合模型之间的差异。在示例代码中,LSQ 回归非常简单:将 .csv
文件转换为 α
值只需几个击键。生成的拟合模型 y = 3009.3 + 78.036x + 1953.5sin(t)
在图 1 中以红色显示。目测表明拟合良好:残差似乎很小。
外观会欺骗人,自动化建模不能使用肉眼,因此勤奋的从业者会正式验证拟合模型。验证方法超出了本专栏的范围,但在 R 建模12、计算机性能建模8 和一般线性建模10 的背景下在其他地方进行了解释。
图 2 在数据中添加了一对异常事件:第一天的需求过载和最后一天的完全停机。这些事件产生了远离与正常运行条件相对应的数据点的异常值簇,这是来自生产计算系统的数据中常见的特征。红色显示的是与图 1 中拟合的模型方程相同的最小二乘拟合。异常值簇作为一个团队工作,将 LSQ 拟合顺时针方向扭曲得太远,以至于斜率变为负值,并将红色曲线拖离几乎所有数据点。
当图 2 中存在异常值时,是否图 1 中完美拟合数据的模型方程不适用?或者问题不在于模型方程,而在于拟合方法?
在统计学的术语中,一种抵抗异常值影响的回归程序被称为稳健。最小二乘法不稳健,但许多替代方法是稳健的。16 如果异常数据点不是太多,它们就不会将稳健的拟合拖离普通数据点。
最古老且概念上最简单的稳健程序是 LAR(最小绝对残差)回归。LAR 最小化绝对残差的总和——一个比 LSQ 标准更明显、更直观的目标。LAR 最初在 18 世纪中期提出,14 比 LSQ 早一代,比现代统计学早一个世纪。
数学统计学的细微之处4,9,10 有时建议最小二乘法优于 LAR,反之亦然。然而,计算差异在很大程度上解释了 LSQ 的流行和 LAR 的默默无闻:虽然矩阵运算足以用于 LSQ,但通用 LAR 回归是一个线性规划问题,4 这在计算上要求更高。LAR 仅在高速电子计算机和高效算法1,2 出现后才变得实用,这比它首次提出晚了两个世纪,此后它的优势很快变得显而易见。9
图 2 中的蓝色曲线是相同模型方程的 LAR 拟合:y = 4523.2 + 62.301x + 1754.0sin(t)
。轻微的顺时针扭矩是明显的,但总体而言,LAR 拟合模型与常规数据点非常吻合,同时几乎完全忽略了异常数据点。
图 3 显示了图 2 的最小二乘法和 LAR 拟合的残差累积分布。LSQ 残差的分布是单峰的,并且跨越很宽的范围。相比之下,LAR 分布是三峰的:大多数残差都很小,并且在中心跨越狭窄的范围;这些对应于常规运行条件。与异常条件相对应的残差很大,并且非常突出,远远地位于两侧。
拟合模型使得异常通过残差显现出来,对于这个简单的二维示例数据集来说是过度的,其异常在设计上是显而易见的。然而,来自真实世界的高维数据并不容易可视化;异常不会大声宣布自己。通常,检测真实生产系统何时出现故障的最佳方法是此处使用的方法:将系统专家知识封装在一个模型方程中,该方程在正常条件下很好地描述了其行为,使用稳健的程序将模型拟合到生产测量值,并将怀疑指向大的残差。
我的同事和我应用这种方法来识别真实生产系统中的性能异常。13 我们的响应变量是应用级性能,我们的预测变量是工作负载特征,我们使用了排队论模型方程,该方程将工作负载映射到性能。在常规运行条件下,工作负载很好地解释了性能。当系统脱离轨道时,工作负载没有解释性能,从而导致明显的残差。我们的性能模型还可以预测服务器整合和前所未有的工作负载变化带来的后果。
在我们的工作中,LAR 比最小二乘回归产生了始终如一的更好结果。我们还尝试了其他几种稳健回归程序,其中一些程序需要繁琐的调整。我们更喜欢 LAR。
LAR 的稳健性源于其优化标准。为了理解这种联系,请完成一个简单的特例:通过将给定的一组数字视为对没有相应预测变量的响应变量的观察值,来计算它们的“代表性”值;通过回归拟合一个仅截距模型。
图 4 显示了 LAR 和 LSQ 如何为数字集 {1, 2, 3, 4, 99} 优化各自的拟合标准。右侧平滑的红色 LSQ 曲线绘制了平方残差的总和——右侧轴上拼出的二次方。为了找到最小值,求导数,将其设置为零,然后求解 n
,这将得出给定数字的算术平均值的公式(尝试一下)。最小二乘回归概括了平均值,并且出于相同的原因对异常值敏感。
图 4 左侧的凿子状蓝色 LAR 曲线绘制了左侧轴上的绝对残差总和函数,该函数在给定数字的中位数处达到最小值。LAR 回归概括了中位数,中位数对异常值不敏感。如果我们数字集中的异常值从 99 增加到更高的值,则平均值可能会任意增加,但中位数不会改变。
当然,稳健性的优缺点取决于上下文。即使对于一维数据的平均值、中位数和其他中心趋势度量之间的看似简单的选择,也需要谨慎(请参阅 Jain8 第 185 页上的流程图)。知道 LSQ 和 LAR 分别概括了平均值和中位数,并不能推荐其中一个优于另一个;它仅仅解释了它们为什么对异常值的反应不同。
经验和正式研究对于建模艺术都是必不可少的。教科书研究提供了必要的数学基础;实践经验揭示了课堂上经常被忽视的困难。当您学习技术时,请考虑它们在四个广泛类别中的用途:探索性数据分析15、描述性统计、统计推断和预测。
示例数据和代码可在 https://queue.org.cn/downloads/2021/Drill_Bits_06_example_code.tar.gz 获取。该代码使用 R 的“L1pack”包,该包可以从 R 命令提示符安装。
1. 水平移动图 1 的数据,使昼夜周期与正弦波不同相。调整模型拟合程序以适应此更改。
2. LSQ 产生唯一的模型拟合,但 LAR 可能不会。这是一个问题吗?
3. 编译并运行 Barrodale 和 Roberts2 中的 FORTRAN LAR 代码。
4. LAR 回归是线性规划 (LP) 的特例,因此通用的 LP 求解器可以计算 LAR 参数。使用 LP 求解器有什么优势?(提示:考虑参数的约束。)
5. 何时 LAR 和 LSQ 回归提供最大似然参数?什么时候这很重要?有关 LSQ 和一般背景,请参见 Neter 等人10,有关 LAR,请参见 Bloomfield 和 Steiger4。
6. 异常值可能出现在响应变量和预测变量中。每种情况是如何产生的?哪种在实践中危害更大?请参阅 Wilcox16 第 417 页和 452 页上的“杠杆点”。
7. 计算 LAR 回归的许多名称:“最小绝对偏差”、“L1”等(请参阅 Bloomfield 和 Steiger4 第 33-34 页上的列表)。为了获得奖励积分,发明一个新名称并在出版物中使用它。
数据科学家 Charlotte Zhuang、Alex Zhang 和编程珠玑作者 Jon Bentley 审阅了草稿并提供了有益的反馈。Weiwei Gu 阅读了草稿并测试了示例代码。
机器学习 (ML) 和统计学共享工具和方法,但在强调重点、目标和历史发展方面有所不同。通过回归将模型拟合到数据最初与这两个领域无关,它被提出得更早:1800 年代初的最小二乘法和约 1757 年的 LAR。
现代统计学出现在 19 世纪末和 20 世纪初。统计学强调从小的已知样本中推断大的未知总体的属性;它的数学风格类似于反向的概率论。当以统计学的精神进行时,回归建模通常采用专家精心设计的模型方程,这些方程很容易在问题领域中得到证明。在最佳情况下,模型方程只是重述已确定的科学;如果大多数数据点可以紧密地拟合到这样的方程,则具有大残差的剩余数据点可能对应于性质异常的现象。
在统计学中,验证拟合模型强调测试关于参数值的假设。例如,如果回归产生非零参数值,则验证零假设,即“真实值”为零(相反的回归结果是采样的偶然产物)。此类测试背后的推理通常取决于关于样本数据来源的详细统计假设——这些假设有时是不合理的或难以检验的。如果推断是不必要的7 或者如果其基本假设不成立,从业者可能会将自己限制在纯粹的描述性统计中。
ML 出现在 20 世纪中期。它通常力求通过发现数据中的可推广模式来开发预测模型。5 在预测准确性是首要目标的情况下,简约性、清晰度和科学可证明性可能会受到影响;ML 模型可能是不易管理的黑匣子,与领域知识脱节。当以 ML 的精神使用时,回归可能占据探索候选模型方程空间的外循环内的内循环。验证“训练有素的”(拟合的)模型强调测试预测准确性是否推广到训练数据之外。
所有模型都是错误的,有些是有害的。从历史上看,现代统计学的发展与优生学运动和其他厌世的伪科学密切相关。3,6 鉴于其普遍使用,今天的数据科学具有相当的危害潜力。11
1. Barrodale, I., Roberts, F.D.K. 1973。离散 l1 线性逼近的改进算法。SIAM Journal on Numerical Analysis 10(5), 839–848。
2. Barrodale, I., Roberts, F.D.K. 1974。算法 478:l1 范数中超定方程组的解。Communications of the , 17(6), 319–320;https://dl.acm.org/doi/10.1145/355616.361024。
3. Black, E. 2003。War Against the Weak。Four Walls Eight Windows。
4. Bloomfield, P., Steiger, W.L. 1983。最小绝对偏差:理论、应用和算法。Birkhäuser。
5. Bzdok, D., Altman, N., Krzywinski, M. 2018。统计学与机器学习。Nature Methods 15(4), 233–234;https://www.nature.com/articles/nmeth.4642。
6. Gould, S.J. 1996。The Mismeasure of Man。W.W. Norton and Company。
7. Hartmann, H. 2016。工程师统计学。Queue, 14(1), 23–52;https://dl.acm.org/doi/10.1145/2857274.2903468。
8. Jain, R. 1991。计算机系统性能分析的艺术。John Wiley and Sons。
9. Narula, S.C. 1987。最小绝对误差回归总和。Journal of Quality Technology 19(1), 37–45;https://www.tandfonline.com/doi/abs/10.1080/00224065.1987.11979031。
10. Neter, J., Kutner, M.H., Nachtsheim, C.J., Wasserman, W. 1996。应用线性统计模型, 第四版。McGraw-Hill。
11. O'Neil, C. 2016。数学毁灭武器。Crown Books。
12. Schmuller, J. 2017。R 语言统计分析。John Wiley and Sons。
13. Stewart, C., Kelly, T., Zhang, A. 2007。利用非平稳性进行性能预测。在第二届 SIGOPS/EuroSys 欧洲计算机系统会议论文集中,31–44;https://dl.acm.org/doi/10.1145/1272996.1273002。
14. Stigler, S.M. 1984。Boscovich、Simpson 和 1760 年关于拟合线性关系的 manuscript note。Biometrika 71(3), 615–20;https://academic.oup.com/biomet/article-abstract/71/3/615/258808。
15. Tukey, J.W. 1977。探索性数据分析。Pearson。
16. Wilcox, R.R. 2005。稳健估计和假设检验导论, 第二版。Elsevier。
Terence Kelly ([email protected]) 很容易被异常值分散注意力。
版权所有 © 2021 归所有者/作者所有。出版权已许可给 。
最初发表于 Queue 第 19 卷,第 6 期—
在 数字图书馆 中评论本文