数据分析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...3Xn−2+Xn−1+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_商品销售表
效果
- 一定程度地 消除锯齿,更能展示数据趋势
- 可能会改变峰值
以上是关于数据分析SQL移动平均值的主要内容,如果未能解决你的问题,请参考以下文章
一文速学-时间序列分析算法之加权移动平均法详解+Python代码实现