面向高维非线性软测量模型的辅助变量约简方法
技术领域
本发明属于软测量技术领域,具体涉及一种面向高维非线性软测量模型的辅助变量约简方法,用于指导生产过程辅助变量的精简。
背景技术
当前,在工业过程、生物信息、环境保护、食品安全等领域出现大量非线性、复杂关联、不可测度对象参数的检测问题,基于软计算实现的软测量技术正是在这种强烈的工业需求下蓬勃发展起来,并成为解决这类问题的有效方法,有广阔的发展前景。例如中国专利(专利号:200410017533.7)就提出了一种基于支持向量机的软测量建模方法。
在软测量过程中,首先面对的问题就是辅助变量的选择,一方面希望尽可能不遗漏重要的解释因素;另一方面,又要遵循参数节省原则,使辅助变量的个数尽可能少。在实际工作中,为了较完备地描述和分析***,分析人员往往倾向于较周到地选取所能得到的一切辅助变量。而这样构成的辅助变量之间常常存在多重相关性,造成建模中协方差矩阵的病态,降低建模的精度,破坏模型的稳定性,影响着软测量的精度和泛化能力。因此,必须去除这种相关性,实现高维非线性软测量模型的辅助变量约简。
发明内容
本发明的目的在于提供一种面向高维非线性软测量模型的辅助变量约简方法,能够在建模效果最佳的准则上找出含辅助变量个数最少的辅助变量集对主导变量进行预测,实现对主导变量精简化的软测量。
本发明的技术方案如下:一种面向高维非线性软测量模型的辅助变量约简方法,其关键在于按如下步骤进行:
步骤一:确定与主导变量可能相关的n个原始辅助变量,采集n个原始辅助变量和主导变量的取值,组成样本集,样本集大小为m;
将n个原始辅助变量数据写成矩阵X=[x1,…,xi,…xm]T形式,主导变量数据写成矩阵Y=[y1,…,yi,…ym]T,其中,xi∈Rx×1,yi∈R,i=1,2,…,m,并将X,Y进行标准化处理;
所述标准化处理就是:若n个原始辅助变量数据写成矩阵
形式,主导变量数据写成矩阵Y=[y
1,…,y
i,…y
m]
I形式,其中,x
i∈R
n×1,y
i∈R,i=1,2,…,m,标准化处理后得到的数据矩阵如下:
步骤二:融合KICA和FNN方法分别计算n个原始辅助变量的权重值,如下步骤进行:
(一)、利用KICA算法计算样本集的k个KICA主元得分向量ti,i=1,2,…,k,组成主元得分矩阵T=[t1,…,ti,…,tk],按如下步骤进行:
(1)输入:辅助变量X=[x1,…,xi,…xm]T,输出为Y=[y1,…,y1,…ym]T;
(2)定义辅助变量矩阵x的核矩阵:计算核矩阵K,其中,K的第ij位元素为Kij=k(xi,xj),i,j=1,2,…,m,其中k(●)为核函数;
(3)中心化核矩阵
其中,I
m为m阶单位矩阵,
(4)计算协方差矩阵G的变量向量v和变量值e:[v,e]=eig(G);
(5)计算白化矩阵i,j=1,…,m;
(6)计算分离矩阵W=[w1,…,wi,…wm],如下:
i=1,2,…,m
wi←wi/||wi||;
(二)、借助FNN方法计算某个原始辅助变量xi的权重值,按如下步骤进行:
(1)将原始辅助变量集中的第s维变量设置为零向量,其他原始辅助变量取值不变,得到新的样本集矩阵其中,
c是高斯核函数的中心点;
(3)中心化核矩阵 其中,Im为m阶单位矩阵,
(4)重复(一)部分中的(4-6)步,计算新的分离矩阵Ws;
(5)计算原始辅助变量第s维置为零向量后的KICA主元得分矩阵
(6)执行如下计算
其中,
为原始样本集的KICA得分主元矩阵,
表示将原始辅助变量第s维置为零向量后在KICA主元空间中的投影坐标;
(7)相似性测度d值刻画了原始辅助变量第s维置为零向量后,对样本集在KICA主元空间中的投影坐标的变化情况,相似性测度d越小,说明原始辅助变量s置零前后投影坐标的改变越大,从而说明原始辅助变量s对主导变量的解释能力越强,即可用相似性测度d值来度量原始辅助变量s的权重值;
步骤三:n个原始辅助变量组成原始辅助变量序列;
步骤四:确定最佳辅助变量集,包括以下步骤:
第一步,设定循环次数N=n;
第二步,随机从样本集中选择p个样本作为训练样本,剩下的m-p个样本作为检验样本,所述训练样本个数p一般选取总样本数m的
左右为宜;
第三步,根据所述训练样本,利用BP神经网络建立原始辅助变量序列中所包含变量的非线性模型;
在利用BP神经网络建立原始辅助变量序列中所包含变量的非线性模型的过程中,输入层的节点个数等于当前原始辅助变量序列中所包含的变量个数,隐含层的节点个数通过交互验证法确定,输出层的节点个数为1,其中,隐含层的传递函数为: 输出层的传递函数为: purelin(x)=x;
第四步,将所述检验样本的当前辅助变量值输入至所述非线性模型,得到m-p个检验样本对应的主导变量预测值;
第五步,计算m-p个检验样本预测值的均方误差MSE,其中,均方误差MSE按下式计算:
上式中,Pt表示所述m-p个检验样本中第t个样本的主导变量取值,PCt表示所述m-p个检验样本中第t个样本的主导变量预测值;
第六步,删除当前原始辅助变量序列中权重值最小的原始辅助变量,组成新的原始辅助变量序列,并设定N=N-1,判断此时N是否为0:
如果N≠0,则回到第三步;
如果N=0,则最小的MSE对应原始辅助变量序列即为最佳辅助变量集;
步骤五:最佳辅助变量集在步骤四中对应的非线性模型即为软测量的约简模型;
得到精简化软测量模型后,在以后的生产过程中,只需要测量最佳辅助变量集中辅助变量的值,代入精简化软测量模型,就可以得到主导变量的值。
本发明的显著效果:在众多原始辅助变量中,找出与主导变量具有关键作用的关键辅助变量,实现了利用含辅助变量个数最少的辅助变量集对主导变量实现效果最好的软测量,节约了人力物力财力,并大大提高了测量的效率。
附图说明
图1是本发明的流程图;
图2是本发明的相似性测度示意图;
图3是实施例1中的残差图;
图4是实施例1中精简化前后模型的精度对比,其中(a)表示训练数据实际值与拟合值对比,(b)表示训练数据实际值与拟合值的残差,(c)表示检验数据实际值与拟合值对比,(d)表示检验数据实际值与拟合值的残差。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
实施例1:
以工业产品HCN的转化率的软测量为例,进行高维非线性软测量模型的约简,按如下步骤进行:
步骤一:确定与主导变量可能相关的n个原始辅助变量,采集n个原始轴助变量和主导变量的取值,组成样本集,样本集大小为m,并将n个原始辅助变量数据写成矩阵
形式,主导变量数据写成矩阵Y=[y
1,…,y
i,…y
m]
T形式,其中,x
i∈R
n×1,y
i∈R,i=1,2,…,m,标准化处理后得到的数据矩阵如下:
试验中所用的非线性数据取自HCN生产工艺现场,过程变量注释及数据如表1所示,设x为由11个辅助变量构成的原始非线性数据矩阵,Y为产导变量。从中选择前80组作为训练样本,后80组为检测样本;
表1HCN生产工艺参数样本
注:x1表示氨的补偿温度,x2表示氨的流重,x3表示天然气的流重,x4表示空气的流重,x5表示氨的补偿压力,x6表示天然气的补偿压力。xj表示空气的补偿压力,x8表示气泡压力,x9表示反应器出口温度,x10表示大混合器出口温度,x11表示氢氰酸的产量,Y表示氨的转化率。
步骤二:融合KICA和FNN方法分别计算n个原始辅助变量的权重值,如下步骤进行:
(一)、利用KICA算法计算样本集的k个KICA主元得分向量ti,i=1,2,…,k,组成主元得分矩阵T=[t1,…,ti,…,tk],按如下步骤进行:
(1)输入:辅助变量X=[x1,…,xi,…xm]T,输出为Y=[y1,…,yi,…ym]T;
(2)定义辅助变量矩阵x的核矩阵:计算核矩阵K,其中,K的第ij位元素为Kij=k(xi,xj),i,j=1,2,…,m,其中k(●)为核函数;
(3)中心化核矩阵
其中,I
m为m阶单位矩阵,
(4)计算协方差矩阵G的变量向量v和变量值e:[v,e]=eig(G);
(6)计算分离矩阵W=[w1,…,wi,…wm],如下:
i=1,2,…,m
wi←wi/||wi||;
可以计算出经KICA提取出的独立成分、与独立成分对应的分离矩阵。表2表示用80个训练样本通过KICA算法提取出的典型成分。
表2独立成分
(二)、借助FNN方法计算某个原始辅助变量xi的权重值,按如下步骤进行:
(1)将原始辅助变量集中的第s维变量设置为零向量,其他原始辅助变量取值不变,得到新的样本集矩阵
其中,
c是高斯核函数的中心点;
(3)中心化核矩阵 其中,Im为m阶单位矩阵,
(4)重复(一)部分中的(4-6)步,计算新的分离矩阵Ws;
(5)计算原始辅助变量第s维置为零向量后的KICA主元得分矩阵
(6)执行如下计算
其中,
为原始样本集的KICA得分主元矩阵,
表示将原始辅助变量第s维置为零向量后在KICA主元空间中的投影坐标;
(7)相似性测度d值刻画了原始辅助变量第s维置为零向量后,对样本集在KICA主元空间中的投影坐标的变化情况,相似性测度d越小,说明原始辅助变量s置零前后投影坐标的改变越大,从而说明原始辅助变量s对主导变量的解释能力越强,即可用相似性测度d值来度量原始辅助变量s的权重值。
对提取出的独立成分进行虚假邻点法的运算,即计算剔除各变量后独立成分在特征空间中映射差值分布图,如图3所示。
从图3看出,当将x1,x5,x6,x7,x8,x9,x10,x11分别置零后,独立成分投影余弦值比x2,x3,x4置零后独立成分投影余弦值大。
设
为原始辅助变量矩阵x经过KICA特征提取后的矩阵,
为将原始数据第i个变量置零后,经过KICA特征提取后的矩阵,特征空间中
中每一个样本到
的对应样本之间的余弦值为d,经计算所得d值见表3所示。
表3FNN计算相关性
根据虚假最近邻点法的定义知,余弦值越大,可说明剔除该变量对整个样本影响越小;反之,余弦值越小,则说明该变量对整个样本的影响较大,解释能力较强,辅助变量不可剔除。因此,x2,x3,x4这3个变量对因变量的预测起关键作用;
步骤三:n个原始辅助变量组成原始辅助变量序列;
步骤四:确定最佳辅助变量集,包括以下步骤:
第一步,设定循环次数N=n;
第二步,随机从样本集中选择p个样本作为训练样本,剩下的m-p个样本作为检验样本,所述训练样本个数p一般选取总样本数m的
左右为宜;
第三步,根据所述训练样本,利用BP神经网络建立原始辅助变量序列中所包含变量的非线性模型;
建模过程中,BP神经网络输入层的节点个数等于当前原始辅助变量序列中所包含的变量个数,隐含层的节点个数通过交互验证法确定,输出层的节点个数为1,其中,隐含层的传递函数为:
输出层的传递函数为:purelin(x)=x;
第四步,将所述检验样本的当前辅助变量值输入至所述非线性模型,得到m-p个检验样本对应的主导变量预测值;
第五步,计算m-p个检验样本预测值的均方误差MSE,其中,均方误差MSE按下式计算:
上式中,Pt表示所述m-p个检验样本中第t个样本的主导变量取值,PCt表示所述m-p个检验样本中第t个样本的主导变量预测值;
第六步,删除当前原始辅助变量序列中权重值最小的原始辅助变量,组成新的原始辅助变量序列,并设定N=N-1,判断此时N是否为0:
如果N≠0,则回到第三步;
如果N=0,则最小的MSE对应原始辅助变量序列即为最佳辅助变量集;
步骤五:最佳辅助变量集在步骤四中对应的非线性模型即为软测量的约简模型。
为了证明分析的正确性,需要比较所有变量组成的全模型与x2,x3,x4这3个变量建立的模型的预测误差百分比。首先建立由x1,x2,…,x11经过KICA提取后的独立成分s1的全模型,利用最小二乘法建立模型。接着,采用经过KICA+FNN选择后的3个变量构造的独立成分的模型,再利用最小二乘法建立模型,得到的粘度结果如表4,如图4所示。与全变量模型精度相比,预测误差绝对值相差在0.12%,说明该传感器模型对待测变量有较强的解释能力。达到了辅助变量约简的目的。
表4全变量数学模型及所选3维变量的数学模型