误差最小化(共6篇)
误差最小化 篇1
一、引言
指数基金是指以指数成分股为投资对象的基金, 其通过购买某一金融市场指数中的一部分或全部的股票, 构建指数基金的投资组合, 目的在于取得与指数相同的收益率。指数型基金因其低廉的费用、透明的管理以及长期表现超过主动型基金等优点而受到投资者喜爱。
指数投资组合的目标是跟踪基准指数, 获得市场平均收益。然而, 投资组合的收益与指数的收益相比, 并不会完全相同, 而是经常表现出或高或低的偏离, 即存在着跟踪误差。跟踪误差度量了投资组合对于指数的准确跟踪程度, 较大的跟踪误差即意味着组合面临着较高的风险。
根据组合中所包含的股票数量, 指数跟踪方法可分为完全复制法和优化复制法两大类。完全复制法是指通过购买与指数相同权重的每一种成分证券进行投资。理论上, 完全复制法能够完美地模拟市场指数, 跟踪误差应为0。但现实中, 当指数中所包含的股票数量较多时, 由于交易成本、流动性、管理费用以及基金赎回等问题, 完全复制法很难实现。另外, 完全复制的指数跟踪方法需要一个有效的、高度成熟的证券市场。而中国证券市场波动性较大, 且目标指数的更新和成分股的质量存在很大欠缺, 采用完全复制法会带来高昂的成本以及较大的跟踪误差。
因此, 大多数的研究都集中于优化复制法。优化复制法是指从指数中选取一定数量的股票来复制目标指数, 使所构建的指数投资组合的跟踪成本控制在可以接受的范围内, 并使跟踪误差最小。优化复制法构建指数型投资组合包含两个步骤: (1) 从指数的成分股中选出一定数量的股票作为投资组合的标的, 即“选股”过程; (2) 确定各证券的投资权重, 以达到复制指数的目标。
我们使用优化复制法追踪沪深300指数。针对国内大多数文献并未考虑交易成本的情况, 我们在模型中加入交易成本的限制, 采用遗传算法, 追踪投资组合与目标指数之间跟踪误差的变化情况, 并且对指数进行动态更新维护。本文采用2009~2011年的沪深300指数数据, 数据来源于中证指数有限公司官方网站以及大智慧股票交易软件。
二、研究方法
1. 指数跟踪模型的目标以及约束条件。
指数化投资的目标为跟踪误差的最小化, 其约束条件包括现金数量、交易成本的比例等。本文的模型充分考虑了上述目标和约束条件, 模型中的变量定义如下:
N:指数中的股票数量;
K:投资组合中的股票数量;
εi:投资组合中持有股票i的最小比例 (i=1, 2, 3, …, N) ;
δi:投资组合中持有股票i的最大比例 (i=1, 2, 3, …, N) ;
T:在此时刻将原有投资组合转换为新的投资组合;
Xi:在组合中股票i的数量 (i=1, 2, 3, …, N) ;
Vit:股票i在t时刻的价格 (t=0, 1, 2, …, T) ;
It:目标指数在t时刻的值 (t=0, 1, 2, …, T) ;
Rt:指数在t时刻的收益率, Rt=Rt/Rt-1 (t=1, 2, 3, …, T) ;
Ccash:在T时刻, 投资组合中的现金量, Ccash<0:卖出投资组合中的股票得到的现金Ccash>0:可投资到投资组合中的现金;
C:在T时刻, 投资组合中股票的总市值与现金量之和, 表达式为:C=∑Ni=1VitXi+Ccash;
Fi (ξ, θ, t) :t时刻, 投资组合中的股票i的数量由ξ变为θ时所产生的交易成本, ξ>0:卖出ξ-θ股i股票, ξ<0:买入ξ-θ股i股票, ξ=0:Fi=0;
γ:交易成本在C中所占的比例 (0≤γ≤1) ;
xi:股票i在新的投资组合中的数量;
zi:投资组合中是否含有股票i, 若含有, 则zi=1, 反之为0:
Ctrans:由原有的投资组合[Xi]变为新的投资组合[xi]所产生的交易费用, 公式为:
rt:投资组合的收益率, 有:
其中:∑Ni=1Vi, t Xi为t时刻投资组合的总市值, ∑Ni=1Vi, t-1Xi为t-1时刻投资组合的总市值。
跟踪误差的表达式为:
因此, 可得指数型基金的目标:Min TE (4)
由式 (2) 、 (3) 、 (4) 可得目标函数的具体形式:
其约束条件为:
上述条件中, 式 (6) 表示投资组合中股票个数之和为K;式 (7) 包含两层含义: (1) 若股票i不在投资组合中, 则zi=0, 即xi也为0; (2) 若股票i在投资组合中, 则zi=1, 因此, xi受到以下条件的限制:εi≤Vi, txi/C≤δi。
式 (8) 为交易费用的限制 (r给定) ;式 (9) 为现金平衡限制, 即T时刻, 投资组合的总市值应等于投资组合中股票的总市值与现金量之和减去总交易成本。
2. 遗传算法。
遗传算法是由美国著名学者、密歇根大学的Holland J.H.教授于1962年提出的, 是一种适合于复杂系统优化计算的基于生物遗传和进化机制的自适应概率优化方法。它把自然界“优胜劣汰”的进化原理引入优化参数形成的编码串联群体中, 按照所选择的适应度函数并通过遗传中的选择、交叉和变异对个体进行筛选, 保留适应度值较高的个体, 淘汰适应度值较差的个体。经过反复循环, 直至得到满足条件的最优解。
遗传算法的基本步骤包括: (1) 选择。按照一定的规则或方法, 根据个体的适应度, 从第i代群体P (i) 中选出一定数量的优良个体遗传到下一代群体P (i+1) 中。 (2) 交叉。将群体P (i) 中的个体以交叉概率 (crossover rate) 进行随机配对, 交换它们之间的部分染色体。 (3) 变异。群体P (i) 中的每个个体, 以某一概率 (变异概率) 改变某个或某些基因位上的数值, 进而改变整个个体的数值。
遗传算法具有高效启发式搜索以及并行计算等特点, 目前广泛应用于航空航天、智能控制、函数优化等方面, 近年来在经济学中也有广泛的应用。
三、数据与结果
本文选择沪深300指数作为目标指数, 从沪深300指数的300只股票中选出30只股票作为备选股票, 构造指数跟踪组合。由于沪深300指数的调整周期为每半年一次 (每年的1月和7月调整) , 指数跟踪组合的调整频率也为半年 (约120个交易日) 。为了充分考虑每次调整对目标指数的影响, 选取2009年1月5日~2011年12月30日, 共730个交易日的数据, 在此期间, 沪深300指数共进行过6次调整。我们通过改变投资组合的调整周期来验证投资组合跟踪目标指数的效果。文中所用数据均采用向前复权的方式进行处理, 即数据已经包含了配股、分红、增发等情况对股价的影响。在不考虑冲击成本的前提下, 假定跟踪组合的调整可在一天内完成, 股票调整的价格按收盘价计算。沪深300指数2009~2011年的收盘价情况见图1。
1. 投资组合中股票的选择。
在选择股票的过程中, 主要考虑以下三个参数:股票的β值, 股票的成交额, 上市公司的总市值。其中, 股票的β值代表了股票与市场的关联程度, 若β=1, 则该股票与市场指数的关系为完全正相关, 即指数上涨1%, 股票也上涨1%, 反之亦然;股票的成交额代表该股票的流动性, 流动性越高, 代表该股票越受市场的青睐;上市公司的总市值代表公司的资本化程度, 具有较高市值的股票在指数中拥有较大的权重, 对指数变动的影响较大。
基于此, 本文采用文献中的方法, 首先将沪深300只股票的成交额及总市值进行数据归一化, 随后对上述三个参数分别赋予不同的权重, 计算方法如下:
令α1=2|α2=1|α3=2, 将得到的P值进行排序, 选取其中最大的30个股票, 构建投资组合:
2. 具体约束条件。
由于指数基金的总资产由跟踪组合的市值和现金两部分组成, 在构建初始投资组合中应考虑用于购买及赎回所保留的现金, 该比例设为5%, 即遗传算法的约束条件为: (1) 初始跟踪组合包含30只股票, 即K=30; (2) 投资组合中任意一只股票的权重下限为0, 上限为10%; (3) 对交易费用γ进行动态调整, 分别取0、0.002 5、0.005 0、0.007 5和0.010 0; (4) 对于T (换股周期) , 分别取T=60和T=120, 即每3个月或每6个月更换一次权重股。
3. 实证结果。
在选择完投资组合的标的以后, 即可使用遗传算法计算各只股票在组合中应当占有的权重, 进而分配资金。进行最优化配置的策略为:首先, 以过去3个月的交易数据为样本, 即采用T-60周期的数据, 这部分数据成为样本内数据。其次, 通过遗传算法计算出使跟踪误差最小化的各只股票的权重。最后, 以此权重为基础, 计算T+60或T+120周期的投资组合的跟踪误差, 即:计算样本外数据的跟踪误差。由于T-60周期内的数据为既定的数据, 因此, 理论上样本内数据的跟踪误差应小于样本外数据的跟踪误差。我们的目标使样本外数据的跟踪误差尽可能的贴近样本内数据的跟踪误差。具体运算结果见下表及图2。
由图表可知:
(1) 随着交易成本γ的增大, 跟踪误差呈现逐渐减小的趋势。由于成本约束的限制条件 (式 (8) ) 为不等式, 在计算最优组合时, 模型会对γ值进行动态调整, 因此, 理论上随着γ的增大, 跟踪误差 (TE) 会出现不断减小的趋势。而本文的结果证明了上述观点的正确性。
(2) 样本内数据的跟踪误差小于样本外数据的跟踪误差同样得到证明;同时, 样本内数据跟踪误差与样本外数据跟踪误差的变动方向一致, 即:随着样本内数据跟踪误差的减小, 样本外数据的跟踪误差也随之减小。
(3) 在对周期T进行调整以后, 我们发现:当股票更换频率减慢时, 跟踪误差出现变大的趋势 (γ=0时除外) 。这是因为:由于采用的是3个月的样本内数据进行最优化计算, 在计算样本外数据时, 若周期太大, 则由于股票价格变动范围的加大, 会导致对指数追踪的难度加大, 则跟踪误差将会增大。
四、结论
目前, 我国证券市场还很不成熟, 导致我国股市的波动性较大, 成分股经常变换, 不利于指数的稳定。对于指数跟踪而言, 这些缺点无疑增大了跟踪的难度。因此, 能否寻找到良好的指数跟踪方法, 在减小成本的前提下, 尽可能地降低跟踪误差。针对大多数文献仅考虑初始组合的构建、忽略投资组合的维护以及交易成本等缺点, 笔者在模型中加入成本限制, 并对组合进行动态跟踪, 结果表明:
(1) 用遗传算法对目标指数进行跟踪, 不仅可以创建最初的投资组合, 解决构建问题, 也可以在指数成分股发生变化时进行动态追踪。
(2) 将指数化投资中的跟踪误差最小化问题转化为最优化问题进行求解。在考虑了成本约束、现金约束、投资比例约束等条件下, 充分利用了遗传算法的非线性和多维的特点, 得到了理想的结果。
(3) 本模型同样适用于其他投资品种, 例如债券。在熊市中, 可将组合中的部分股票换为债券, 尽管会出现一定的跟踪误差, 但可借此提高组合的收益率。以牺牲一定的跟踪误差来换取超额收益, 在熊市中是不错的选择。
摘要:针对大多数文献在构建指数投资组合的过程中仅考虑初始组合的构建忽略投资组合的维护以及交易成本等缺点, 本文采用遗传算法追踪了20092011年的沪深300指数, 在模型中加入成本及现金限制, 对组合进行动态跟踪。同时, 通过改变交易成本比率以及跟踪组合的变换周期, 分别计算出了各种条件下的跟踪误差。研究结果表明, 应用遗传算法可有效地实现对目标指数的动态跟踪。
关键词:遗传算法,跟踪误差,动态跟踪,投资组合
参考文献
[1].高见, 杨丹.指数化投资复制方法的比较分析.金融研究, 2006;8
[2].劳剑勇.指数跟踪问题的广义双线性规划模型.应用数学与计算数学学报, 2004;6
[3].Treynor, J.L., Black.F..How to use security analysis to improve portfolio selection.Journal of Business, 1973;1
[4].Chang, K.P..Evaluating mutual fund performance:an application of minimum convex input requirement set approach.Computers and Operations Research, 2004;31
[5].Roll, R..A mean/Variance analysis of TE.Journal of Portfolio Management, 1992;18
最小包容区域法评定直线度误差 篇2
目前, 对平面内直线度误差评定常用的方法有:两端点连线法, 最小二乘法, 最小包容区域法三种。实验证明[1], 两端点连线法虽然简单但精度最低, 使用价值不大;最小二乘法的评定方法手工计算复杂, 学生反映数据处理麻烦;最小包容区域法精度最高, 所得误差值最小, 且是唯一的。为此, 对该方法进行较深入的研讨。
2 最小包容区域的判别准则
在给定平面内, 最小区域法评定直线度误差的判别准则[2]是:两平行直线包容被测实际直线时, 若实际线上的高低点与上下包容线成相间的三点接触时, 如“低—高—低”或“高—低—高” (图1) , 则此包容线构成的包容区域即为最小区域。这一判别准则常称为相间准则。
3 按最小包容区域法评定直线度误差时的数据处理方法
按最小包容区域法评定直线度误差时的数据处理, 常用的方法有三种[3]:图解法、计算法和旋转法。前两种方法是学生常用的, 而旋转法在教科书只讲了原理, 对问题的分析和解题的方法步骤没有讲解, 导致学生用该方法时没有明确的思路, 即使评定出误差值也不准确。为此, 对该方法进行详细的研讨。
3.1 旋转法求直线度误差的原理
旋转法[4]就是将测量基准通过平移或旋转, 使其达到所需的评定基准的位置, 具体做法是在直线度误差数据上进行变换, 使不符合最小区域的测量数据变为符合最小区域的直线度误差。
旋转法原理与力矩计算原理近似。一刚体绕旋转中心旋转一定角度, 刚体上各点在空间移过距离大小与该点至旋转中心的距离有关。由图2知, 在旋转中心 (图中支点) 点, 旋转位移量为0, 其余各点旋转位移量 (简称为旋转量) 分别为Q0、Q1、Q2…, 设在单位长度l上旋转量为q, 则任一点的旋转量为Qi:
Qi=Ki·q
式中:Ki——单位长度l的数目。
当旋转位移方向向上时Qi取正值, 向下时取负值。
刚体各点经旋转后, 其坐标值发生了变化。设刚体旋转前各测点读数为a0、a1…, 各点经旋转量Q0、Q1…后, 刚体转至虚线位置, 此时各点新坐标值为:
ai′=ai+Qi
刚体经旋转改变了各测点方位, 即相对地改变了原来的测量基准。
3.2 旋转法的方法步骤
(1) 根据测量读数求出数据累积值。
(2) 累积值中, 如果同时有正值或负值, 则同时加最小值或同时减最大值, 使全部数值变为同号。
(3) 旋转:绕数值为零的点旋转, 以undefined为单位旋转量 (其中∑ai——i点读数累积值, mi——i点至旋转轴间隔数) 减小各点值, 但旋转后不允许出现异号数值。直至符合判别准则为止, 其中最大值与最小值之差为直线度误差值。
4 应用实例
用分度值为0.01mm/m的水平仪测量1.5m长导轨, 桥板跨距L=200mm, 若各测点读数 (格数) 依次为2、-1、3、2、0、-1、2, 用旋转法求该导轨直线度误差值。
(1) 写出测量读数, 得到①, 见表1。
(2) 求出读数累积值, 得到②。
(3) 旋转。以0为转轴, 使“7”减小, 但受到“1”限制, “1”不能为负值, 只能使“1”变为0, 则单位旋转量为undefined, 得到③。
(4) 旋转后得到④。用最小包容区域的判别准则鉴别, 不符合相间准则。继续旋转。
(5) 旋转。由④知, “4”最大, 使其减小。以中点0为转轴旋转, 受“2”的限制, “2”不能为负值, 只能把“2”变成“0”, 得到单位旋转量undefined, 各点旋转量分别为⑤。
(6) 旋转后得到⑥。用最小包容区域的判别准则鉴别⑥值, 符合相间准则。停止旋转。
(7) 计算直线度误差值f=3-0=3 (格)
下面介绍第二种“旋转法[5]”, 该方法旋转次数少, 易于掌握。步骤如下:
(1) 根据仪器读数, 求其平均值② (为便于计算, 可取平均值的近似值) , 见表2。
(2) 将各读数减去平均值, 得到一组新的数据③。
(3) 将新的数据进行累积④。
(4) 确定直线度误差值。
如果各点累积值皆为同号, 当终点累积值为零时, 则取数值最大者为直线度误差值;当终点累积值不为零时, 按下式求出直线度误差值:
undefined
式中:ba——第一点到第a点的读数累计值, undefined;
bb——第一点到第b点的读数累计值, undefined;
bc——第一点到第c点的读数累计值, undefined;
m——最低 (高) 点a和b之间间隔数;
n——最高 (低) 点c距离最低 (高) 点中代数值小者间距数。
如果各点累积值为异号时, 应按判别准则以及累积值的大小选出一组或两组高低点, 进行旋转, 使两高 (低) 点转成等值, 若最高点和最低点相间出现时, 则其代数差为所求的直线度误差值。
5 结束语
用最小包容区域法评定直线度误差有三种方法:图解法、计算法和旋转法。而旋转法在处理数据时不需要使用绘图或计算工具, 有简便易行的优点。该方法常需做多次旋转, 对不熟练者效率不高, 但该方法是最基本的方法, 只要掌握旋转要领, 在处理测量数据时, 就能得心应手。上述三种方法在使用中具有同等价值, 可按掌握程度、测量条件灵活选用。所以说实际工作中的方法选择取决于工作现场的具体条件和人员特长而定。
参考文献
[1]朱正辉.几何量计量[M].北京:原子能出版社, 2002:278-283.
[2]张泰昌.几何量检测1000问 (下册·工程测量) [M].北京:中国标准出版社, 2006:413-415.
[3]万书亭.互换性与技术测量[M].北京:电子工业出版社, 2007:68-72.
[4]黄自荣.一种求直线度误差的计算方法[J].集美大学学报:自然科学版, 1999, 4 (3) :58-61.
轴承沟道形状误差的最小二乘评定 篇3
轴承主要用于确定旋转件与固定件相对运动,是起支承或导向作用的典型零部件,在机器及各类机械中占有重要地位。因此,研究轴承沟道形状误差评定对提高轴承的精度及整个机器或机械的性能有重要的意义。目前多使用圆度、线轮廓度来评价轴承沟道形状误差,即用一条线轮廓和底圆形成的几何要素的误差对轴承沟道的形状误差进行评定,而对轴承沟道整体形状误差的评定国内外很少报道。本文依据最小二乘形状误差的定义,提出了轴承沟道形状误差的最小二乘评定。
1 最小二乘算法过程及步骤
1.1 提取测量点坐标
将工件水平放置在工作台上,利用三坐标测量机对轴承沟道的每条线轮廓进行采样取点,从中取得的测量点为Pij(xij,yij,zij)(i表示测量线轮廓数,i=1,2,…,M;j表示每条线轮廓上的测量点数,j=1,2,…,N)。
1.2 求空间每条线轮廓的中心点
通过三坐标测量机对轴承沟道每条线轮廓进行测量并得到采样点,用最小二乘法对每条线轮廓求其半径及圆心的位置,但轴承沟道轮廓是非整圆,不能直接用整圆的最小二乘法公式,需要坐标变换求空间每条线轮廓的中心点。
1.2.1 坐标变换
在空间坐标系中,直接用最小二乘法求每条线轮廓的中心点比较复杂,为了便于计算,将空间内的线轮廓绕z轴转θi角度至yoz平面。其中:
undefined。
空间线轮廓上各点坐标通过坐标(xij,yij,zij)变换至yoz平面上的新坐标为:undefined。
1.2.2 求所有平面线轮廓的圆心
设平面线轮廓的最小二乘拟合方程为:
(y-a′i)2+(z-b′i)2=rundefined。 (1)
其圆心为(a′i,b′i),半径为ri,平面线轮廓最小二乘拟合方程见图1。对式(1)展开并整理得:
y2+z2-2ai′y-2bi′z+(ai′2+bi′2-rundefined)=0 。 (2)
令c=ai′2+bi′2-rundefined,由式(2)得:
y2+z2-2ai′y-2bi′z+c=0 。 (3)
以每条线轮廓上测点坐标(y′ij,z′ij)代入式(3),方程式明显不等于零,而为:
Δij=y′2ij+z′ij2-2a′iy′ij-2b′iz′ij+c 。 (4)
其中:Δij为实际线轮廓上各点与理论线轮廓上对应点的函数偏差值。设:
当偏差值为最小值时,理论线轮廓逼近实际线轮廓效果最佳。令:
依据求最小值的方法,对系数a′i、b′i、c求偏导数后得出:
其中:undefined。
再由式(3)得出:undefined,在求出待定系数a′i,b′i,c和ri后,可以得出平面线轮廓上所有中心点O′i(a′i,b′i)。
1.2.3 坐标变换
将上一步得到的平面线轮廓的中心点代入下式可以得到空间线轮廓上的中心点Oi(ai,bi,ci):
1.3 最小二乘法拟合空间圆
将每条线轮廓的中心点用最小二乘法拟合一个空间圆,但空间圆没有特定的方程, 只能由空间圆和空间平面的方程联立来表示。距差与z轴的关系如图2所示,由于拟合的空间圆不在一个平面内,其圆心(中心点)为z向的一系列点,r′1,r′2,r′0分别为被测轮廓的测点到中心点的距离,通过式r′21 -r′20 =Δz2,证明空间坐标系中被测轮廓的测点与中心点的距离r′相对于z轴的距差(Δz)大得多,故Δz对r′的影响可以忽略不计。因此可得出中心点在空间平面上,而空间圆也在空间平面上且平行于xoy平面。
设空间圆的方程为:
(x-a0)2+(y-b0)2+(z-c0)2=R2。
其中:圆心为(a0,b0,c0),半径为R。展开并整理得:
x2+y2+z2-2a0x-2b0y-2c0z+aundefined+bundefined+cundefined=R2 。 (10)
设A=-2a0,B=-2b0,C=-2c0,D=aundefined+bundefined+c20-R2。由式(6)得:
x2+y2+z2+Ax+By+Cz+D=0 。 (11)
将最小二乘法拟合每条线轮廓得到的中心点坐标Oi(ai,bi,ci)代入式(11),方程式明显不等于零,而为:
δi=aundefined+bundefined+cundefined+Aai+Bbi+Cci+D 。 (12)
其中:δi为空间圆上各点的函数偏差值,则:
当undefined为最小值时,空间圆拟合的效果最佳。令:
undefined。 (14)
依据求最小值的方法,对系数A、B、C和D求偏导数后得出关于方程的系数A、B、C和D的线性方程如下:
解得A、B、C、D后,代入计算得:
undefined。
即可得到圆心坐标(a0,b0,c0)和圆半径R。
1.4 求解空间圆与每条线轮廓平面的交点坐标
空间圆与线轮廓平面的方程为:
如式(17)所示,每条线轮廓所在平面与z轴平行且共面,那么该平面的方向数C等于零;最小二乘拟合的空间圆与xoy平面平行且共面,所以每条线轮廓所在平面与空间圆相交,可以得到所有的交点坐标值Li(xi,yi,zi)。而交点坐标值Li(xi,yi,zi)既在平面内又在空间圆内,并且交点与所对应线轮廓的测点在一个象限内。
1.5 轴承沟道形状误差
轴承沟道形状误差模型见图3。
由图3可知,每条线轮廓上的测量点Pij(xij,yij,zij)至所对应的每个交点Li(xi,yi,zi)的距离为:
由轴承沟道形状误差的定义可以知道,每条线轮廓上各测量点至所对应交点的距离中,存在最大值、最小值和极差(最大值与最小值的差值)。因而可以得到M个最大值max(dij)、最小值min(dij)和极差Δdijcha。
以最大值、最小值所在的线轮廓绕z轴转360°形成圆环区域,比较所有的极差值,其中最大值为max(Δdijcha),即得到包容整个轴承沟道的最小二乘形状误差值TLSM为:
TLSM=max{Δdijcha} 。 (19)
2 结论
采用最小二乘算法进行轴承沟道形状误差评定,计算简单,完全满足最小二乘法的评定标准。另外,评定方法不仅可以给出轴承沟道形状误差,还能适用于现代机械的精密设计和精密测量。这种评定方法简单正确,收敛速度快,易于计算机程序实现,具有较好的推广应用价值。
参考文献
[1]王伦.轴承基本知识[M].北京:机械工业出版社,2002.
[2]《数学手册》编写组.数学手册[M].北京:高等教育出版社,2004.
[3]沈世德,徐辛伯.最小二乘圆弧法在图像分析中的应用[J].机械设计与制造,1999,10(5):46-47.
误差最小化 篇4
关键词:最小区域评定,平面度误差,MATLAB,LabVIEW
0 引言
形位公差是机械产品的重要性能指标, 形位误差对机械产品的质量、使用效果及互换性等都有至关重要的影响。平面是机械零件的重要几何要素之一, 因此对平面度的误差检测及评定在几何量测量中显得尤为重要。现有的平面度误差评定方法有最小二乘法、对角线平面法、三远点平面法及最小区域法, 其中最小区域法是唯一符合新一代产品几何技术规范的评定方法, 但其计算繁琐, 评定效率不高。为了方便快捷地实现平面度误差的精确评定, 本文基于MATLAB强大的数值计算及图形处理功能, 运用最小区域法评定平面度误差, 并实现了Lab VIEW平台上的平面度误差评定系统开发。
1 平面度误差评定模型
平面度误差是指实际被测表面对理想平面的变动量, 理想平面的位置应符合最小条件。平面度公差在图样上的标注如图1所示, 平面度公差带是限制实际被测表面变动的区域, 是距离为公差值t的两平行平面之间的区域[1]。
最小包容区域的形状与平面度公差带形状相同, 为两个平行平面。为了便于计算机实现, 评定过程转化为寻求某一平面, 使得被测平面上各测点到该平面的距离的最大最小值之差最小, 这个差值即为被测平面的平面度误差。
设被测平面上各测点的坐标为Pi (xi, yi, zi) (i=1, 2, ……, n) , 探寻的理想平面为:
被测平面上第i个点 (xi, yi, zi) 到该平面的距离为:
则平面度误差为:
2 基于MATLAB的评定过程实现
MATLAB是由Math Works公司于1984年推出的工程语言, 主要用于数值计算及可视化图形处理, 至今已更新了30多个版本, 发展为兼具数值分析、矩阵运算、图形图像处理、信号处理和仿真等诸多强大功能的编程工具。由于MATLAB简单易用, 并且具有开放式可扩展环境, 使得它成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台, 在科学研究和工程应用各个领域得到了广泛的应用[2]。
根据给出的平面度误差评定的数学模型, 在MATLAB中运用粒子群算法实现平面度误差逼近。粒子群算法 (Particle Swarm Optimization, PSO) 是一种基于迭代的优化工具[3], 系统初始化一组随机解, 通过迭代搜寻最优值。每次迭代中, 粒子通过跟踪两个“极值”来更新自己, 一个是粒子本身所找到的最优解称为个体极值pbest, 另一个是整个种群目前找到的最优解称为全局极值gbest。
设Xi= (xi1, xi2, …, xin) 为微粒i的当前位置;Vi= (vi1, vi2, …, vin) 为微粒i的当前飞行速度;Pi= (pi1, pi2, …, pin) 为微粒i所经历的最好位置, 也就是微粒i所经历过的具有最好适应值的位置, 称为个体最好位置。对于最小化问题, 目标函数值越小, 对应的适应值越好。
设f (X) 为最小化的目标函数, 则微粒i的当前最好位置由下式确定:
设群体中的微粒数为s, 群体中所有微粒所经历过的最好位置为Pg (t) , 为全局最好位置。则:
根据本文研究内容, 采用带有惯性因子的改进粒子群算法, 通过惯性权重调整局部搜索能力与全局搜索能力的比例关系, 这对于求解过程非常重要。其进化方程如下:
式中, 下标“j”表示微粒的第j维;“i”表示微粒i;t表示第t代;c1、c2为加速常数, 通常在0~2间取值;r1~U (0, 1) , r2~U (0, 1) 为两个相互独立的随机函数;vi j通常限定于一定范围内, 即vi j∈[-vmax, vmax];ω为惯性权重, 较大的ω有较好的全局收敛能力, 而较小的ω则有较强的局部收敛能力。
在进行算法设计时, 随着迭代次数的增加, 使惯性权重不断减少, 从而使得该算法在初期具有较强的全局收敛能力, 而晚期具有较强的局部收敛能力。算法流程图如图2所示。
测量数据采用文献[4]中的数据, 根据上述粒子群算法在MATLAB中编程, 随机产生40个粒子;最大速度vmax=0.000 2;最大迭代次数tma x=500;学习因子c1、c2取2;惯性权重ω在[0.4, 0.9]取值, 并随着迭代过程线性减小;当迭代达到最大次数或迭代结果50步没有明显变化时, 终止迭代。求得目标函数的最优值即为平面度误差, 结果为0.066 368 3 mm, 对比原文献的优化结果有所改进。优化迭代曲线如图3所示。
3 误差评定系统设计
Lab VIEW是实验室虚拟仪器集成环境 (Laboratory Virtual Instrument Engineering Workbench) 的简称[5], 它是一种基于图形化的计算机编程语言, 用图标来代替文本行创建应用程序。Lab VIEW编写的程序称为虚拟仪器VI, 它的界面和功能与真实仪器十分相像, 并且可以将数据采集、分析与显示功能集中于同一个环境中, 在自己的平台上无缝地集成一套完整的应用方案。因此采用Lab VIEW作为本软件开发的平台, 将数据测量、处理、模型显示集中于一体。
本文采用MATLAB7.0编译M文件成DLL动态链接库文件, 并由Lab VIEW调用DLL文件, 实现了Lab VIEW和MATLAB的有效混合编程。借助Visual C++与MATLAB的接口, 可以将M文件编译为动态链接库 (DLL) , 在Lab VIEW中可以调用生成的DLL中封装的函数来实现算法, 便于脱离MATLAB运行环境和程序独立发布。动态链接库生成主要步骤如下:
(1) 在MATLAB中根据平面度误差评定的数学模型编写了优化求解程序 (M文件) , 并调试成功。为了防止在VC++的编译过程中出现错误, M文件必须以function开始, 如function[gbs f]=flatness (data, vmax) 。
(2) 在MATLAB命令窗口输入comtool命令或者通过“Start>MATLAB>MATLAB Builder for COM>MATLAB Builder for COM”, 打开MATLAB Builder。建立一个新工程可在菜单中选择“File>New Project”, 进入“New Project Setting”。设置的工程名应为M文件编译后的文件名, MATLAB Builder会根据工程名自动生成COM组件的类, 但用户可以根据自己的程序编写习惯再改写类名称。在选定的类中通过按钮“Add Files”向工程中加入M文件或MEX文件以供MATLAB编译器选择编译。点击“Build>COM Object”即可完成M文件的编译, 编译成功后文件在本机自动注册, 如果须将编译文件移植到其他计算机上使用, 则需要使用菜单中“Component>Pack Component”对编译文件进行打包。
在MATLAB中编写平面度误差评定的优化程序, 并调试编译成动态链接库文件flatness_1_0.dll。在Lab VIEW程序框图中建立调用库函数节点, 双击节点在弹出的对话框中插入flatness_1_0.dll文件。由于是在VC环境下编译的库函数, 故要选择“C”调用约定。在参数页面中“类型”下拉列表中选择“数值”, “数据类型”选择“有符号32位整数”, 新增加“参数1”, “类型”选择“匹配至类型”, 在“数据格式”中选择“按值处理”。单击确定退出对话框后, 这个节点即可调用在MATLAB中编写好的程序而不需要有MATLAB的运行环境。
根据上文引用的数据对本软件进行验证, 将数据存储在以Tab分割的文本文件中, 运行软件, 评定结果如图4所示。
4 结语
本文根据粒子群优化算法实现了平面度的最小区域评定, 通过MATLAB编程计算的结果及迭代曲线可以看出, 本方法优于最小二乘法的结果, 且收敛速度快、精度高。在Lab VIEW平台上编制了平面度误差评定系统, 通过调用编好的MATLAB COM组件, 实现了Lab VIEW与MATLAB的有效结合, 两者互为补充, 提高了本系统的稳定性与高效性, 为形位误差评定系统的建立打下了良好的基础。
参考文献
[1]汪恺, 唐保宁.形位公差原理和应用[M].北京:机械工业出版社, 1991
[2]张智星.MATLAB程序设计与应用[M].北京:清华大学出版社, 2002
[3]高尚, 杨静宇.群智能算法及其应用[M].北京:中国水利水电出版社, 2006
[4]Timothy W., Saeid M., Behrooz F., et al.A unified approach to form error evaluation[J].Precision Engineering, 2002, 26 (3) :269~278
误差最小化 篇5
1 相邻重叠图像间特征点变换的关系矩阵
相邻数字图像之间的变换可分为平移、旋转、缩放、仿射、投影、非线性变换。配准点Xi和Xi'间的变换可总结为
(1)以齐次坐标表示
式(1)的向量形式为:kXi'=HXi。根据齐次坐标的性质h33可以归一化为1,则H改写为仍用hij表示
式中,H的自由度为8,其中h11,h12,h21,h22是缩放、旋转因子;h13,h23分别是水平、竖直方向的平移因子;h31,h32是仿射变换因子。图像变换模型参数见表1。这里,k是比例因子。理论上选择至少4对特征点就可以估计出H。
2 变换矩阵的估计与求解
通过叉积消去式(1)中比例因子k,得Xi'×HXi=0。令,hjT表示H的j行,那么对每一对匹配点,可以得到2个独立的线性方程组
式(2)解得的H就一一对应地把一幅图像的点映射到另一幅图像上了。由于特征点检测的误差和选取的4点中有3点可能共线,这种线性解法的结果往往很不稳定,必须要通过一定数量的匹配特征点集合来进行非线性优化。这里以对称投影位置误差最小化来优化估计H,其误差函数为
式中,d表示距离。一般地,设特征点提取误差符合高斯分布,确定一个过滤噪声的阈值,并定义
或
小于等于阈值的特征点对为H的内点,将被保留,大于阈值则为外点,这样的特征点将被剔除掉。很明显只有内点才适合做点变换估计,通过对提纯后的特征点(内点),用误差函数式(3)的最小二乘算法的设计来达到变换矩阵的优化,这种算法容错能力很强。
3 实验过程与结果
采用2组相互有重叠758×568和758×568的8位bmp图像如图1和图2所示,先用SIFT(the scale invariant feature transform)算法找寻相邻图像间尺度不变特征点对,在图1中两幅图像中分别得到特征点3 559个和4 147个,最后能够匹配上的有541对,如图3。在图2中两幅图像中分别得到特征点2 085个和1 848个,最后能够匹配上的有356对,如图4所示。再用文中方法对特征点对进行误差阈值筛选,再用最小二乘误差(式(3)),内点距离阈值为t=1.25像素,对划分为内点的特征点对进行最优矩阵进行求解,求解H的结果如表2和表3所示。实验表明此算法可以快速得到准确的变换矩阵H。一旦准确地求得了图像间的点变换关系H,就可以确定图像间交叠的准确位置,并对两幅图像进行重采样,注册到一幅新的空白图像中形成一幅融合图像。如图5和图6所示。
4 结论
提出了一种全自动图像拼接融合算法,此算法有以下特点:采用SIFT检测算子提取的特征点精度高;误差阈值把特征点分成内点和外点的策略被理论地定量化,为图像的自动拼接融合提供了强有力的保证;算法对数据层层过滤提纯数据的过程非常稳健;最小二乘算法估计图像间点变换的域得到了优化,保证了算法的精确估计和快速收敛。整个算法无论是对输入数据本身还是图像的外部复杂光照条件都有很强的容错能力,是一种稳健有效的实用算法。
参考文献
[1]杨占龙.基于特征点的图像配准与拼接技术研究[D].西安:西安电子科技大学,2008.
[2]赵向阳,杜利民.一种全自动稳健的图像拼接融合算法[J].中国图像图形学报,2004,9(4):417-422.
[3]崔汉国,陈军,王大宇.鱼眼图像校正及拼接的研究与实现[J].计算机工程,2007,33(10):190-192.
[4]黎俊,彭启民,范植华.亚像素级图像配准算法研究[J].中国图象图形学报,2008,13(11):2070-2075.
[5]曾庆业,唐娉.使用仿射不变特征的遥感图像自动配准[J].计算机工程,2009,35(1):192-194.
[6]刘小军,杨杰,孙坚伟,等.基于SIFT的图像配准方法[J].红外与激光工程,2008,37(1):156-160.
[7]冷晓艳,薛模根,韩裕生,等.基于区域特征与灰度交叉相关的序列图像拼接[J].红外与激光工程,2005,34(5):602-605.
[8]SCHMID C,MOHR R,BAUCKHAGE C.Evaluationof interest point detectors[J].International Journal ofComputer Vision,2000,37(2):151-172.
[9]LOWE D G.Distinctive image features from scale!in-variant keypoints[J].International Journal of ComputerVision,2004,60(2):91-110.
误差最小化 篇6
最小二乘算法是系统辨识中用得最广泛的估计方法之一。标准的递推最小二乘算法是通过极小化关于输入输出数据的一个二次准则函数,即极小化估计残差平方和而得到的算法[1]。本文基于卡尔曼滤波原理[2],从一个新的角度来推导递推最小二乘算法:定义一个参数估汁误差协方差矩阵,通过极小化该协方差矩阵而推导出递推最小二乘算法。
1最小二乘辨识算法
考虑下列单输入单输出(SISO)系统的参数估计问题,
A(z)y(t)=B(z)u(t)+v(t)(1)
(1)式中{u(t)}和{y(t)}分别是模型的输入和输出序列,{v(t)}为零均值、方差为σ2的不相关随机白噪声序列A(z)和B(z)均为单位后移算z-1的多项式[z-1y(t)=y(t-1)],且
A(z)=1+a1z-1+a2z-2+…+anaz-n,
B(z)=b1z-1+b2z-2+…+bnbz-nb。
定义参数向量θ和信息向量φ(t)分别为
θ:=[a1,a2,…,ana,b1,b2,…,bnb]T∈Rn,
φ(t):=[-y(t-1),-y(t-2),…,-y(t-na),u(t-1),u(t-2),…,u(t-nb)]T∈Rn。
那么式(1)写可成下列最小二乘辨识模型,
y(t)=φT(t)θ+v(t)(2)
本文的目标是,利用系统的输入输出数据{u(t),y(t)}或{y(t),φ(t)},基于卡尔曼滤波原理,极小化参数估计误差协方差阵,而推导辨识参数向量θ的递推最小二乘算法。
很多文献给出了计算θ估计白
L(t)=P(t-1)φ(t)[1+φT(t)P(t-1)φ(t)]-1(4)
P(t)=[I-L(t)φT(t)]P(t-1)(5)
其中
2算法推导
2.1单输入单输出系统的递推最小二乘算法
仍考虑上述单输入单输出系统式(1)或式(2)。参照式(3),设t寸刻的参数估计
那么问题就是如何找到增益向量L(t)∈Rn。方法如下,定义参数估计误差为
将式(6)代入式(7),并利用式(2)展开可得
(8)式中I是一个适当维数的单位阵.目标是确定一个最优增益向量L(t)使参数估计误差
P(t):
将式(8)代入式(9)可得
P(t)=[I-L(t)φT(t)]P(t-1)×
[I-L(t)φT(t)]T+L(t)σ2LT(t)(10)
因为P(t)为非负定矩阵,将P(t)配成下列形式:
把P(t)看作待定增益向量L(t)的函数。通过极小化估计误差协方差矩P(t),可求得最优增益向量L(t).上式中矩阵P(t)包含3项,第一、二项与L(t)无关,第二项中,因为P(t-1)是非负定矩阵,所以σ2+φT(t)P(t-1)φ(t)≥0。如果选择增益L(t)使得第三项为零,即取
L(t)=P(t-1)φ(t)[σ2+φT(t)P(t-1)φ(t)]-1(12)
那么协方差阵P(t)最小,也就是参数估计误差最小。
将式(12)代入式(11)得到
P(t)=P(t-1)-P(t-1)φ(t)×
[σ2+φT(t)P(t-1)φ(t)]-1φT(t)P(t-1)=
[I-L(t)φT(t)]P(t-1)(13)
式(6),式(12)和式(13)构成了基于卡尔曼原理的单输入单输出系统的最小方差递推最小二乘算法它与标准递推最小二乘算法式(3)-式(5)的差别在于式(12)-式(13)中取σ2=1.
下面讨论一种特殊情况。对于确定性系统,噪声方差σ2=0,则算法式(6),式(12)-式(13)退化为
L(t)=P(t-1)φ(t)[φT(t)P(t-1)φ(t)]-1(15)
P(t)=[I-L(t)φT(t)]P(t-1)(16)
为了防止式(15)中分母为零,可加上一个小常数ε(如取ε=10-6),则算法式(14)-式(16)可修改为
P(t)=[I-L(t)φT(t)]P(t-1)(19)
在后面的例子中,将研究ε取不同值时,参数估计精度的变化。
这是文献[2]状态估计算法推导过程,推导递推最小二乘参数估计的一种新的简便方法。从上述推导看:这种参数状态估计误差具有最小方差性质。也可理论上证明这个递推最小二来算法的参数估计误差收敛于零。
2.2多输入多输出系统的递推最小二乘算法
上述方法也叮推广到多输入多输出(MIMO)系统.考虑下列多输入多输出系统,
A(z)y(t)=B(z)u(t)+v(t)(20)
A(z):=I+A1z-1+A2z-2+…+Anaz-na,
B(z):=B1z-1+B2z-2+…+Bnbz-nb,
u(t)∈Rr为系统输入向量,y(t)∈Rm为系统输出向量,u(t)∈Rm为零均值、协方差阵为Rv=E[v(t)vT(t)]∈Rm×m的随机噪声向量。
定义参数矩阵ϑ和信号向量φ(t)如下
ϑT:=[A1,A2,…,Ana,B1,…,Bnb]∈Rm×m,φ(t):=[-yT(t-1),…,-yT(t-ma),tT(t-1),…,uT(t-nb)]T∈Rn。
则式(20)可等价写为
y(t)=ϑTϕ(t)+v(t)(21)
参照式(6),由上式可知ϑ的递推估计应取为下列形式:
则参数估计误差可写为
定义参数估计误差协方差短阵P(t):
P(t)=[I-L(t)ϕT(t)]P(t-1)](25)
如果式(24)中取ϵ=1,就得到多输入多输出系统的标准递推最小二乘算法.
3仿真例子
例1 考虑下列随机系统,
A(z)y(t)=B(z)u(t)+v(t),
A(z)=1+a1z-1+a2z-2=1-1.60z-1+0.80z-2,
B(z)=b1z-1+b2z-2=0.412z-1+0.309z-2,
θ=[a1,a2,b1,b2]T=[-1.60,0.80,0.412,0.309]T。
仿真时,输入u(t)采用零均值单位方差不相关可测随机序列,v(t)采用零均值方差为σ2的白噪声序列.当噪声方差为σ2=0.102和σ2=1.002时,对应的噪信比分别为δns=14.26%和δns=142.63%.应用提出的算法式(6),式(12)-式(13)估计这个系统参数,不同噪声方差下的参数估计及其误差如表1所示,参数估计误差δ:
当噪声方差为σ2=0.102,噪信比为δns=14.26%时,利用算法式(17)-式(19)来估计这个系统参数,不同ϵ下的信真结果如表2所示.
从表1和图1可知,在不同噪声水平下,噪信比越小(噪声方差小),参数估计精度高,参数估计误差随数据长度增加总的趋势是减小的。从表2可知,在同一噪声水平下,算法参数估计对ϵ取值大小不敏感。
例2 考虑下列确定性系统,即例v(t)=0情形。输入v(t)采用零均值单位方差不相关随机序列,应用算法式(17)-式(19)估计其参数,不同ϵ值时的仿真结果如表3所示。
4结论
本文基于卡尔曼滤波原理,通过极小化参数估计误差协方差矩阵的方法,分别推导了单输入单输出系统和多输入多输出系统的递推最小二乘算法,并用仿真例子研究了参数估计的性质。
摘要:基于卡尔曼滤波原理,通过极小化参数估计误差协方差矩阵,导出了递推最小二乘辨识算法。仿真例子说明了算法的有效性。
关键词:最小二乘,参数估计,参数估计误差,协方差
参考文献
[1]谢新民,丁锋.自适应控制系统.北京:清华大学出版社,2002
[2]str om KJ.Introduction to stochastic control theory.NewYork:Ac-ademic Press,1970