過去の購入のデータから、どのアルゴリズムを使用して消耗品の使用を予測できますか?


10

おそらく単純だが興味深い問題について考えて、以前の購入の完全な履歴を踏まえて、近い将来に必要になる消耗品を予測するためのコードを書きたいと思います。この種の問題には、より一般的でよく研究された定義があるはずです(これがERPシステムなどのいくつかの概念に関連していると誰かが示唆しました)。

私が持っているデータは、以前の購入の完全な履歴です。私が紙の供給を見ているとしましょう、私のデータは(日付、シート)のようになります:

2007-05-10   500
2007-11-11  1000
2007-12-18  1000
2008-03-25   500
2008-05-28  2000
2008-10-31  1500
2009-03-20  1500
2009-06-30  1000
2009-09-29   500
2009-12-16  1500
2010-05-31   500
2010-06-30   500
2010-09-30  1500
2011-05-31  1000

定期的に「サンプリング」されないので、時系列データとしての資格はないと思います。

毎回の実際の在庫レベルに関するデータはありません。このシンプルで限られたデータを使用して、(たとえば)3、6、12か月で必要になる紙の量を予測します。

これまでのところ、私が探しているものは外挿と呼ばれ、それ以上ではないことがわかりました:)

このような状況で使用できるアルゴリズムは何ですか?

また、前のアルゴリズムと異なる場合、どのアルゴリズムが現在の供給レベルを示すいくつかのデータポイントを利用することもできますか(たとえば、日付XIにY枚の紙が残っていることがわかった場合)。

これについてより良い用語を知っている場合は、質問、タイトル、タグを自由に編集してください。

編集:それが価値があるもののために、私はこれをPythonでコーディングしようとしています。多かれ少なかれアルゴリズムを実装するライブラリがたくさんあることは知っています。この質問では、実際の実装は読者の練習問題として残して、使用できる概念と手法を探っていきたいと思います。


1
親愛なる統計学者の皆さん、この質問が放棄されていないことをお知らせしたいと思います。時間と動機を見つけたらすぐにこの特定の問題に戻り(読み取り:上司に指示されます)、貴重な回答を調査し、最終的に1つを承認済みとしてマークします(これは、「実際に実装された」という意味です)。
Luke404 2013

回答:


12

問題は、時間に対する消費です。これは、時間に対するレートの回帰を必要とします(時間に対する総購入の回帰ではありません)。外挿は、将来の購入の予測制限を作成することによって行われます

いくつかのモデルが可能です。 ペーパーレスオフィスへの移行(約25年前から続いている:-)を考えると、指数(減少)モデルを採用する可能性があります。結果は、消費量の次の散布図によって描かれ、その上に指数曲線(通常の最小二乗を介して消費量の対数に当てはめられます)とその95%予測限界が描かれます。外挿値は、95%の信頼度で、線の近くと予測限界の間にあると予想されます。

図

縦軸は、1日あたりのページ数を線形目盛で示しています。濃い青色の実線は適合です。これは指数関数的ですが、線形に非常に近くなります。指数フィットの影響は予測バンドに現れます。この線形スケールでは、フィットの周りに非対称的に配置されます。対数スケールでは、それらは対称になります。

より正確なモデルでは、加重最小二乗法を使用して近似できる、より短い期間(または総購入量が少ない場合)では消費情報が不確実になるという事実を説明します。これらのデータの変動性とすべての購入のサイズの大まかな平等を考えると、余分な努力の価値はありません。

このアプローチは、中間在庫データ対応します。これは、中間時の消費率を補間するために使用できます。このような場合、中間の消費量はかなり変動する可能性があるため、加重最小二乗アプローチが推奨されます。

使用するウェイトは? 必然的に紙の積分量で発生する紙の消費量は、日ごとに独立して変化するカウントと見なす場合があります。したがって、短期間の場合、カウントの分散は期間の長さに比例します。その場合、1日あたりのカウントの分散は、期間の長さに反比例します。したがって、重みは在庫間の経過期間に正比例する必要があります。したがって、たとえば、2007-05-10と2007-11-11の間の1000シートの消費量(約180日)は、2007-11-11と2007-12-の間の1000シートの消費量のほぼ5倍になります。 18、期間はわずか37日。

同じ重み付けを予測区間に適用できます。これにより、たとえば3か月にわたる消費の予測と比較して、1日の消費の予測の間隔が比較的広くなります。

これらの提案は、目的のアプリケーションに適した単純なモデルと単純な予測と、データの明らかな大きな変動に焦点を合わせていることに注意してください。たとえば、大国の防衛支出に関連する予測の場合、より多くの説明変数に対応し、時間的相関を考慮し、モデルにさらに詳細な情報を提供する必要があります。


データが定期的にサンプリングされていた場合、レートではなくカウントを使用することが適切でしたか?
MannyG

1
@MannyGはい。ただし、カウントがレートに直接比例するためだけではなく、カウント自体を使用することが適切であるためではありません。ここでレートを使用する必要性は、将来の値を予測することが実際に何を意味するかを考えると明らかです。予測された消費の時間間隔を指定する必要があります。これにより、量を取得するために時間と時間の積を予測し、その量単位時間あたりの量、つまり消費率でなければならないことを意味します。
whuber

@whuberすみませんが、あなたの回答にどのモデルが記述されているのか、どのモデルがどこで終了して別のモデルを開始するのか明確に理解できません。私は同様の問題を抱えており、あなたの答えの一部はまさに私が必要としているもののようですが、私はこの問題についてさらに調査する必要があります。徐々に改善されます。あなたが説明している重みを持つモデルの正式な名前はありますか?最初のモデル(指数減少)には重みが含まれていますか?前もって感謝します。
Agis 2013

@rensokukenデータに重みを付ける1つのモデルとバリエーションを説明します。この回答の後半では、重みを決定する方法を提案しています。「加重最小二乗法」以外の正式名称は知りません。
whuber

@whuberなるほど。最初にこれを説明、次にウェイトを追加するときにこれを説明していますよね?また、特定のソリューションに関連して、予測の初心者のために参照するリソースはありますか?説明をありがとう。
Agis 2013

5

これは間違いなく機械学習の問題です(私はあなたの投稿のタグを更新しました)。ほとんどの場合、これは線形回帰です。つまり、線形回帰は、1つの従属変数と1つ以上の独立変数の間の関係を回復しようとします。ここでの従属変数は、消耗品の使用法です。独立変数については、購入間の時間間隔をお勧めします。たとえば、各時点で消耗品を使用した人の数や、購入量に影響を与える可能性のあるその他すべての独立変数を追加することもできます。ここでは、Pythonでの実装とともに線形回帰の優れた説明を見つけることができます。

理論的には、購入の時間間隔だけでなく、時間自体も金額に影響を与える可能性もあります。たとえば、何らかの理由で1月に人々は、たとえば4月よりも多くの紙を必要とする場合があります。この場合、線形回帰自体の性質上、月の数を独立変数自体として使用することはできません(月の数は単なるラベルですが、金額として使用されます)。したがって、これを克服する方法は2つあります。

まず、各月に1つずつ12個の追加の変数を追加し、購入月を表す場合は各変数を1に設定し、そうでない場合は0に設定します。次に、同じ線形回帰を使用します。

2番目に、線形回帰と決定木の混合であるM5 'などのより洗練されたアルゴリズムを使用できます(このアルゴリズムの詳細については、データマイニング:実用的な機械学習のツールとテクニックを参照してください)。


ユーザーに関するデータの量によって異なります。十分な場合(たとえば、1年間で100を超えるトランザクション)、この特定のユーザーのモデルをトレーニングできます。それ以外の場合は、すべてのユーザーに対する一般的なモデルを使用すると、より良い結果が得られる場合があります。相互検証を使用して、両方のアプローチのパフォーマンスを測定できます。
ffriend

5

定期的に「サンプリング」されないので、時系列データとしての資格はないと思います。

購入を予測する方法についてのアイデアは次のとおりです。データを断続的な需要系列と見なします。つまり、一定の間隔でサンプリングされた時系列がありますが、正の値は明らかに不規則な間隔です。Rob Hyndmanは、断続的な需要系列を予測するためのCrostonの方法の使用に関する素晴らしい論文を持っています。私はPythonでも多くのプログラミングを行っていますが、Rostonの優れたRパッケージ予測ですぐに利用できるクロストンの方法や他の時系列予測方法を使用することで、探索時間を大幅に節約できます。


1
+1新しいアイデアを提供するため。しかし、Shenstone&Hyndman論文の紹介と結論を熟読すると、Crostonの方法は一般にあまり良くないことが示唆されています。著者たちが言える最高のことは、それにもかかわらず、「予測...はまだ役立つかもしれない」ということです。また、OPから要求された「現在の供給レベル」に関する追加データにこのモデルが対応できなかったようです。
whuber

3

私はあなたには、いくつかのやろうとしているかなり確信して回帰分析を、あなたのデータポイントにラインを合わせて。たくさんのがありますツールあなたを助けるためにそこには- MS Excelは最もアクセス可能であること。独自のソリューションを展開したい場合は、統計をブラッシュアップすることをお勧めします(おそらくここここ)。データに直線を当てはめると、将来を推定できます。

編集:以下のコメントで言及したExcelの例のスクリーンショットです。太字の日付は、自分で入力した将来のランダムな日付です。列Bの太字の値は、Excelの指数回帰のフレーバーによって計算された外挿値です。 ここに画像の説明を入力してください

EDIT2:わかりました。「どのようなテクニックを使用できますか?」という質問に答えるには、

  • 指数回帰(上記)
  • ホルトの方法
  • 冬の方法
  • 有馬

それぞれの簡単な紹介については、このページを参照してください:http : //www.decisioncraft.com/dmdirect/forecastingtechnique.htm


何:これは自分自身に聞いて私を導いている私のデータポイントは?単一の購入ではありません-それらの間の経過時間、したがって特定のリソースの総消費量は考慮されません。多分私はそれらを内挿して一定の間隔(例えば、週あたりの数量)で平均を得て、それを時系列データ入力として使用して将来のデータを外挿する必要がありますか?

時間の違いは、プロット上の「x」値の違いと考えてください。ほとんどのタイプの回帰分析では、さまざまな違いが考慮されます。指数回帰を使用するExcelのGROWTH関数を使用してサンプルデータを試してください。日付を変更すると、それに応じて予測値も変更されます。

3

コメントとして開始しましたが、長くなりすぎました...

定期的に「サンプリング」されないので、時系列データとしては適格ではないと思います

これは誤った結論です-確かに時系列です。時系列は不規則にサンプリングされる可能性がありますが、その場合は通常のアプローチとは異なるものが必要になる傾向があります。

この問題は、ダムレベルのような確率論的問題に関連しているように見えます(水は通常、時間の経過とともにかなり安定した速度で使用され、場合によっては増減が急速である一方で、かなり安定している場合もあります)一方で、ダムレベルは増加する傾向があります雨が降ると急速に(本質的にジャンプで)。紙の使用量と補充パターンは多少似ている場合があります(ただし、注文量は雨量よりもはるかに安定しており、はるかに丸められる傾向があり、レベルが低くなるたびに発生する可能性があります)。

また、保険会社の資本にも関係します(ただし、逆転します)-初期資本を除いて、保険料(純営業費用)からのお金と投資はかなり着実に(時には多かれ少なかれ)発生しますが、保険契約の支払いは比較的多額になる傾向があります金額。

これらの両方がモデル化されており、この問題について少し洞察を提供するかもしれません。


-1

WEKAをご覧ください。これは、ツールと一連の機械学習アルゴリズムを備えたJava APIです。特に、分類アルゴリズムを探す必要があります。

幸運を


分類アルゴリズムはどのように定量的な予測を提供しますか?

@ Luke404:Wekaには3種類のアルゴリズム(分類、クラスタリング、関連マイニング)があり、分類セクションに回帰を入れることにしました。しかし、一般的にはあなたの言うとおりです。分類と量的予測は少し異なります。
ffriend

-1

線形最小二乗法を使用して、モデルを累積消費量に合わせます(つまり、日付ごとのページの累計)。最初の仮定は、1次多項式を使用することです。ただし、残差は、最初の次数が例のデータに適合していないこと示しているため、次の論理的な手順は、データを2次(つまり、2次)適合に増やすことです。これにより、残差の曲率が削除されます。2乗項のわずかに負の係数は、消費率が時間とともに減少することを意味します。これは、ほとんどの人がおそらく時間とともに紙の使用量を減らす傾向があることを考えると、直感的に思えます。このデータについては、過剰適合を開始する可能性があり、結果の外挿が意味をなさない可能性があるため、2次適合を超える必要はないと思います。

以下のプロットで近似(外挿を含む)と残差を確認できます。

フィット 残余

可能であれば、ブートストラップを実行して予測エラーをより正確に推定することをお勧めします。


累積消費の残差は強く相関しているため、この方法は統計的に正当化されているようには見えません。この根本的な問題については、2次近似のみの論文を使用してください。それを治すことはできません。
whuber

-2

オペレーションズリサーチを利用てデータを取得できると思います。

期間ごとに使用された紙の量、紙のユーザーなどを変数とするいくつかの方程式を見つけてみませんか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.