#平滑指数 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)