いくつかのデータセットで傾向を見つけようとしています。傾向には、最適なラインを見つけることが含まれますが、手順が他のモデルとあまり変わらないと想像する場合 (単に時間がかかる可能性があります)。
考えられるシナリオは 3 つあります。
- すべてのデータが単一の傾向に適合し、変動性が低いすべての良好なデータ
- データのすべてまたはほとんどが非常に変動しやすく、データセット全体を破棄する必要があるすべての不良データ。
- 一部のデータは良好で、残りは破棄する必要がある、部分的に良好なデータ。
極端な変動性を持つデータの正味の割合が高すぎる場合は、セット全体を破棄する必要があります。これは、基本的にこのタイプのデータのみが存在し、不良データの割合がさまざまであることを意味します。
0% 不良 = ケース 1
100% 不良 = ケース 2変動性の低い連続したセクションのみを探しています。つまり、トレンドに合う個別のポイントがいくつかあるかどうかは気にしません。
私が探しているのは、データセットをサブセクション化し、特定のトレンドを検索するスマートな方法です。問題の性質上、全体的な傾向に最も適したセクションを探しているわけではありません。「よりクリーンな」データを含むサブセクションは、全体 (外れ値を含む) とはわずかに異なる傾向線の特性を持つことになることを理解しています。データのこの部分が実際の傾向を最もよく反映しているため、これはまさに私が望むものです.
私は C++ に堪能ですが、コードをオープン ソースおよびクロスプラットフォームにしようとしているので、ISO C++ 標準に固執しています。これは .NET がないことを意味しますが、.NET の例があれば、ISO C++ への変換も手伝っていただければ幸いです。また、JAVA、いくつかのアセンブリ、および Fortran の知識もあります。
データセット自体は巨大ではありませんが、約 1 億 5000 万あるため、総当たり攻撃は最善の方法ではない可能性があります。
前もって感謝します
私はいくつかのことを空中に残したことを理解していますので、明確にさせてください:
- 各データセットは異なる傾向を持つ可能性があり、おそらくそうなるでしょう。つまり、すべてのデータセットで同じ傾向を探しているわけではありません。
- プログラムのユーザーは、希望する適合度を定義します
- プログラム ユーザーは、トレンド フィッティングと見なされる前に、サブセットがどの程度連続していなければならないかを定義します。
- プログラムが拡張されて任意のタイプの適合 (単純な線形ではない) が可能になる場合、ユーザーはどのモデルを適合させるかを定義します。これは優先事項ではなく、上記のクエリが解決された場合、この拡張は確実に比較的些細なこと
- 外れ値は、実験の性質とデータ取得技術の結果として生じます。これらの領域は外れ値を与えることが知られているにもかかわらず、「悪い」セクションからのデータを収集する必要があります。これらの外れ値を破棄しても、データが何らかの傾向に合わせて操作されていることを意味するものではありません (統計の免責事項、へへ)。