gpt4 book ai didi

c++ - 查找 "cleanest"数据子集的方法,即变异性最低的子集

转载 作者:行者123 更新时间:2023-11-30 01:32:58 25 4
gpt4 key购买 nike

我试图在多个数据集中寻找趋势。趋势涉及找到最佳拟合线,但如果我想这个过程对于任何其他模型都不会有太大不同(可能更耗时)。

有 3 种可能的场景:

  1. 所有良好数据,其中所有数据都符合单一趋势且可变性较低
  2. 所有不良数据,其中所有或大部分数据表现出巨大的可变性,必须丢弃整个数据集。
  3. 部分好的数据,其中一些数据可能是好的,而其余的则需要丢弃。

If the net percentage of data with extreme variability is too high then the entire set must be discarded. This implies that there is essentially only this type of data and the percentage of bad data varies:

0% bad = Case 1
100% bad = Case 2

I am only looking for contiguous sections with low variablity; i.e. I don't care if there are some individual points that fit the trend

我正在寻找的是一种对数据集进行分段并搜索指定趋势的智能方法。由于问题的性质,我不是在寻找最适合整体趋势的部分。我知道带有“更干净”数据的小节最终会具有与整体(包含异常值)略有不同的趋势线属性。这正是我想要的,因为这部分数据最能反射(reflect)实际趋势。

我精通 C++,但是,由于我试图使代码开源和跨平台,所以我坚持使用 ISO C++ 标准。这意味着没有 .NET,但如果您有一个 .NET 示例,如果您也能帮助我将它转换为 ISO C++,我将不胜感激。我还了解 JAVA、一些汇编和 Fortran。

数据集本身并不大,但大约有 1.5 亿个,因此暴力破解可能不是最好的方法。

提前致谢


我知道我有一些事情悬而未决,所以让我澄清一下:

  • 每个数据集可以并且很可能会有不同的趋势;即,我不是在所有数据集中寻找相同的趋势。
  • 程序用户将定义他们想要的贴合度
  • 程序用户将定义子集在考虑趋势拟合之前必须有多连续
  • 如果程序扩展到允许任何类型的拟合(不仅仅是线性拟合),用户将定义要拟合的模型——这不是优先事项,如果上述查询得到解决,那么我确信这种扩展相对微不足道
  • 异常值的产生是实验的性质和数据采集技术的结果,因此即使已知这些区域会产生异常值,仍然必须收集来自“坏”部分的数据。丢弃这些异常值并不意味着正在操纵数据以适应任何趋势(统计免责声明,呵呵)。

最佳答案

如果我对您的理解正确的话,RANSAC 算法是您正在寻找的一种方法。 http://en.wikipedia.org/wiki/RANSAC

关于c++ - 查找 "cleanest"数据子集的方法,即变异性最低的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/718866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com