数学建模1:灰色预测模型
创作时间:
作者:
@小白创作中心
数学建模1:灰色预测模型
引用
CSDN
1.
https://blog.csdn.net/gr1423428723/article/details/142325343
灰色预测模型是一种用于处理不完全信息的预测方法,适用于 数据样本少 、 系统不确定性高 的情况。
灰色预测模型的核心思想是 利用已有的部分信息对未来进行预测 。它的基本形式是 灰色模型GM(1,1) ,其中“1”表示一个方程、一个变量的模型。这个模型通过对原始数据序列进行累加生成序列,然后建立一个 差分方程 进行建模,最后利用这个模型来预测未来的数据。本文按照最基础的 单序列,一阶 模型
解题:
假设我们有一个时间序列数据(比如月销售量)如下:
求解:使用灰色模型预测第6个月的销量
1:计算累加生成序列
解得累加生成序列:
2.建立差分方程:
解均值序列为:
3.构造矩阵:
目标矩阵:
4.使用最小二乘法求解模型参数
求解目标方程为:
化为矩阵形式:
也就是如下形式
最小二乘法就是求取最小值时的U
求解U的估计值为:
求出a和b的值带入到微分方程中:
计算得:
a = -0.1173
b = 29.7412
带入得
python代码:
import numpy as np
import matplotlib.pyplot as plt
class GM11:
def __init__(self, X, T):
self.X = X
self.T = T
self.X1= []
self.Z = []
self.U = None
def caculateXSum(self):#计算X1矩阵和Z矩阵
count = 0
X1 = []
Z = []
for i in range(0, len(self.X),1):
count = count + self.X[i]
X1.append(count)
for j in range(0, len(X1) - 1,1):
Z.append((X1[j] + X1[j + 1])/2)
self.X1 = X1
self.Z = Z
def caculateAB(self):#计算U矩阵的值
Y = (np.array(self.X[1:])).reshape(-1,1)
B = np.array(self.Z)*-1
ones_column = np.ones((B.shape[0], 1))
B = np.hstack((B.reshape(-1,1), ones_column))
#print(B)
#print(Y)
self.U = np.linalg.inv(B.T @ B) @ B.T @ Y
#self.U = np.dot(np.linalg.inv(np.dot(B.T,B)),np.dot((B.T),Y))
def caculateX(self, t):#计算最终的X
if self.U is None:
self.caculateXSum()
self.caculateAB()
t = t - 1
a = self.U[0]
b = self.U[1]
result = (self.X[0] - b/a)*(np.e ** (-1*a*(t))) + b/a
return result[0]
X = np.array([30, 35, 40, 45, 50])
T = np.array([1, 2, 3, 4, 5])
GM11 = GM11(X, T)
n = 6#预测第n个值
result = GM11.caculateX(6)
print(f'解得u矩阵为:{GM11.U[0]},{GM11.U[1]}')
print(f'预测得x({n})的值为:{result}')
#print(X)
#绘图
X1 = GM11.X1
for i in range(1,4,1):
X1.append(GM11.caculateX(5 + i))
#print(X1)
X = []
X.append(X1[0])
for i in range(1, len(X1), 1):
X.append(X1[i] - X1[i - 1])
plt.plot(range(len(X) - 3), X[0:-3], 'o-', label='Original')
plt.plot(range(len(X) - 4, len(X)), X[-4:], 'x--', label='Future Prediction')
plt.legend()
plt.show()
效果图:
热门推荐
一到换季,手就脱皮,不一定是干燥,可能是这三种情况……
手脚脱皮吃什么维生素?医生的专业建议来了
胃部感染吃什么消炎药
年轻人网上寻“过年搭子”
海南东线自驾游:冬日避寒首选!
海南东线自驾游:冬季旅行新宠!
2024年属猴冲太岁的心理调适攻略
高三学生运动指南:科学运动助力高考
高考倒计时:用心理学技巧提升你的分数!
高考600分也能上清北?强基计划来帮忙!
双十一电动自行车保养指南:让你的爱车焕然一新!
糖尿病患者健康教育之如何提高自我管理能力?
新机制降压药涌现,高血压治疗领域迎来曙光
高血压患者运动指南:运动类型、计划制定与注意事项全解析
天心永乐禅寺:武夷山中的千年古刹
重庆两日游必打卡:金佛山、大足石刻
渝悦生活带你玩转重庆绝美机位!
慢性腰痛治疗新趋势:医学专家解读
中医护腰三绝招:五点支撑、飞燕式、搓腰功
最新研究:散步真的能缓解腰痛!
关闭手机高清通话,延长电池使用时间
冬枣:腊月里的“活维生素丸”
“四不两直”:提升工作效率的新趋势
“四不两直”:基层调研的新风向
中国公民赴土耳其签证政策及入境须知
消化系统疾病的常见症状和体征
南宁东、南宁北、南宁站,去南宁玩在哪个站下车?
儿童食用西洋参指南:功效、注意事项与使用建议
洞头秋天这5种美味!看着留口水
如何高效管理班级微信群?这六个小妙招一定要收好