0


数据分析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
     
    
   
   
    \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}
   
  
 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(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移动平均值”的评论:

还没有评论