动力系统建模方法、装置、电子设备及存储介质与流程
未命名
09-15
阅读:60
评论:0

1.本发明涉及模型构建技术领域,尤其涉及一种动力系统建模方法、装置、电子设备及存储介质。
背景技术:
2.动力系统是一类系统状态随时间变化的物理系统,需要根据初始状态和演变规律来进行具体描述。由于工程环境中存在较多的限制和影响因素,因此,工程中的动力系统常表现为非线性的复杂系统。为准确表达这类系统中各位置随时间的具体变化关系,常使用偏微分方程对动力系统进行建模。
3.现有技术中,常利用弹性网络进行回归计算获得偏微分方程,来实现系统建模过程。该建模方式需要选取合适的正则化参数,在没有先验数据的前提下,该正则化参数往往基于经验确定,需要消耗一定的人力和时间,同时也违背了流程的自动化处理原则。
技术实现要素:
4.为解决基于弹性网络的动力系统建模过程中正则化参数需要人工根据经验确定的技术问题,本发明实施例提供一种动力系统建模方法、装置、电子设备及存储介质。
5.本发明实施例的技术方案是这样实现的:
6.本发明实施例提供了一种动力系统建模方法,所述动力系统建模方法包括:获取动力系统输入输出数据集;确定所述动力系统弹性网络正则化参数的初始参数值,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果;根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于所述二次参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的二次模型系数及误差结果;以此迭代,直至所述误差结果最小为止;获取所述误差结果最小时所对应的最优模型系数,将所述最优模型系数对应的模型确定为所述动力系统的模型。
7.在一实施例中,所述获取动力系统输入输出数据集之后,所述动力系统建模方法还包括:对所述数据集中的数据进行预处理,去除所述数据中的噪声和坏值;所述对所述数据集中的数据进行弹性网络回归计算,包括:对预处理后的数据进行弹性网络回归计算。
8.在一实施例中,所述对所述数据集中的数据进行预处理,去除所述数据中的噪声和坏值,包括:采用加窗平滑方法对所述数据中的坏值进行平滑处理;采用多项式插值法构造网格数据,并基于小波过滤方法对所述数据中的噪声进行滤波。
9.在一实施例中,所述基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果,包括:基于所述初始参数值利用预设表达式对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数;对代入所述初始模型系数的预设表达式进行差分化处理,基于差分化处理结果进行计算,确定所述初始模型的误差结果。
10.在一实施例中,所述对代入所述初始模型系数的预设表达式进行差分化处理,基于差分化处理结果进行计算,确定所述初始模型的误差结果,包括:使用一阶差分对代入所述初始模型系数的预设表达式进行差分化处理,获得恢复方程;对所述恢复方程的左侧进行计算,获得第一矩阵;对所述恢复方程的右侧进行计算,获得第二矩阵;基于所述第一矩阵和所述第二矩阵,利用如下公式确定所述初始模型的误差结果:
[0011][0012]
其中,δ表示误差结果,l表示第一矩阵,r表示第二矩阵。
[0013]
在一实施例中,所述根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值,包括:根据所述误差结果判断是否进行下一次弹性网络回归计算;在确定进行下一次弹性网络回归计算的情况下,利用最小角回归算法确定参数调整的步进值;根据所述步进值,在初始参数值的基础上进行数值调整,获得下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值。
[0014]
在一实施例中,所述根据所述误差结果判断是否进行下一次弹性网络回归计算,包括:将所述误差结果与上一次弹性网络回归计算的误差结果进行比较;若本次弹性网络回归计算的误差结果小于上一次弹性网络回归计算的误差结果,则确定进行下一次弹性网络回归计算;若本次弹性网络回归计算的误差结果大于或等于上一次弹性网络回归计算的误差结果,则确定不进行下一次弹性网络回归计算。
[0015]
本发明实施例还提供了一种动力系统建模装置,所述动力系统建模装置包括:获取模块,用于获取动力系统输入输出数据集;回归计算模块,用于确定所述动力系统弹性网络正则化参数的初始参数值,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果;迭代模块,用于根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于所述二次参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的二次模型系数及误差结果;以此迭代,直至所述误差结果最小为止;确定模块,用于获取所述误差结果最小时所对应的最优模型系数,将所述最优模型系数对应的模型确定为所述动力系统的模型。
[0016]
本发明实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,处理器用于运行计算机程序时,执行上述任一方法的步骤。
[0017]
本发明实施例还提供了一种存储介质,存储介质中存储有计算机程序,计算机程序被处理器执行时,实现上述任一方法的步骤。
[0018]
本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本技术实施例提供的该方法通过迭代方式进行动力系统弹性网络正则化参数的选择,可保证选取参数的有效性,实现动力系统弹性网络正则化参数的自适应选择。该自动选择方式无需消耗人力和时间,容易实现,复杂度低。且能保证根据自动化过程获取的正则化参数所建立的动力系统模型具有较好的学习质量与抗过拟合能力。
附图说明
[0019]
图1为本发明实施例动力系统建模方法的流程示意图;
[0020]
图2为本发明实施例基于弹性网络的动力系统学习算法流程示意图;
[0021]
图3为本发明实施例k-s方程的理论数值解与习得数值解的比较示意图;
[0022]
图4为本发明实施例动力系统建模装置的结构示意图;
[0023]
图5为本发明实施例计算机设备的内部结构图。
具体实施方式
[0024]
下面将结合附图及实施例对本发明作进一步详细的描述。
[0025]
本发明实施例提供了一种动力系统建模方法,如图1所示,该方法包括:
[0026]
步骤101:获取动力系统输入输出数据集;
[0027]
步骤102:确定所述动力系统弹性网络正则化参数的初始参数值,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果;
[0028]
步骤103:根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于所述二次参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的二次模型系数及误差结果;以此迭代,直至所述误差结果最小为止;
[0029]
步骤104:获取所述误差结果最小时所对应的最优模型系数,将所述最优模型系数对应的模型确定为所述动力系统的模型。
[0030]
本实施例为基于自适应选择正则化参数的弹性网络方法,通过数据驱动的方法学习描述动力系统的偏微分方程表达式,从而完成动力系统模型创建。
[0031]
本实施例主要是针对以下形式的动力系统进行模型构建:
[0032][0033]
本实施例通过采用循环迭代的方式确定最优模型系数,进而根据该最优模型系数确定动力系统模型。该循环迭代的方式可设定在误差结果最小时停止。此外,若循环迭代一直无法停止,也可以额外设定中断条件停止循环迭代。例如达到预设次数时停止。
[0034]
具体地,本实施例中的动力系统输入输出数据集可为每组包括长度至少为100的时间矩阵t、长度至少为100的空间矩阵x和大小至少为100
×
100输出信号u。
[0035]
本实施例可利用传感器设备获取动力系统输入输出数据集。
[0036]
由于基于传感器设备获取的动力系统输入输出数据集往往存在噪声和坏值,因此,在一实施例中,在获取动力系统输入输出数据集之后,可对所述数据集中的数据进行预处理,去除所述数据中的噪声和坏值。后续在对所述数据集中的数据进行弹性网络回归计算时,可对预处理后的数据进行弹性网络回归计算。利用去除了噪声和坏值的数据进行弹性网络的回归计算,可保证基于上述方式建立的动力系统偏微分方程准确,具有较强的综合性能。
[0037]
实际应用过程中,在一实施例中,对所述数据集中的数据进行预处理,去除所述数据中的噪声和坏值,可采用如下方式进行:
[0038]
采用加窗平滑方法对所述数据中的坏值进行平滑处理;
[0039]
采用多项式插值法构造网格数据,并基于小波过滤方法对所述数据中的噪声进行
滤波。
[0040]
这里,需要说明的是,加窗平滑方法、多项式插值法和小波过滤方法均为常用的处理方法,本实施例采用常用的上述方法处理即可,这里就不再详细赘述。
[0041]
本实施例在进行循环迭代之前,会先确定一个动力系统弹性网络正则化参数的初始参数值,该初始参数值可基于情况随机设定。
[0042]
在确定初始参数值之后,在一实施例中,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果,包括:
[0043]
基于所述初始参数值利用预设表达式对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数;
[0044]
对代入所述初始模型系数的预设表达式进行差分化处理,基于差分化处理结果进行计算,确定所述初始模型的误差结果。
[0045]
这里,该预设表达式可为
[0046]
实际应用时,在一实施例中,所述对代入所述初始模型系数的预设表达式进行差分化处理,基于差分化处理结果进行计算,确定所述初始模型的误差结果,包括:
[0047]
使用一阶差分对代入所述初始模型系数的预设表达式进行差分化处理,获得恢复方程;
[0048]
对所述恢复方程的左侧进行计算,获得第一矩阵;
[0049]
对所述恢复方程的右侧进行计算,获得第二矩阵;
[0050]
基于所述第一矩阵和所述第二矩阵,利用如下公式确定所述初始模型的误差结果:
[0051][0052]
其中,δ表示误差结果,l表示第一矩阵,r表示第二矩阵。
[0053]
具体地,本实施例使用的一阶差分表达式可如下:
[0054]
利用上述一阶差分对代入所述初始模型系数的预设表达式进行差分化处理,可获得如下恢复方程:u
t
=f(u,x)。通过对该恢复方程的左侧进行计算,得到第一矩阵l、对该恢复方程的右侧进行计算,得到第二矩阵r。基于第一矩阵l和第二矩阵r,利用上述公式可确定所述初始模型的误差结果。矩阵之间的相对误差越小,计算的精度越高。
[0055]
在一实施例中,所述根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值,包括:
[0056]
根据所述误差结果判断是否进行下一次弹性网络回归计算;
[0057]
在确定进行下一次弹性网络回归计算的情况下,利用最小角回归算法确定参数调整的步进值;
[0058]
根据所述步进值,在初始参数值的基础上进行数值调整,获得下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值。
[0059]
进一步地,在一实施例中,所述根据所述误差结果判断是否进行下一次弹性网络回归计算,包括:
[0060]
将所述误差结果与上一次弹性网络回归计算的误差结果进行比较;
[0061]
若本次弹性网络回归计算的误差结果小于上一次弹性网络回归计算的误差结果,则确定进行下一次弹性网络回归计算;
[0062]
若本次弹性网络回归计算的误差结果大于或等于上一次弹性网络回归计算的误差结果,则确定不进行下一次弹性网络回归计算。
[0063]
这里,需要说明的是,由于第一次弹性网络回归计算过程并不存在上一次弹性网络回归计算的误差结果,因此,对于第一次弹性网络回归计算过程,直接默认需要进行下一次弹性网络回归计算。
[0064]
另外,由于本技术偏微分方程中有两个参数α和β。因此,在循环迭代过程中,先从α和β任意选择一个,对于选中α,进行多次数值调整后的弹性网络回归计算,在误差结果最小时停止,再对β进行多次数值调整后的弹性网络回归计算,在误差结果最小时停止,从而确定最优的α和β值,基于该α和β获得对应动力系统的模型,完成该动力系统的模型构建。
[0065]
本实施例获取的动力系统模型在回归质量和抗过拟合能力上具有较强的综合性能。
[0066]
本发明实施例提供的动力系统建模方法,获取动力系统输入输出数据集;确定所述动力系统弹性网络正则化参数的初始参数值,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果;根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于所述二次参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的二次模型系数及误差结果;以此迭代,直至所述误差结果最小为止;获取所述误差结果最小时所对应的最优模型系数,将所述最优模型系数对应的模型确定为所述动力系统的模型。本发明提供的方案通过迭代方式进行动力系统弹性网络正则化参数的选择,可保证选取参数的有效性,实现动力系统弹性网络正则化参数的自适应选择。该自动选择方式无需消耗人力和时间,容易实现,复杂度低。且能保证根据自动化过程获取的正则化参数所建立的动力系统模型具有较好的学习质量与抗过拟合能力。
[0067]
下面将基于一实际应用场景,详细描述本实施例方案。
[0068]
本实施例提供了一种基于弹性网络的自适应参数选择的动力系统偏微分方程学习方法。本实施例方法可以在保证较均衡的学习质量与抗过拟合能力的同时,以自动化的流程在相对低的复杂度下,实现对任意可以被如下形式描述的动力系统的有效学习:
[0069][0070]
由于本实施例方法的学习过程中无需人工干涉,因此可以集成算法工具库,进行通用化计算。
[0071]
参见图2,下面将描述本实施例方法所使用到的系统模块以及基于上述模块所执行的动力系统建模过程:
[0072]
本实施例方案具体包括如下模块:
[0073]
(1)预处理和网格构建模块
[0074]
此模块负责对输入的学习数据进行预处理。即对输入数据中可能存在的坏值进行
修正,并对环境中可能存在的噪声进行滤除,可提高学习的质量。
[0075]
由于工程中的输入数据不是理想的,噪声和坏值是最易存在的两个问题。因此可基于该模块通过加窗对坏值进行平滑,同时采用多项式插值法构造网格数据,并通过常规的小波等方法进行滤波,以有效降低噪声对数据学习结果的影响。
[0076]
(2)弹性网络学习模块
[0077]
此模块可以根据预先设置的正则化参数,基于如下表达式对输入数据进行回归计算,通过弹性网络方法回归得到偏微分方程中各项数值的系数:
[0078][0079]
对于动力系统显然其学习过程可以转化为以下方程的回归计算过程:
[0080][0081]
上式中θ为待求的稀疏系数矩阵,而α和β的数值分别控制了惩罚强度和抗过拟合性能,现有技术中需要手动给出。而本技术中则是结合学习误差分析模块,给出一个自动化的参数设置机制,自适应确定α和β的数值。在α和β的数值确定后,可进一步通过如下方式确定基于弹性网络的迭代过程:
[0082]
1.#求解x
[0083]
2.n,d=x0.shape
[0084]
3.x=np.zeros((n,d),dtype=np.complex64)
[0085]
4.y=y.reshape(n,1)
[0086]
5.
[0087]
6.#初始化参数
[0088]
7.if w.size!=d:
[0089]
8.w=np.zeros((d,1),dtype=np.complex64)
[0090]
9.w_old=np.zeros((d,1),dtype=np.complex64)
[0091]
10.converge=0
[0092]
11.objective=np.zeros((maxit,1))
[0093]
12.
[0094]
13.#对数据进行标准化处理
[0095]
14.if normalize!=0:
[0096]
15.mreg=np.zeros((d,1))
[0097]
16.for i in range(0,d):
[0098]
17.mreg[i]=1.0/(np.linalg.norm(x0[:,i],normalize))
[0099]
18.x[:,i]=mreg[i]*x0[:,i]
[0100]
19.else:
[0101]
20.x=x0
[0102]
21.
[0103]
22.#计算损失函数光滑部分梯度的lipschitz常数
[0104]
23.l=np.linalg.norm(x.t.dot(x),2)+lam2
[0105]
24.
[0106]
25.#循环直到收敛或达到最大迭代次数
[0107]
26.for iters in range(0,maxit):
[0108]
27.
[0109]
28.#每次迭代更新w
[0110]
29.z=w+iters/float(iters+1)*(w-w_old)
[0111]
30.w_old=w
[0112]
31.z=z-(lam2*z+x.t.dot(x.dot(z)-y))/l
[0113]
32.for j in range(d):
[0114]
33.w[j]=np.multiply(np.sign(z[j]),np.max([abs(z[j])-lam1/l,0]))
[0115]
34.#如果收敛性不符合预计,可以额外设置特殊中断条件
[0116]
35.
[0117]
36.#恢复原始数据
[0118]
37.if normalize!=0:
[0119]
38.return np.multiply(mreg,w)
[0120]
39.else:
[0121]
40.return w
[0122]
(3)学习误差分析模块
[0123]
此模块可对学习得到的偏微分方程进行一阶差分化处理,并在无先验数据的基础上,分析某一次弹性网络学习结果的误差大小,以便于后续循环迭代。
[0124]
由于考虑到学习结果是偏微分方程,无法直接代入离散的时间和空间数据,所以需要对偏微分系统进行网格划分,也就是差分化处理,这里使用一阶差分即可:
[0125][0126]
之后对于恢复后方程u
t
=f(u,x)的左侧计算得到矩阵l、右侧计算得到矩阵r,显然矩阵之间的相对误差越小,计算的精度越高。矩阵之间的相对误差δ可以利用如下关系得出:
[0127][0128]
(4)程序主循环模块
[0129]
此模块可在设置好弹性网络中正则项的初始参数后,通过最小角回归算法选择步进值,每次学习后分析学习误差,自动设置下一次迭代时的正则化参数,直到达到循环退出条件,并输出此时的偏微分方程学习结果。
[0130]
本模块可以综合弹性网络学习方法和学习误差分析方法,给出参数α和β的参数选择机制,如下:
[0131]
(1)确定初始参数α0和β0,基于该初始值确定初识误差δ0;
[0132]
(2)任意选择α或β,例如选中α则基于最小角回归算法更新参数,并计算得到误差值δn,记录误差值;
[0133]
(3)若δn《δ
n-1
,则继续针对α步进并计算得到误差值δ,否则选中β步进并计算误差值δ,继续记录误差值;
[0134]
d)当α和β均完成遍历后,δ=δ
min
时α和β的值即为最优的数值,基于该组α和β学习得到的系数矩阵θ即为目标系数矩阵。
[0135]
本实施例通过上述模块化流程处理,结合输入数据预处理、弹性网络学习、学习误差分析和主循环等步骤,可以对动力系统进行有效学习,得到描述系统的偏微分方程的具体数值系数。
[0136]
另外,参见图3,本实施例通过k-s方程(u
t
=-u
xxxx-uu
x-u
xx
)对上述流程的学习效果进行了验证,验证结果如图3所示。
[0137]
在基于传感器收集到特定动力系统的充足数据后,本实施例可以通过上述过程,准确高效地对该动力系统的描述方程进行有效建模,便于后续进行系统仿真等其他工作。
[0138]
为了实现本发明实施例的方法,本发明实施例还提供了一种动力系统建模装置,如图4所示,动力系统建模装置400包括:获取模块401、回归计算模块402、迭代模块403和确定模块404;其中,
[0139]
获取模块401,用于获取动力系统输入输出数据集;
[0140]
回归计算模块402,用于确定所述动力系统弹性网络正则化参数的初始参数值,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果;
[0141]
迭代模块403,用于根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于所述二次参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的二次模型系数及误差结果;以此迭代,直至所述误差结果最小为止;
[0142]
确定模块404,用于获取所述误差结果最小时所对应的最优模型系数,将所述最优模型系数对应的模型确定为所述动力系统的模型。
[0143]
实际应用时,获取模块401、回归计算模块402、迭代模块403和确定模块404可由动力系统建模装置中的处理器实现。
[0144]
需要说明的是:上述实施例提供的上述装置在执行时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的上述装置与上述方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0145]
为了实现本发明实施例的方法,本发明实施例还提供了一种计算机程序产品,计算机程序产品包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行上述方法的步骤。
[0146]
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备(计算机设备)。具体地,在一个实施例中,该计算机设备可以是终
端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器a01、网络接口a02、显示屏a04、输入装置a05和存储器(图中未示出)。其中,该计算机设备的处理器a01用于提供计算和控制能力。该计算机设备的存储器包括内存储器a03和非易失性存储介质a06。该非易失性存储介质a06存储有操作系统b01和计算机程序b02。该内存储器a03为非易失性存储介质a06中的操作系统b01和计算机程序b02的运行提供环境。该计算机设备的网络接口a02用于与外部的终端通过网络连接通信。该计算机程序被处理器a01执行时以实现上述任意一项实施例的方法。该计算机设备的显示屏a04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置a05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0147]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0148]
本发明实施例提供的设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任意一项实施例的方法。
[0149]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0150]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0151]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0152]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0153]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0154]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
[0155]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法
或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
[0156]
可以理解,本发明实施例的存储器可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0157]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0158]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种动力系统建模方法,其特征在于,所述动力系统建模方法包括:获取动力系统输入输出数据集;确定所述动力系统弹性网络正则化参数的初始参数值,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果;根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于所述二次参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的二次模型系数及误差结果;以此迭代,直至所述误差结果最小为止;获取所述误差结果最小时所对应的最优模型系数,将所述最优模型系数对应的模型确定为所述动力系统的模型。2.根据权利要求1所述的动力系统建模方法,其特征在于,所述获取动力系统输入输出数据集之后,所述动力系统建模方法还包括:对所述数据集中的数据进行预处理,去除所述数据中的噪声和坏值;所述对所述数据集中的数据进行弹性网络回归计算,包括:对预处理后的数据进行弹性网络回归计算。3.根据权利要求2所述的动力系统建模方法,其特征在于,所述对所述数据集中的数据进行预处理,去除所述数据中的噪声和坏值,包括:采用加窗平滑方法对所述数据中的坏值进行平滑处理;采用多项式插值法构造网格数据,并基于小波过滤方法对所述数据中的噪声进行滤波。4.根据权利要求1所述的动力系统建模方法,其特征在于,所述基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果,包括:基于所述初始参数值利用预设表达式对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数;对代入所述初始模型系数的预设表达式进行差分化处理,基于差分化处理结果进行计算,确定所述初始模型的误差结果。5.根据权利要求4所述的动力系统建模方法,其特征在于,所述对代入所述初始模型系数的预设表达式进行差分化处理,基于差分化处理结果进行计算,确定所述初始模型的误差结果,包括:使用一阶差分对代入所述初始模型系数的预设表达式进行差分化处理,获得恢复方程;对所述恢复方程的左侧进行计算,获得第一矩阵;对所述恢复方程的右侧进行计算,获得第二矩阵;基于所述第一矩阵和所述第二矩阵,利用如下公式确定所述初始模型的误差结果:其中,δ表示误差结果,l表示第一矩阵,r表示第二矩阵。6.根据权利要求1所述的动力系统建模方法,其特征在于,所述根据所述误差结果确定
下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值,包括:根据所述误差结果判断是否进行下一次弹性网络回归计算;在确定进行下一次弹性网络回归计算的情况下,利用最小角回归算法确定参数调整的步进值;根据所述步进值,在初始参数值的基础上进行数值调整,获得下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值。7.根据权利要求6所述的动力系统建模方法,其特征在于,所述根据所述误差结果判断是否进行下一次弹性网络回归计算,包括:将所述误差结果与上一次弹性网络回归计算的误差结果进行比较;若本次弹性网络回归计算的误差结果小于上一次弹性网络回归计算的误差结果,则确定进行下一次弹性网络回归计算;若本次弹性网络回归计算的误差结果大于或等于上一次弹性网络回归计算的误差结果,则确定不进行下一次弹性网络回归计算。8.一种动力系统建模装置,其特征在于,所述动力系统建模装置包括:获取模块,用于获取动力系统输入输出数据集;回归计算模块,用于确定所述动力系统弹性网络正则化参数的初始参数值,基于所述初始参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的初始模型系数及误差结果;迭代模块,用于根据所述误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于所述二次参数值对所述数据集中的数据进行弹性网络回归计算,获取所述动力系统的二次模型系数及误差结果;以此迭代,直至所述误差结果最小为止;确定模块,用于获取所述误差结果最小时所对应的最优模型系数,将所述最优模型系数对应的模型确定为所述动力系统的模型。9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。10.一种存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述方法的步骤。
技术总结
本申请公开了一种动力系统建模方法、装置、电子设备及存储介质。方法包括获取动力系统输入输出数据集;确定动力系统弹性网络正则化参数的初始参数值,基于初始参数值对数据集中的数据进行弹性网络回归计算,获取动力系统的初始模型系数及误差结果;根据误差结果确定下一次进行弹性网络回归计算的弹性网络正则化参数的二次参数值;基于二次参数值对数据集中的数据进行弹性网络回归计算,获取动力系统的二次模型系数及误差结果;以此迭代,直至误差结果最小为止;获取误差结果最小时所对应的最优模型系数,将最优模型系数对应的模型确定为动力系统的模型。本申请能自动化地进行动力系统模型构建,保证构建模型具有较好的学习质量与抗过拟合能力。量与抗过拟合能力。量与抗过拟合能力。
技术研发人员:陈启涵
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.06.25
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/