1

回帰を使用して過去の記録に基づいて組織の将来の利益を簡単に予測しようとしています。私はthis linkに従っています。テストの目的のために、私はサンプルデータを変更した、それはこれらの結果を生成:JavaScriptの単純回帰予測アルゴリズム

enter image description here

私の実際のデータには、日付と利益となり、彼らが上下に行くのではなく連続的な増分方法でされます。上記の方法は、予測が非常に正確であるために増加し続けているサンプルデータに対して機能することに気付きました。しかし、私がクレイジーに上下に行くスクリーンショットのデータにデータを変更したとき、予測はそれほど正確ではありません。

データが上下するため、回帰の精度を高める方法があるかどうかは疑問です。

ありがとうございます!

答えて

1

回帰を行うときは、モデルをデータにフィッティングしています。言い換えれば、「ここでは、データがどのように動作するかを大まかに説明する式です」と言います。線形回帰の場合、モデル/方程式は次の通りである。

y = a * x + b 

ここで、xは入力であり、yは出力である。線形回帰を行うことによって、「私のデータは直線に従います。ここに私のデータがあり、パラメータaとbはデータに最も適していますか?」と言います。

データがではない場合は、に従ってください。これはまったく問題なく動作します。たとえば、Google画像で見つけたthis imageを見てください。

明らかに、データには何らかの複雑な波状の形状があることがわかります。上下に移動してから上に移動します。線形モデルは、この形状を表現するのに十分複雑ではありません(直線のみが可能です)。だからそれはうまく収まらない。

より複雑なモデルが必要な場合は、1つを選択する必要があります。何十もの標準的なものがあり、自分で作ることができます。すべてのモデルは、方程式があなたのデータに合うように調整できるいくつかの固定パラメータを持つ方程式です。

ExcelやGoogleスプレッドのトレンドラインオプションを使って遊んでみてください。一般的なモデルについては、トレンドラインタイプのビットhereを参照してください。

どれも本当に周期的ではないため、毎月の利益にはうまくいかないことに注意してください。月ごとの変動をキャプチャするいくつかの反復乗算器を組み合わせたモデルを作成し、その後、年間利益が時間の経過と共に増加または減少するという事実を把握するための線形または多項式のコンポーネントを必要とします。

でも表情豊かなモデルは望ましくありませんが、それ以外の場合はデータがオーバーフィット(基本的にノイズのパターンが表示されます)します。

+0

立方体回帰が波状のパターンを予測できると思いますか?私はこのスレッドを参照しました:https://stackoverflow.com/questions/22319605/cubic-regression-best-fit-line-in-javascript私は上下に行くいくつかのテストデータを入れ、次に予測されたデータはかなり出力されています実際のデータに近いです(正しいと思いますか?)。予測が実際にどのように機能するかわからないため、このケースの予測が正確かどうかはわかりません。 :( – hyperfkcb

+0

また、3次回帰の式はy = ax^3 + bx^2 + cx + dです。正しいですか?問題が発生しました.3次回帰を使用すると、予測されたデータはちょうど「半円弧」の形で成長します。とにかく予測値を上下させるには? – hyperfkcb

+0

3次回帰は機能しません。これは1回だけ上下することができます - あなたのデータは毎年上下します。私はあなたが何をしているのかを理解する必要があると思います。 – Timmmm

関連する問題