Python指数平滑法は簡単に使用できます

平滑指数
def calc_next_s(alpha、x):
    s = [0 for   i in range(len(x))] 
    s [0] = np.sum(x [0:3])/ float(3 for i in range(1 、len(s)):
        s [i] = alpha * x [i] +(1-alpha)* s [i-1 ]
     return s 

#预测
 def time_predict(x):
    s1 = calc_next_s(alpha、 x)#一次
    s2 = calc_next_s(alpha、s1)#二次
    s3 = calc_next_s(alpha、s2)#三次
    a3 = [(3 * s1 [i]-3 * s2 [i] + s3 [i])for i in range(len(s3))] 
    b3 = [((alpha /(2 *(1-alpha)** 2))*((6-5 * alpha)* s1 [i]-2 *(5 -4 * alpha)* s2 [i] +(4-3 * alpha)* s3 [i]))for i in range(len(s3))] 
    c3 = [(alpha ** 2 /(2 *(1 -alpha)** 2)*(s1 [i]-2 * s2 [i] + s3 [i]))for i in range(len(s3))] 
    pred = a3 [-1] + b3 [-1 ] * 1 + c3 [-1] *(1 ** 2 print (pred)

if  __name__ == " __main__  
    x = [] #x内填写需要预测的列
    表データtime_predict(x)

 

おすすめ

転載: www.cnblogs.com/caozewen/p/12721520.html