質問があります。
Random Forestで予測をしたい場合、値の数が一致しない場合はどうなるのでしょうか。
例えば、Date、A、B、C、D、Eという要素があります。
この中で、Aを予想したいします。
データの取得頻度は下記だと仮定します。
Aは1日ごとのデータ
Bは1日ごとのデータ
Cは3日ごとのデータ
Dは1週間ごとのデータ
Eは半月(15日)ごとのデータ
とします。
ここで、AをRandomForestにて予想させるために使う特徴量に
すべての要素(つまりB、C、D、E)を選んでAを予想させるとします。
しかし、C,D,Eは1日ごとのデータではなく、隔日なデータなため、データ数が異なります。
前置きが長くなりましたが、下記質問です。
■特徴量のデータ数と、予想させたいデータ数が異なる場合はどうなるのでしょうか。
・そもそもそのようなデータ数が異なる場合は特徴量としないほうがいいのでしょうか。
どうぞよろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
質問の内容は、
1.学習(Random Forest)に使用するデータはN日分存在する。
2.予測対象は日次単位のため、N件存在する。
3.説明変数は、週単位・3日ごとなどであるため、N件より少ない。
という状況下で学習させるとどうなるのか、と理解しました。
結論はこのままでは学習できないということになります。RandomForestは、予測対象に対して説明変数がそろっていることが前提になります。つまり、説明変数の一部に欠損値(nan)があると、計算結果もnanになるため、学習できません。
対処策としては、「欠損値が存在するケースを削除する」というものがあります。質問のケースだと1週間単位のデータが含まれるのでデータ数が1/7になってしまうのであまりうまくないかもしれません。(最終的にはやりたいことと全体のデータ数より総合的に判断)
データを削除しなくてすますためには、欠損値を何らかの方法で補完する必要があります。例えば1週間単位のデータが過去1週間の平均値なのであれば、観測値の前の欠損値の部分に観測値を充てればいいことになります。あるいは天気予報の予想値のようなものであれば、予想対象範囲の未来のデータに観測値を補完すればいいでしょう。他にも観測値同士の中間値(12月3日と12月5日に観測値がある場合、双方の観測値を合算して2で割る)で補完するという方法もあり得るでしょう。
このあたりの補完方法は、データの内容から最も合理的と見込まれるものを使うしかないので、いろいろとご検討ください。
投稿2018/12/11 15:07
総合スコア3376
0
それは現実がどうなっているかに依ります。
Eのデータが例えば1日と15日に発表される指標かなにかだとして、
1日に発表された指標が2日から15日のAに影響を与えるけれど、16日以降のAにはまったく影響を与えないのが現実なら、
"直前のE"(2日から15日なら1日のデータ、16日〜次の1日なら15日のデータ)を与えれば問題を解くのに役立ちますが、"2つ前のE"を与えても役に立ちませんよね?
「現実がどうなっているかが人間にわからないぐらい複雑だから機械学習を使おう」という状況のはずです。
いまこの段階で答えがでるなら、機械学習を使う理由がないのではないでしょうか?
投稿2018/12/11 08:43
総合スコア11046
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/11 09:05
2018/12/11 09:06
2018/12/11 09:18
2018/12/11 12:04
2018/12/11 14:48
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/11 15:12
2018/12/11 15:55
2018/12/12 00:09