# 平滑 指数 def calc_next_s (alpha, x): s = [0 para i en rango (len (x))] s [0] = np.sum (x [0: 3]) / float (3 ) para i en 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])para i en el rango (len (s3))] b3 = [((alpha / (2 * (1 - alpha) ** 2)) * ((6 - 5 * alpha) * s1 [i] - 2 * (5 - 4 * alfa) * s2 [i] + (4 - 3 * alfa) * s3 [i])) para i en el rango (len (s3))] c3 = [(alpha ** 2 / (2 * (1 - alfa) ** 2) * (s1 [i] - 2 * s2 [i] + s3 [i])) para i en rango (len (s3))] pred = a3 [-1] + b3 [-1 ] * 1 + c3 [-1] * (1 ** 2 ) print (pred) if __name__ == " __main__: x = [] # x 内 填写 需要 预测 的 列表 数据 time_predict (x)