对最小二乘法的思考。
矩阵当中每个元素求和,可以将求和号提出来,做整个矩阵求和?如果这样的话,那么求系数a b c就有n个。
这n组系数a b c和直接求出的a b c 是什么关系? 问题二:
权值应该加在平方里面还是外面?
权值是对某点误差的看重程度。那么在做所有误差的平方和的时候,权值应该先和误差相乘然后平方然后求和呢,还是该让误差先平方在乘上权值再全部求和?
对第一个问题简化一点,看看:
如图所示。可以看作n个矩阵等式相加后等号仍然成立。
那么如果只看一个矩阵等式,也就是只带入一个点(Xi,Yi),就可以求出3个系数a、b、c了?这不是一下子解出了一个不定方程组吗?
因为按照最小残差的平方和最小的原则。当带入一个样本点的时候,求和就不存在,那么拟合出来的曲线应该与该点距离最小。如果不违背一些函数的基本走向,那么带入一个点的时候,得出的系数应该使拟合曲线经过该点。
对于例子中的2次函数,带入一个点的时候在平面上几乎没有取不到的点。
也就是说给一个点,就能求得一个二次曲线????? 问题比较复杂,不是做这方面的可能比较难了
回复 #3 cchh01 的帖子
楼主所用的是二次曲线拟合,如果n=1,你看看左边的矩阵,它的秩已经不是3,而是1,所以才会出现楼主的困惑。一个点求解这个(或拟合)这个二次曲线,你如何求?三个未知数呢?根据拟合的其本思想就是点取得越多,一般拟合越准确,最小二乘法本质上还是拟合,取得点越多(合适即可),得出的越准确;最小二乘法的思想就是基于让离散样本点与未知拟合曲线的值(同离散点自变量点下的值)差平方达到最小,通俗的讲就是让它们互相靠的很近;不过楼主说的前面加上一个权值还是还是第一次见到,这种情况是不是在离散点规律和假设的拟合曲线规律趋势不一样,或说不能预先很好的假设离散点大体趋势下并给出拟合曲线形式时用到呢?如果不是,权值在什么情况用呢? 刚才大意了,补充一下,左边矩阵和右边列向量合成增广矩阵后,他们的秩序为1,所以方程不能同时求出a,b,c
[ 本帖最后由 无水1324 于 2007-7-1 11:55 编辑 ] 谢谢中原
关于加权最小二乘法大致是这样的:
一般最小二乘法没有加权是因为假设的每个点的误差的分布规律的方差是相等的。
加权最小二乘法用于这些误差的方差不相等的时候。
比如在拿一个曲线拟合一些散列点的时候,你知道某些点测得的误差比较大,所以它的可信度就比较低,就给它一个比较小的权值。而有些点侧得比较精确,那么可信度就比较高,就应该给他一个比较大的权值。
权值乘得越大,则相应的那一点的误差的平方就被放大得越大。
权值乘得越小,相应的那一点的误差的平方就被缩小得越小。然后所有的点的误差的平方经过一定的缩放过后再求和起来。 所选经验公式得到的法方程组左边的系数矩阵一般是病态的,建议采用正交函数基。
加权系数法的权没有一个通用的计算结果,往往经验比较重要。。。
权系数肯定是放在求和平方的外边,要不然原来的函数就变化掉了。
回复 #7 cchh01 的帖子
那么加权系数有如何判定或选取呢? 原帖由 flybaly 于 2007-7-1 15:36 发表 http://www.chinavib.com/forum/images/common/back.gif所选经验公式得到的法方程组左边的系数矩阵一般是病态的,建议采用正交函数基。
这点我不明白。
如果经验公式就是一个反应该散列点变化规律的函数,系数矩阵也会是病态的?(麻烦详细解释一下病态什么意思:lol )
还有正交函数基怎么采用?
感觉我有点跟傅立叶变换之类的模糊了。
其实第一层楼的公式是这样演变而来的:
一般的曲线都可以用多项式来拟合。只要项数足够多,那么就可以拟合得比较好,但这一般不能反应曲线的本质。还有就是一般的曲线都可以分解为泰勒级数。其实泰勒级数就类似于多项式的幂次递增那样的。所以基本上的函数曲线都可以用幂递增的多项式来拟合。
既然幂是整数的多项式的适应范围都这么广泛,那么如果把x的指数从自然数推广到实数域,那么是否将有更广泛的适用范围。
然后进一步将一元的扩展为多元的,然后在加上权值,也就是一个比较好的通用推导了。
原帖由 flybaly 于 2007-7-1 15:36 发表 http://www.chinavib.com/forum/images/common/back.gif
加权系数法的权没有一个通用的计算结果,往往经验比较重要。。。
其实对于权值,我好像看到的是时间序列里面做平滑滤波的时候要求权值求和为n。最小二乘法里面有没有要求我不确知。
还有就是看到据说权值的选择最好的是与“误差的方差的平方的倒数”成比例。 你看不到它是hilbert矩阵(?)吗。
推荐一本计算机科学计算-高教出版的。
权值有很多种取法,并不确定。 其实,这是一个二次多项式最小二乘拟合的例子。不是太复杂。
关于加权系数应该放在那里的问题。我觉得比较合适的位置是在括号里面。需要平方。在这之前需要澄清一个问题,加权方法其实是一种人为地修正方法。这就要求你必须清楚你所要修正数据关系。如果清楚这一点,把加权系数放在那里就容易处理了。 有关这类分析方法可以参考一些数值计算方法的书籍。
页:
[1]