这是我第一次参加数学建模比赛,参加完以后想分享一些心得给像我一样可能准备参加比赛,但是是第一次参加,分享一些思路。
一、题目
熔喷非织造材料是口罩生产的重要原材料,具有很好的过滤性能,其生产工艺简单、 成本低、质量轻等特点,受到国内外企业的广泛关注。
但是,由于熔喷非织造材料纤维 非常细,在使用过程中经常因为压缩回弹性差而导致其性能得不到保障。因此,科学家 们创造出插层熔喷法,即通过在聚丙烯(PP)熔喷制备过程中将涤纶(PET)短纤等纤 维插入熔喷纤维流,制备出了“Z型”结构的插层熔喷非织造材料。
插层熔喷非织造材料制备工艺参数较多,参数之间还存在交互影响,加上插层气流 之后更为复杂,因此,通过工艺参数(接收距离和热空气速度)决定结构变量(厚度、 孔隙率、压缩回弹性),而由结构变量决定最终产品性能(过滤阻力、过滤效率、透气 性)的研究也变得较为复杂。
如果能分别建立工艺参数与结构变量、结构变量和产品性 能之间的关系模型,则有助于为产品性能调控机制的建立提供一定的理论基础。
请查阅相关文献,了解专业背景,研究题目数据,回答下列问题。
第一题求解
这个时候需要审题,通过工艺参数(接收距离和热空气速度)决定结构变量(厚度、 孔隙率、压缩回弹性),而由结构变量决定最终产品性能(过滤阻力、过滤效率、透气 性)的研究也变得较为复杂。
看到标红的字样可以画出来,然后就可以清楚比如结构变量有3个因素厚度、 孔隙率、压缩回弹性,其他的也是一样。
然后这个时候就需要看问题了,请研究插层后结构变量、产品性能的变化规律,并分析插层率对于这些变化是否 有影响?
这个问题可以分成2个来回答,一个是变化规律,一个是是否有影响。
我的想法首先先把每一个因素插层前与插层后进行对比,并且把图像画出来。因为我接触的第一个可视化软件是Tableau,而且Tableau可视化软件能够很清晰看出变化,所以我立马选择了先用Tableau画出图像看看变化。
下面是6个因素分别插层前与插层后的对比图
这个图像一画出来是不是就能很明显的看出变化
结构变量的3个因素 插层前后的变化 明显插层后 厚度比插层前要高
产品性能 的3个因素 除了过滤阻力外 剩下2个因素 插层前后的变化 明显插层后 厚度比插层前要高 所以总体 插层后 的厚度是要比插层前高
接下来看看插层率对于这些变化是否有影响,那么可能有的同学会想这个需要怎么分析? 我给大家分享一下我的思路,我的想法就是首先建立一个双轴图,双轴图的好处就是可以直观看出,曲线的变化是否同步,这样也能给自己建立后面的思路。
下面是插层率对比结构变量、产品性能的变化影响
图中 橙色的线为 插层率 其他颜色线分别为 结构变量与产品性能 6个因素 插层前后的差值 也就是变化值
通过双轴画图 明显可以看出 变化幅度呈正相关 并且基本同步 说明 插层率对于结构变量以及产品性能的6个因素变化是有影响的 且呈正相关
画出上面的图以后就非常方便我们理清楚思路了,这个时候就可以开始建模了。
那么我们的基本模型设置就是分析插层前的厚度与插层率大小对插层后厚度的影响,设插层后的厚度为y,插层前的厚度为x1,插层率为x2, y与x1、x2
画出的散点图在下面
那么这个图是可以看出明显的线性增长
求解是利用matlab的[b, bint,r,rint,stats]=regress(Y,X,alpha)函数
这个时候得出的 这个肯定是存在异常值的 因为数据太小
接下来画残差图
这个时候就利用maltab消除两个异常点再求得的结果是
这个时候求的值就大多了,结果显示,比之前模型更优根据,模型整体可用
其他的因素都是相同方法求,接下来就可以得出结论了厚度、孔隙率、过滤效率与插层率成正相关关系,过滤阻力、压缩回弹性与插层率无关,透气性与插层率成负相关。
第二题求解
这道题中工艺参数与结构变量之间的关系思路不是特别好,希望有大佬能够在评论区提点一下。
下面是我对这道题的模型的建立,首先考虑关系可以先设厚度为y,接收距离为x1, 热空气速度为x2, 建立二元线性回归方程解释y 与x1、x2两者的线性关系,采用 MATLAB 软件绘制出y与x1、x2的散点图。
下面是画出的散点图
画出图像以后 用辅助线能够看出随着x1、x2的增加,y也在不断的增加,y与x1、x2都有明显的线性增长关系。
画出这个图像其实并不能说明什么问题,接下来建立多元线性模型求解: y = β0 + β1 + β2 +ε 其中,β0、β1、β2是待计算的回归系数,ε为随机误差。 利用 MATLAB 的[b, bint,r,rint,stats]=regress(Y,X,alpha)函数求解,可以得出回归系数和置信区间,计算相关系数结果如下表所示
参数 | 参数估计值 | 参数置信区间 |
| -0.9320 | [-1.5717,-0.2923] |
| 0.0396 | [0.0287,0.0505] |
| 0.0013 | [-0.0007,0.0018 |
这样的R方不够满意,因为R方还是太小不够优化。所以决定画出残差图来检测一下数据是不是存在异常值。
画出的残差图如下
画出图像以后异常值非常明显,那么就可以把异常值删除掉,再利用 MATLAB 编程计算模型的回归系数和参数置信区间
结果如下:
参数 | 参数估计值 | 参数置信区间 |
| -0.9151 | [83.4140, 86.2180] |
| 0.0442 | [-0.0017,0.0012] |
| 0.0011 | [4.5021,5.5615] |
|
这个时候看R的平方
这样就能够说明模型整体性是可以使用的,而且排除了异常点以后相关系数提高了0.1596,优化了非常多。
因此厚度y与接收距离x1
、热空气距离x2
,的关系可表示为:
那么我们就可以得出结论
可知,厚度y1与接收距离x1、热空气距离x2正相关。
求孔隙率与接收距离和热空气速度的关系与上述方法步骤类似,得到相关系数和参数置信区间如下表所示:
参数 | 参数估计值 | 参数置信区间 |
| 78.1793 | [75.4331, 80.9255] |
| 0.2348 | [0.1884,0.2811] |
| 0.0069 | [0.0046,0.0091] |
|
因为,故该模型整体可以采用,剔除异常点后,相关系数提高了0.1901,因此孔隙率
与接收距离
、热空气距离
的关系可表示为
可知,孔隙率y2与接收距离x1、热空气距离x2正相关
接下来在压缩回弹性与接收距离和热空气速度的关系时,我们用 matlab 软件,根据已给的data3 数据,建立多元非线性方程,绘制下出以下图:
其中,线性插值: f(x,y) =从 p 计算的分段线性曲面
其中 x 按均值 30 和标准差 7.217 进行归一化其中 y 按均值 1000 和标准差 144.3
进行归一化系数:
p=系数结构体
拟合优度: SSE:0
R 方: 1
调整 R 方:NaN
RMSE: NaN
由图中可以看出压缩弹性与接收距离和热风速率的关系是多元非线性关系。 第二小问:多元非线性回归问题,建立多输入多输出模型和 XGBoost 算法模型对
第二小问:多元非线性回归问题,建立多输入多输出模型和 XGBoost 算法模型对结 构变量进行预测。
XGBoost 是决策树算法中的一种。核心是采用 Boosting 思想。即用多棵树共同决策, 并且用每棵树的结果都是目标值与之前所有树的预测结果之差,并将所有的结果累加即 得到最终的结果,以此达到整个模型效果的提升。
求解过程如下:
①准备 Sparksession 和 Context,在软件中导入 pandas 模块。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.multioutput import MultiOutputRegressor
from xgboost import XGBRegressor
②将题目中 C 题数据作为待处理数据。
③函数读取 data3 数据,并将建立 DataFrame 表格。
df=pd.read_excel('sj.xlsx',sheet_name='yuan')
df2=df.iloc[:,:5]
df2.columns=['接收距离','热风速度','厚度','孔隙率','压缩回弹性率']
④提取题目中所需预测的厚度、孔隙率和压缩回弹性的值。
x=df2.drop(['厚度','孔隙率','压缩回弹性率'],axis=1)
y=df2[['厚度','孔隙率','压缩回弹性率']]
⑤利用 train_test_split 对提出的结构变量值进行分割。
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=0)
最后采用 XGBoost 算法模型进行训练并预测结果。
mx = MultiOutputRegressor(XGBRegressor(max_depth=2,learning_rate=0.2))
mx.fit(x_train,y_train)
根据给出的工艺参数组合,利用决策树模型对结构变量进行预测结构变量 如下表:
接收距离 (cm) | 热空气速度 (r/min) | 厚度(mm) | 孔隙率(%) | 压缩回弹性 (%) |
38 | 850 | 3.053316 | 96.675819 | 85.365456 |
33 | 950 | 2.882154 | 96.547783 | 87.362411 |
28 | 1150 | 2.862053 | 96.609787 | 86.539848 |
23 | 1250 | 2.615757 | 96.115761 | 86.643074 |
38 | 1250 | 3.515734 | 96.728340 | 83.613426 |
33 | 1150 | 3.157521 | 96.502029 | 85.697922 |
28 | 950 | 2.642401 | 96.218330 | 88.268791 |
23 | 850 | 2.142841 | 95.141266 | 88.204895 |
第三题求解
请研究结构变量与产品性能的关系,以及结构变量之间、产品性能之间的关系。 结合第二问,研究当工艺参数为多少时,产品的过滤效率将会达到最高
那么这道题我们首先需要看题目问题 首先需要解决结构变量之间、产品性能之间的关系
那么我们看到求变量之间的关系会想到什么? 自然是皮尔森相关系数
为什么? 因为皮尔森相关系数是用来反映结构变量与产品性能两个变量的线性相关程度。用相关系数r表示是两个变量间线性相关强弱的程度,取值范围在[-1,1],r的绝对值越大表明相关性越强。
r的取值范围 | 相关程度 |
| r |<0.3 | 低度线性相关 |
0.3≤| r |< 0.5 | 中低度线性相关 |
0.5≤| r |< 0.8 | 中度线性相关 |
0.8≤| r |< 1 | 高度线性相关 |
所以这个时候需要带入公式
这里的x为厚度,y为孔隙率,然后带入数据因为两两比较,所以一共3组数据,分别求出的结果是
结构变量 | 厚度与孔隙率皮尔逊相关系 | 0.895393934 |
孔隙率与压缩回弹性率的皮尔逊相关系数 | 0.391478081 | |
厚度与压缩回弹性率的皮尔逊相关系数 | 0.398576061 |
同理产品性能的3个因素也是如此
产品性能 | 过滤阻力与过滤效率的皮尔相关系数 | 0.981238906 |
过滤效率与透气性的皮尔相关系数 | -0.861311871 | |
过滤阻力与透气性的皮尔相关系数 | -0.825995777 |
可以得到结果
根据皮尔逊相关系数与对应的相关程度数字对比,可得结构变量之间3个因素的关 系是,厚度与孔隙率高度线性相关、孔隙率与压缩回弹性率中低度线性相关、厚度与压 缩回弹性率中低度线性相关。产品性能之间3个因素关系是,过滤阻力与过滤效率高度 线性相关、过滤效率与透气性高度线性相关、过滤阻力与透气性高度线性相关
结构变量与产品性能的关系也基本同理,但是数据的使用是不一样的,使用data1中的插层前的数据,即编号为1#的数据 用x1,x2,x3分别表示厚度、孔隙率 和压缩回弹性率结构变量的3个因素,用y1,y2,y3分别表示过滤阻力、过滤效率、透气性。 将表中数据,代入下列公式:
计算出r=0.321094777,r在0.3~0.5之间,所以结构变量和产品性能是中低度线性相关。
求出结构变量和产品性能关系后,采用二元线性回归模型再进一步探究过滤效率与接收距离和热空气速度的关系,设过滤效率为,接收距离为
, 热空气速度为
,建立二元线性回归方程找出过滤效率
与接收距离
、热空气速度
一间的线性关系,用MATLAB绘制的散点图如下:
观察所求解的散点图,可发现随着接收距离的增大,过滤效率
逐渐下降,呈线性关系, 随着热空气速度
的增大,过滤效率
逐渐上升,呈线性增长模式。
其中
利用matlab 的[b, bint,r,rint,stats]=regress(Y,X,alpha)函数求解,算出回归系数和置信区间,计算相关系数的结果如下所示:
参数 | 参数估计值 | 参数置信区间 |
| 9.4343 | [-13.23.92,-32.1078] |
| -2.6405 | [0.-3.0265,-2.2545] |
| 0.1048 | [0.0855,0.1241] |
|
绘制残差图,检测模型是否有异常点
在残差图中可以看出该模型没有异常点,因为,所以模型整体可行,因此过滤效率
与接收距离
、热空气距离
的关系为:
根据已知条件,接收距离的取值范围为[20,40],热风速度取值为[800,1250],建立约束不等式如下:
利用lingo软件求得,,所以当接收距离为20cm,热风速度为1250r/min时,过滤效率取得最大值为87.6243%.
第四题求解
问题四的模型建立与问题一类似,该问探究过滤效率尽量高同时过滤阻力小时的工艺参数值。我们还是选择多元线性回归模型,找出过滤效率与工艺参数和结构变量的关系,过滤阻力与工艺参数和结构变量的关系。
最后用多目标规划求出工艺参数的最优解。
① 过滤效率与工艺参数和结构变量的关系 分析过滤效率与接收距离、热空气速度、厚度、孔隙率、压缩回弹性的关系,设过滤效率为y1,接收距离为x1, 热空气速度为x2、厚度为x3、孔隙率为x4、压缩回弹性为x5
利用 MATLAB 软件编程,过滤效率y1与x1、x2、x3、x4、x5的散点图如下:
根据上述散点图,可发现与y1与x1、x2、x3、x4、x5都有明显的线性增长模式.
接着,建立多元线性模型:
那么我可以继续优化,绘制残差图如下:
根据残差图,模型存在异常点,利用 maltab 消除异常点之后,重新计算相关系数, 结果如下:
过滤阻力与工艺参数和结构变量的关系的求解大致一样,通过计算出参数估计值和参数置信区间,如下表所示:
以上便是全部解答,此题中有些内容是比赛论文中的内容,此文章仅供学习使用。