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):
   alpha = 0.8 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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM