【发布时间】:2013-07-09 21:01:01
【问题描述】:
我有一个算法问题。我不知道 stackoverflow 是否是发布它的正确位置,但由于我使用 matlab 并想用它来做这件事,所以我把它贴在那里。 我的问题如下:我有一组数据,除了在这组数据的末尾,点必须非常线性之外,我对此了解不多。我想对这些线性分布的点进行线性拟合,而不使用不是的部分。
(图像总是更好理解):
正如您在此处看到的,我有蓝色数据,它不是线性的,但在末尾有一个线性部分(红色部分)。我想要的是找到一种算法,让我知道数据曲线的行为何时结束其线性。
不知道我说清楚了吗?
我尝试在右侧取几个点,然后对这几个点进行线性拟合。然后在少数几个点上添加一些点,并检查这些点是否“足够接近”线性拟合。然后再次与添加的点进行线性拟合,依此类推,但我认为这不是最佳解决方案,因为“第一个”点有很多噪声(图像上未在此处表示)...
你有什么想法或提议或链接吗?
谢谢!
【问题讨论】:
-
它最终会变得几乎是线性的吗?或者您对任何路段中最长的直线感兴趣?
-
@Fallen 我不确定它是否会一直这样做,但我认为在大多数情况下,它会非常线性。 “任何线段中最长的直线”是什么意思?
-
我的意思是你对在最后输入数据处结束的唯一直线段感兴趣吗?
-
@Fallen 不,我不知道。我只想要合身,它不必经过最后一点。
-
此数据看起来很符合逻辑,并带有额外的线性趋势。
标签: algorithm