有一维数组 [x1,x2...xn],要求一个值X,使得:
F(X) = (X-x1)2+(X-x2)2+...(X-xn)2 = min
F(X) = nX2 - 2 * (x1+x2+....+xn) + x12 + x22 + ...+xn2 = min
对X求导,当dF/dX = 0时,F(X)有极小值;
2nX - 2 (x1+x2+....+xn) = 0
那么,X = (x1+x2+....+xn) / n
因此,在一维的情况下,最小二乘求参数X,和求均值一样;
使用矩阵的方法,先建立方程组:
X - x1 = 0
...
X - xn = 0
也就是方程组:
An*1X =b,等价于 [1,1,......] T X = [x1,x2...xn] T;
ATAX = ATb
同样解得:X = (x1+x2+....+xn) / n
应用:在一维中,有[2,2,2,2,2,10]这样子的数组,找出其中的孤值
先求出 X = 均值 = 3.333
中误差 = sqrt [ [(2-3.333)2 + (2-3.333)2 + (2-3.333)2 + (2-3.333)2 + (2-3.333)2 + (10-3.333)2 ] / (6-1) ] = 3.1622
假如一维数组是对一段距离的观测值,假设服从正态分布N[ μ,σ2] , u应该是接近2的数字,但实际上是不可知道的,样本量大时,通常用X和中误差来代替
|xn - u| > 2σ 的概率,为 1 - 95.449974%;
|xn - u| > 3σ 的概率,为 1 - 99.730020%;
所以,基于这个原理,|10 - 3.3333 | ≈ 2σ ,是属于小概率事件,所以认为10是孤值;
加权最小二乘法;
假如,为上面每个数字,求加权平均值,假如权值分别为[p1,p2....pn],假如为[1,1,1,1,1,1/10]
加权并不是:X =( 2+ 2 + 2 + 2 +2 + 1 / 5 * 10 )/ 6 = 2;
而是F(X) = p1(X-x1)2+p2(X-x2)2+...p3(X-xn)2 = min
p越大,说明对某个观测值越信赖,对其误差也越信赖;
原文:https://www.cnblogs.com/pylblog/p/11359863.html