0


数据分析SQL移动平均值

文章目录

概述

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

例:
对于序列

  1. X
  2. 1
  3. ,
  4. X
  5. 2
  6. ,
  7. .
  8. .
  9. .
  10. X
  11. n
  12. X_1,X_2,...X_n
  13. X1​,X2​,...Xn

计算

  1. X
  2. 1
  3. +
  4. X
  5. 2
  6. +
  7. X
  8. 3
  9. 3
  10. ,
  11. X
  12. 2
  13. +
  14. X
  15. 3
  16. +
  17. X
  18. 4
  19. 3
  20. ,
  21. X
  22. 3
  23. +
  24. X
  25. 4
  26. +
  27. X
  28. 5
  29. 3
  30. .
  31. .
  32. .
  33. X
  34. n
  35. 2
  36. +
  37. X
  38. n
  39. 1
  40. +
  41. X
  42. n
  43. 3
  44. \frac{X_1+X_2+X_3}{3},\frac{X_2+X_3+X_4}{3},\frac{X_3+X_4+X_5}{3}...\frac{X_{n-2}+X_{n-1}+X_n}{3}
  45. 3X1​+X2​+X3​​,3X2​+X3​+X4​​,3X3​+X4​+X5​​...3Xn2​+Xn1​+Xn​​得到新序列,这个新序列为移动平均值

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

SQL示例

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

HIVE、SparkSQL、MySQL语法👇

  1. SELECT
  2. 商品ID
  3. ,日期
  4. -- 3天移动平均值,AVG(销量)OVER(PARTITIONBY 商品ID ORDERBY 日期 ROWSBETWEEN1PRECEDINGAND1FOLLOWING)-- 7天移动平均值,AVG(销量)OVER(PARTITIONBY 商品ID ORDERBY 日期 ROWSBETWEEN3PRECEDINGAND3FOLLOWING)FROM dws_商品销售表

效果

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

本文转载自: https://blog.csdn.net/Yellow_python/article/details/127153807
版权归原作者 小基基o_O 所有, 如有侵权,请联系我们删除。

“数据分析SQL移动平均值”的评论:

还没有评论