フラットな予測
統計的予測 は直感に反する科学です。これは過去にすでに述べられました、しかし改めてこの点を強調します。
しばしば、サポートを求める人々から、Lokadにデータをアップロードしたばかりなのに、得られる予測が単調に一定であるという問い合わせを受けます。つまり、全ての先行ステップにおいて予測値が一定であるのです。例:6ヶ月先の月次売上予測の場合、次の6ヶ月間の売上が一定であるということです。
もちろん、今後6ヶ月間ビジネスの売上が全く変動しないということはあり得ないはずなのに、なぜLokadはこのような意味のない結果を出し続けるのでしょうか?
さて、今後6ヶ月間にビジネスは(少なくとも少しは)変化することは確実です。疑いの余地はありません。しかし、問題は、未来の変化にできるだけ近い予測をどのように作り出すかという点です。統計的な方法を取るならば、予測に対して統計モデルが必要となります。
問題は、優れた予測モデルが必要であるということです。そして、統計的予測の基本原則は、モデルが複雑であればあるほど、その信頼性を担保するためにより多くのデータが必要になるという点です。各先行ステップごとに異なる予測を行うモデルは、全てのステップで同一の値を出すモデルに比べて、間違いなく複雑です。
逆に言えば、これらのより複雑なモデルは、限られたデータセットにおいて信頼性が低くなるということも言えます。つまり、場合によってはこれらを用いることで全体の予測精度が低下する可能性が非常に高いのです。
単調な予測に関して不満を言う状況に戻ると、通常はアップロードされたばかりのデータが非常に短期間(例えば、月次履歴がわずか3ヶ月分)であるか、かなり希薄である(例えば、各製品ごとの売上がほんのわずかであるeCommerceのような)ためです。そういった状況では、Lokadは頻繁に単調な予測を行います.
これはバグではなく、精度向上のための機能です。
読者のコメント (6)
こんにちはジョハン、時系列データをリレーショナルデータベースに効率的に格納する方法は非常に難しい課題です。要するに、対象とする時系列の長さに大きく依存します。それ故、この分野において「業界標準」と呼べるものは存在しないと思います。また、ソースコード自体も、扱う時系列データの長さや数に非常に依存します。参考になれば幸いです。
Joannes Vermorel (7 years ago)
私たちは、典型的な時系列定義と観測値を伴う時系列プロジェクトに取り組んでいます。以下の点についてご支援いただけますか:
- DB設計の観点から見た、時系列の定義およびそれに関連する観測値の業界標準的な構造はありますか。
- 時系列を表すコード、例えば[Level 1].[Level 2].[Sequence Number].[Version]のようなものについて、ベストプラクティスは何でしょうか。
ご指導やご支援をいただければ幸いです。
Johan Strydom (7 years ago)
こんにちはIzi、興味深い考えですね :-) 最初からこの種の “attack” について考えていましたが、我々のウェブサイトではあまり宣伝されていません。 基本的に、それを行うためには、ターゲットがLokadに送信しているデータを非常に正確に把握する必要があります。さらに、我々が注目している相関関係の種類を非常に正確に知る必要があります。実際のビジネスデータにおいては、単純な時系列のシフトは「自然なもの」ではありません。最後に、非有料ユーザーからのデータは信用していないため、費用がかかることになります。 我々の技術に関しては、多くのモデルの複雑な組み合わせを使用しており、その中にはよく知られた古典的な手法も含まれています。この話題は我々にとってややセンシティブなものですが、後ほどあまり詳細に踏み込みすぎない概要を投稿するよう努めます。なお、これは依然として急速に進化している点もご留意ください。
Joannes Vermorel (9 years ago)
もし私が、貴社の製品を使用していると知っているサプライヤーやパートナーに連動するように入念に作成された不正確なデータをアップロードした場合、その結果を台無しにできるということですか?それは興味深く、しかもかなり簡単にできそうですね!そうでなければ、使用されている手法(例:ARIMA、ANNなど)についてもう少し詳しく知ることができれば幸いです。 `9 years ago`
こんにちはStephen, 的を射たご指摘です。ここでの根本的な問題は、ユーザーが予測そのものだけでなく、それらの背景にある理論や、少なくともコメントを求めている可能性があるという点です。 将来的には、Lokadから提供される予測に対して自動的に「コメント」するガイドラインを搭載したクライアントアプリを改善することを試みると思われます。
Joannes Vermorel (9 years ago)
こんにちはJoannes, ユーザーが期待する内容を記述するという点で、これは有用なフィードバックだと思いますか?場合によっては、ユーザーに対して予測タスクを数ヶ月間、例えば3ヶ月のみ実行できるように制限し、これを超える場合には予測精度への影響について警告を与えることもできるのではないでしょうか。また、歴史的データの利用可能性によっても左右されると思うので、両者を相関させる方法があるかもしれません。さらに、ユーザーの観点からすると、もっと正確には平坦な予測を返すべきかもしれませんが、その場合でも何らかの形でこのケースを通知されるか、より素朴な結果を受け入れるオプションが与えられる可能性があると思います。
Stephen (9 years ago)