做地图自动标注,想调用Matlab的多元线性拟合函数Regress,用Matlab Builder For Java转成Java类,因为是Flex编写的程序,无法直接使用Java需要部署到Web,问题来了,本地可以运行,但是写成RemotingObject或者WebService都会出现问题,要么是无法初始化工厂类,要么是Invoke错误,郁闷了!网上查了下好像大家都遇到这种错误,而且没什么解决方案。
搞了2天搞不好,想想,也没有速度要求,干脆自己写一个算了,也不怎么复杂!
原理如下:
建立多元线性回归方程,实际上是对多元线性模型(2-2-4)进行估计,寻求估计式(2-2-3)的过程。与一元线性回归分析相同,其基本思想是根据最小二乘原理,求解 使全部观测值 与回归值 的残差平方和达到最小值。由于残差平方和
(2-2-5)
是 的非负二次式,所以它的最小值一定存在。
根据极值原理,当Q取得极值时, 应满足
由(2-2-5)式,即满足
(2-2-6)
(2-2-6)式称为正规方程组。它可以化为以下形式