适用于对随机噪声不太敏感的数据点的Python圆拟合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了适用于对随机噪声不太敏感的数据点的Python圆拟合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1418字,纯文字阅读大概需要3分钟。
内容图文
我有一组等距间隔的测得半径(t epsilon误差).
该模型是半径为(R)的圆,中心为(r,Alpha),并添加了较小的噪声和一些比噪声大得多的随机误差值.
问题是找到圆模型的中心(r,Alpha)和圆的半径(R).但是它对随机误差应该不太敏感(在下面的数据点7和14).
某些半径可能会丢失,因此简单均值在这里不起作用.
我尝试了最小二乘优化,但对错误有明显的反应.
有没有一种方法可以优化最小增量而不是最小增量平方?
Model:
n=36
R=100
r=10
Alpha=2*Pi/6
Data points:
[95.85, 92.66, 94.14, 90.56, 88.08, 87.63, 88.12, 152.92, 90.75, 90.73, 93.93, 92.66, 92.67, 97.24, 65.40, 97.67, 103.66, 104.43, 105.25, 106.17, 105.01, 108.52, 109.33, 108.17, 107.10, 106.93, 111.25, 109.99, 107.23, 107.18, 108.30, 101.81, 99.47, 97.97, 96.05, 95.29]
解决方法:
回答您的最后一个问题
Is there a way to optimize least deltas but not the least squares of delta in Python?
是的,选择一种优化方法(例如,在scipy.optimize.fmin中实现的下坡单纯形),然后使用绝对偏差之和作为评价函数.您的数据集很小,我想任何通用的优化方法都将迅速收敛. (在进行非线性最小二乘拟合的情况下,也可以使用通用优化算法,但是更常见的是使用Levenberg-Marquardt算法来最小化平方和.)
如果您有兴趣在最小化绝对偏差而不是平方的情况下获得理论上的证明,请参阅《数字配方》的“稳健估计”一章.
从实际的角度来看,绝对偏差之和可能没有唯一的最小值.
在两点的平凡情况下,例如(0,5)和(1,9)且常数函数y = a,在5到9之间的任何a值都会得出相同的和(4).当偏差平方时没有这种问题.
如果最小化绝对偏差不起作用,则可以考虑采用启发式程序来识别和删除异常值.例如RANSAC或ROUT.
内容总结
以上是互联网集市为您收集整理的适用于对随机噪声不太敏感的数据点的Python圆拟合全部内容,希望文章能够帮你解决适用于对随机噪声不太敏感的数据点的Python圆拟合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。