我试图在几个数据集中找到趋势。趋势涉及找到最佳拟合线,但如果我想象这个过程对于任何其他模型都不会有太大的不同(可能更耗时)。
有三种可能的情景:
如果具有极端可变性的数据的净百分比太高,则必须丢弃整个集合。这意味着基本上只有这种类型的数据,不良数据的百分比也各不相同:
0%差=案例1 100%差=案例2
我只是在寻找具有低变异性的连续部分;即我不关心是否有一些符合趋势的个别点
我正在寻找的是一种智能的方法来对数据集进行分段并搜索指定的趋势。由于问题的本质,我不是在寻找最符合整体趋势的部分。据我所知,带有“清洁”数据的小节最终会有比总体(包含异常值)略有不同的趋势线属性。这正是我想要的,因为这部分数据最能反映实际趋势。
我精通C ++但是,由于我正在尝试使代码开源和跨平台,我坚持使用ISO C ++标准。这意味着没有.NET,但如果您有一个.NET示例,我将不胜感激,如果您也可以帮助我将其转换为ISO C ++。我也了解JAVA,一些装配和fortran。
数据集本身并不庞大,但其中大约有1.5亿,因此蛮力可能不是最佳方式。
提前致谢
我知道我已经把一些东西留在了空中,所以让我澄清一下:
答案 0 :(得分:4)
如果我理解你的话,RANSAC算法就是你所寻找的一种方法。 http://en.wikipedia.org/wiki/RANSAC
答案 1 :(得分:1)
您可以在搜索中使用“异常值”一词。异常值是一个特定的数据点,表示实验设计中未捕获的特殊条件,或统计侥幸(从数据集中的分布的前端抓取的点太小而不希望发生这种情况)。
消除异常值会带来一些因你的期望而偏向结果的风险。