データセットの線形トレンドラインを見つけようとしています。セットには、日付(x値)とスコア(y値)のペアが含まれています。このコードのバージョンをアルゴリズムの基礎として使用しています。
私が得ている結果は、数桁ずれています。ミリ秒数が非常に多いDateのgetTimeメソッドを使用しているため、丸め誤差またはオーバーフローに問題があると思います。エラーを最小限に抑えて正しい結果を計算する方法について誰かが提案を持っていますか?
データセットの線形トレンドラインを見つけようとしています。セットには、日付(x値)とスコア(y値)のペアが含まれています。このコードのバージョンをアルゴリズムの基礎として使用しています。
私が得ている結果は、数桁ずれています。ミリ秒数が非常に多いDateのgetTimeメソッドを使用しているため、丸め誤差またはオーバーフローに問題があると思います。エラーを最小限に抑えて正しい結果を計算する方法について誰かが提案を持っていますか?
おそらく、Dateが返す長い値をより小さなものに変換するのに役立つでしょう。
ミリ秒の精度が必要ない場合は、1000で割ることができます。秒も必要ない場合は、さらに60で割ります。
また、値は1970年1月1日に固定されています。より新しい日付のみが必要な場合は、オフセットを差し引いて2000年にリベースすることができます。
全体的な考え方は、データの違いを数値的に(パーセンテージで)より重要にすることです。
UNIXタイムスタンプのタイプは整数であり、データをdoubleとして読み取っています。相対的なサイズにもよりますが、ほとんど問題になります。
タイムスタンプを整数として保持するか、時間を問題により適したものに変換します。