数据分析SQL移动平均值

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析SQL移动平均值相关的知识,希望对你有一定的参考价值。

文章目录

概述

  • moving average
  • 对序列的值,按一定窗口大小并顺序滑动,计算全部 算术平均值

例:
对于序列 X 1 , X 2 , . . . X n X_1,X_2,...X_n X1,X2,...Xn
计算 X 1 + X 2 + X 3 3 , X 2 + X 3 + X 4 3 , X 3 + X 4 + X 5 3 . . . X n − 2 + X n − 1 + X n 3 \\fracX_1+X_2+X_33,\\fracX_2+X_3+X_43,\\fracX_3+X_4+X_53...\\fracX_n-2+X_n-1+X_n3 3X1+X2+X3,3X2+X3+X4,3X3+X4+X5...3Xn2+Xn1+Xn得到新序列,这个新序列为移动平均值

  • 应用:N天移动平均线
    证券价格移动平均线,用于观察证券价格变动趋势
    商品销量移动平均线,如:3天、7天移动平均线,7天移动平均值可以消除周末效应

SQL示例

按商品分组,计算各个商品的销量的移动平均线

HIVE、SparkSQL、mysql语法👇

SELECT
  商品ID
  ,日期
  -- 3天移动平均值
  ,AVG(销量) OVER(PARTITION BY 商品ID ORDER BY 日期 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
  -- 7天移动平均值
  ,AVG(销量) OVER(PARTITION BY 商品ID ORDER BY 日期 ROWS BETWEEN 3 PRECEDING AND 3 FOLLOWING)
FROM dws_商品销售表

效果

  1. 一定程度地 消除锯齿,更能展示数据趋势
  2. 可能会改变峰值

以上是关于数据分析SQL移动平均值的主要内容,如果未能解决你的问题,请参考以下文章

一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现

时间序列之加权移动平均

获取区间内加权平均值的总和

非正常情况下的移动加权平均算法

T-SQL 中的加权平均值(如 Excel 的 SUMPRODUCT)

永久加权平均成本计算 SQL Server 2008