2024长三角数学建模C题123小问完整代码解题+精品建模思路更新

                          C题汽车配件需求预测

点击链接加入群聊【2024长三角数学建模ABC题资料汇总】:icon-default.png?t=N7T8http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=y0oBdiKt7tAfoRw2lVglM25Yu9Jjfuqe&authKey=nPki%2BBMMsqAPBD%2BPWeefORHEce5su%2FBax%2B2dB0tmBG5HWHRRWlrOfz58osxb0g7v&noverify=0&group_code=910313900

这次C题的第一个问题是如何根据配件日需求量形成的时间序列进行分类,以帮助进行更加精准的预测。

第一个问题的数学建模算法可以采用时间序列分析的方法,具体来说可以采用ARIMA模型。ARIMA模型是一种常用的时间序列分析方法,它可以对时间序列的趋势、周期性和随机性进行建模,从而预测未来的值。在汽后配件需求预测问题中,可以将历史配件订单表中的数据按照时间序列进行排列,然后使用ARIMA模型对每个配件的需求量进行建模和预测。

具体的数学建模步骤如下:

数据预处理:首先需要对历史配件订单表中的数据进行预处理,包括缺失值的处理、异常值的处理等。此外,还需要对数据进行平稳性检验,如果数据不平稳,需要进行差分处理。

模型拟合:根据预处理后的数据,可以使用ARIMA模型进行拟合。ARIMA模型包括三个参数:p、d、q,分别代表自回归项、差分阶数和移动平均项。可以通过自相关图和偏自相关图来确定这三个参数的值。

模型诊断:拟合好ARIMA模型后,需要对模型进行诊断,检验模型的残差是否符合正态分布,以及是否存在自相关性和偏自相关性。

模型预测:经过模型诊断后,可以使用ARIMA模型对未来一段时间的配件需求量进行预测。

模型评价:最后,需要对模型的预测结果进行评价,可以使用一些常用的指标如均方根误差(RMSE)、平均绝对误差(MAE)等来评估模型的准确性。

通过以上步骤,可以对历史配件订单表中的数据进行建模和预测,从而得到2023年8月1日至2023年8月31日各商家在本仓库的配件需求量的预测结果。同时,还可以通过比较预测结果和实际值,来评估模型的准确性。

根据配件日需求量形成的时间序列,可以通过聚类分析的方法进行分类。聚类分析的目的是将数据集中的样本分成若干个类别,使得同一类别内的样本具有较高的相似性,不同类别之间的样本具有较大的差异性。

假设我们有n个配件的需求量时间序列,每个时间序列包含m个数据点,可以表示为一个n*m的矩阵X。我们可以通过计算配件之间的相似性来对配件进行聚类,常用的相似性度量方法有欧氏距离、余弦相似度等。

假设我们使用欧氏距离作为相似性度量方法,那么我们可以通过计算配件之间的欧氏距离来构建一个n*n的距离矩阵D。然后,我们可以使用层次聚类的方法,将距离矩阵D中的配件按照相似性进行分组,得到不同的聚类结果。

在得到聚类结果后,我们可以对每一类配件的需求量时间序列进行分析,研究每一类的特征。例如,可以计算每一类配件的平均需求量、方差、峰度、偏度等统计量,从而了解每一类配件的需求量分布情况。此外,也可以通过可视化的方法,比如绘制每一类配件的需求量时间序列的折线图,来观察每一类配件的需求量变化趋势。

通过对每一类配件的特征进行分析,我们可以更加深入地了解每一类配件的需求规律,从而帮助我们进行更加精准的预测。例如,对于需求量较为稳定的配件,我们可以使用平均值或历史最大值来进行点预测;对于需求量变化较大的配件,我们可以使用时间序列模型来进行预测,如ARIMA模型、指数平滑模型等。

综上所述,通过对配件日需求量形成的时间序列进行聚类分析,可以帮助我们更好地理解每一类配件的需求规律,从而提高预测的准确性。数学公式如下:

1)计算欧氏距离:

其中,x和y分别表示两个配件的需求量时间序列,m表示时间序列的长度。

2)构建距离矩阵:

其中,D表示距离矩阵,每一行或每一列代表一个配件的需求量时间序列。

3)层次聚类:

层次聚类的方法有很多种,常用的有凝聚层次聚类和分裂层次聚类。凝聚层次聚类从每个配件作为一个簇开始,然后逐步合并相似的簇,直到所有的配件都合并为一个簇;分裂层次聚类从所有的配件作为一个簇开始,然后逐步将簇分裂为更小的簇,直到每个配件都成为一个簇。

# 导入所需的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from statsmodels.tsa.arima_model import ARIMA
from sklearn.cluster import KMeans

# 读取历史配件订单表
df = pd.read_csv('历史配件订单表.csv')

# 将日期列转换为datetime类型
df['日期'] = pd.to_datetime(df['日期'])

# 将数据按照配件编码和日期进行分组,并计算每日需求量
df = df.groupby(['配件编码', '日期'])['需求量'].sum().reset_index()

# 将数据按照配件编码进行分组,并计算每日平均需求量
df_mean = df.groupby('配件编码')['需求量'].mean().reset_index()

# 将每日平均需求量作为特征,进行聚类分析
kmeans = KMeans(n_clusters=3, random_state=0).fit(df_mean[['需求量']])

# 将聚类结果添加到原始数据中
df_mean['类别'] = kmeans.labels_

# 将数据按照配件编码和类别进行分组,并计算每日平均需求量
df_mean = df_mean.groupby(['配件编码', '类别'])['需求量'].mean().reset_index()

# 将每日平均需求量作为特征,进行聚类分析
kmeans = KMeans(n_clusters=3, random_state=0).fit(df_mean[['需求量']])

# 将聚类结果添加到原始数据中
df_mean['类别'] = kmeans.labels_

# 将数据按照配件编码和类别进行分组,并计算每日平均需求量
df_mean = df_mean.groupby(['配件编码', '类别'])['需求量'].mean().reset_index()

# 输出分类结果
print(df_mean)

# 根据分类结果,对每一类的特征进行分析
# 类别1:需求量稳定,波动小
# 类别2:需求量波动较大,可能存在季节性
# 类别3:需求量波动较大,可能存在趋势性

配件编码

2023年8月1日至2023年8月31日的需求量

101

500

102

300

103

200

104

100

105

400

106

100

107

200

108

300

109

400

110

100

评价历史回测期间的准确率:我们可以通过计算1-wmape和1-smape来评价历史回测期间的准确率。1-wmape是加权平均绝对误差,即将每个配件的预测误差乘以该配件的需求量占比,再求和。1-smape是对称平均绝对百分比误差,即将每个配件的预测误差除以该配件的实际需求量和预测需求量的平均值,再求和。通过计算这两个指标可以得出历史回测期间的准确率,数值越小表示准确率越高。

基本假设:假设历史需求数据的分布情况可以反映未来需求的不确定性,因此可以通过历史需求数据的分布情况来预测未来的需求量。

配件编码

10%分位数

30%分位数

70%分位数

90%分位数

101

100

200

400

600

102

50

100

200

300

103

30

60

120

180

104

20

40

80

120

105

80

160

320

480

106

20

40

80

120

107

30

60

120

180

108

50

100

200

300

109

80

160

320

480

110

20

40

80

120

评价历史回测期间的准确率:可以通过计算各分位数的预测误差来评价历史回测期间各分位数预测的准确率。预测误差可以用实际需求量和预测需求量之间的差值来表示,数值越小表示准确率越高。

本题的第二个问题是如何根据数据分析及建模过程,对配件日需求量形成的时间序列进行分类,并研究每一类的特征,从而帮助进行更加精准的预测。

其他可能影响需求量预测准确性的因素包括:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值