鲁棒拟合robustfit例子

标签:
robustfit鲁棒拟合regress |
分类: matlab |
首先,以matlab提供的robustfit函数的一个例子来说明鲁棒拟合与经典拟合的差别:
brob = robustfit(x,y)
plot(x,brob(1)+brob(2)*x,'r-', x,bls(1)+bls(2)*x,'m:')
legend('Given','鲁棒拟合','经典拟合')
结果如下图所示,可以看到最后的异常点导致了经典拟合斜率偏小,而鲁棒拟合比较好的规避了异常点的影响。需要注意的是经典拟合命令regress在使用时需要加上一列1;而robustfit则不需要。
brob = robustfit(x,y)
plot(x,brob(1)+brob(2)*x,'r-', x,bls(1)+bls(2)*x,'m:')
legend('Given','鲁棒拟合','经典拟合')
当数据点变多后,可以看到极少数的异常点对于经典拟合的影响已经非常小了。
前一篇:潮汐:宇宙星辰掀起的波澜与奇观
后一篇:国家自然科学基金申请要点总结