説明

データ予測装置、データ予測プログラム

【課題】
過去の時系列データに基づいて極めて正確に将来のデータ値を予測することができるデータ予測装置を提供すること。
【解決手段】
本発明のデータ予測装置は、複数個の単位期間毎に周期変動する原時系列データを記憶する手段と、対移動平均比率法により、各単位期間の期間指数を計算し、原時系列データの各項を対応する期間指数で除算して調整後時系列データを生成する手段と、指数平滑法により調整後時系列データの予測値を計算する手段と、調整後予測値に期間指数を乗じて原時系列データの予測値を計算する手段を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ予測装置及びデータ予測プログラムに関し、さらに詳しくは、対移動平均比率法と指数平滑法を組み合わせることによって極めて正確にデータ予測が可能なデータ予測装置及びデータ予測プログラムに関する。
【背景技術】
【0002】
商品の販売数量についての過去の時系列データに基づいて、将来の販売数量予測を正確に行うことができれば、生産計画が正確になるため、過剰生産による商品の廃棄や欠品による販売機械損失を防止することができ、極めて有益である。
【0003】
従来、ARモデル、ARMAモデル、ARIMAモデル、指数平滑法などを用いて、将来の販売数量予測が試みられてきた(非特許文献1〜4及び特許文献1を参照。)。
【非特許文献1】Box Jenkins;Time Series Analysis Third Edition, Prentice Hall, 1994
【非特許文献2】R.G.ブラウン(関根智明訳);在庫管理のための需要予測, 紀伊国屋書店, 1969
【非特許文献3】得丸英勝他;計数測定―ランダムデータ処理の理論と応用, 培風館, 1982
【非特許文献4】小林健吾;利益計画予算のための販売予測, 中央経済社
【非特許文献5】K.Takeyasu, T.Amemiya, J.Sakurai;Estimation of smoothing consta nt in exponential smoothing Method, The 4th Asia-Pacific Conference on Indust rial Engineering and Management Systems
【非特許文献6】竹安数博;生・販・物統合システム, 中央経済社
【特許文献1】特開2003−330913号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、より正確に将来の販売数量予測を行うことが望まれていた。
本発明はこのような事情に鑑みてなされたものであり、過去の時系列データに基づいて正確に将来のデータ値を予測することができるデータ予測装置を提供するものである。
【課題を解決するための手段及び発明の効果】
【0005】
本発明のデータ予測装置は、複数個の単位期間毎に周期変動する原時系列データを記憶する手段と、対移動平均比率法により、各単位期間の期間指数を計算し、原時系列データの各項を対応する期間指数で除算して調整後時系列データを生成する手段と、指数平滑法により調整後時系列データの予測値を計算する手段と、調整後予測値に期間指数を乗じて原時系列データの予測値を計算する手段を備えることを特徴とする。
【0006】
本発明の発明者らは、原時系列データに対して指数平滑法を直接適用して将来の予測値を求めるのではなく、対移動平均比率法を用いて周期変動する要素を除去した時系列データを生成し、この時系列データに対して指数平滑法を適用して将来の予測値を求め、その予測値に対して周期変動する要素を加味して原時系列データの予測値を算出することによって、原時系列データに対する予測の精度が格段に向上することを見出し、本発明の完成に到った。
本発明によれば、商品の販売数量等を正確に予測することができ、将来の販売計画、生産計画等を行うことが容易になる。
【発明を実施するための最良の形態】
【0007】
本発明のデータ予測装置は、複数個の単位期間毎に周期変動する原時系列データを記憶する手段と、対移動平均比率法により各単位期間の期間指数を計算し、原時系列データの各項を対応する期間指数で除算して調整後時系列データを生成する手段と、指数平滑法により調整後時系列データの予測値を計算する手段と、調整後予測値に期間指数を乗じて原時系列データの予測値を計算する手段を備えることを特徴とする。
【0008】
1.原時系列データ
本発明が対象とする原時系列データは、複数個の単位期間毎に周期変動する時系列データであり、例えば、季節によって売上が変動する商品(ビール、エアコンなど)の販売数量の時系列データである。「周期変動」とは、一日周期の変動(例えば、昼と夕方の時間帯に販売数量が多くなる場合)、一週周期の変動(例えば、週末に販売数量が多くなる場合)、一月周期の変動(例えば、月始めに販売数量が多くなる場合)、一年周期の変動(例えば、夏に販売数量が多くなる場合)等を示している。また、「複数個の単位期間」とは、例えば、一日周期では、複数の時間(1〜2時、2〜3時、・・・、23〜24時)であり、一週周期又は一月周期では、複数の日(月、火、・・・、日、又は1日、2日、・・・、30日)であり、一年周期では、複数の月(1月、2月、・・・、12月)又は複数の季節(春、夏、秋、冬)である。単位期間の長さは、任意に決定することができるが、各単位期間に対応するデータ値が小さすぎると(例えば、単位期間が1時間で、その間の販売数量が数個であると)、正確な予測が困難になるので、この場合には、単位期間を長くして、各単位期間に対応するデータ値をある程度の大きさ(例えば、100以上)にすることが好ましい。
また、後述する期間指数を精度よく算出するため、原時系列データには、3周期分(一日周期であれば、3日分、一年周期であれば、3年分)以上のデータが含まれていることが好ましい。
【0009】
原時系列データは、データ予測装置の記憶手段に記憶される。「記憶手段」とは、例えば、半導体メモリからなるRAMやハードディスクからなる内部記憶装置などである。原時系列データは、キーボードなどを用いて手入力されたものであってもよく、POS(Point of Sale)システムによって取得されたものであってもよい。
【0010】
2.対移動平均比率法
次に、対移動平均比率法について詳述する。
(1)まず、複数個の単位期間毎に周期変動する原時系列データのn項移動平均値を求める。nが偶数の場合、1回の移動平均では原時系列データの単位期間に対応するデータが得られないため、もう一度隣接する値同士を平均して隣接項平均値を求め、それを原時系列データの各項に対応させる。
(2)次に、nが偶数の場合、原時系列データの各項を対応する隣接項平均値で除算して各項ごとの対移動平均比率を計算する。nが奇数の場合、原時系列データの各項を対応するn項移動平均値で除算して各項ごとの対移動平均比率を計算する。
(3)次に、各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する。例えば、単位期間が季節である場合、各年の同じ季節の対移動平均比率の平均値を計算する。
(4)次に、全ての期間平均値を平均して全期間平均値を計算する。例えば、単位期間が季節である場合、全期間平均値は、春、夏、秋、冬の期間平均値を平均したものとなる。
(5)次に、各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する。例えば、単位期間が季節である場合、各季節の期間指数(すなわち、季節指数)を計算する。
(6)次に、原時系列データの各項を対応する期間指数で除算して調整後時系列データを得る。
【0011】
従って、調整後時系列データを生成する手段は、nが偶数の場合、原時系列データのn項移動平均値を計算する手段と、隣接するn項移動平均値を平均して隣接項平均値を求める手段と、原時系列データの各項を対応する隣接項平均値で除算して各項ごとの対移動平均比率を計算する手段と、各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する手段と、全ての期間平均値を平均して全期間平均値を計算する手段と、各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する手段と、原時系列データの各項を対応する期間指数で除算する手段を備える。
【0012】
また、調整後時系列データを生成する手段は、nが奇数の場合、原時系列データのn項移動平均値を計算する手段と、原時系列データの各項を対応するn項移動平均値で除算して各項ごとの対移動平均比率を計算する手段と、各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する手段と、全ての期間平均値を平均して全期間平均値を計算する手段と、各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する手段と、原時系列データの各項を対応する期間指数で除算する手段を備える。
上記生成手段、計算手段は、データ予測装置のCPUなどの演算部によって構成可能である。
【0013】
ここで、対移動平均比率法の理解を助けるために、表1及び表2を用いて、さらに詳しく説明する。
【表1】

【表2】

【0014】
表1の原時系列データは、過去3年分の季節毎の製品の販売数量を表している。この時系列データをみると、販売数量は、夏と冬が多く、特に冬が非常に多く、4つの季節(春、夏、秋、冬)毎に周期変動していることが分かる。このような時系列データに対して指数平滑法を適用して、将来の販売数量予測を行うと、周期変動の影響により、予測数量の精度があまりよくならない。そこで、以下に示す対移動平均比率法により、周期変動の影響を除去した時系列データを得て、その時系列データに対して指数平滑法を適用する。
【0015】
表1の2段目は、四項移動平均値であり、前後2つずつの季節の販売数量の平均値である。表1から明らかなように各四項移動平均値は、2つの季節の間に位置しているので、原時系列データの各項に対応するデータが得られない。そこで、隣接する2つの四項移動平均値を平均し、隣接項平均値を得る。隣接項平均値を表1の3段目に示す。表1から明らかなように、隣接項平均値は、原時系列データの各項に対応している。
【0016】
以下、表2を参照して、説明を続ける。表2に示す区分A,Bは、それぞれ原時系列データ、隣接項平均値であり、何れも表1のものと同一である。
【0017】
原時系列データAの各項を、対応する隣接項平均値Bで除算して各項ごとの対移動平均比率Cを計算する。
次に、各年の対応する季節の対移動平均比率Cを平均して、季節毎に期間平均値D1を計算する。
次に、全ての季節の期間平均値D1を平均して全期間平均値D2を計算する。
次に、各期間平均値D1を全期間平均値D2で除算して各季節の期間指数Eを計算する。
次に、原時系列データAの各項を、対応する期間指数Eで除算して、調整後時系列データFを得る。
【0018】
3.指数平滑法
次に、指数平滑法により調整後時系列データの予測値を計算する。この計算は、データ予測装置のCPUなどの演算部によって実行される。
t時点における調整後時系列データ(すなわち、t番目の調整後時系列データ)をFt、(t+1)時点における調整後時系列データの予測値をF^t+1とすると、0<α<1である平滑化定数αを用いて、調整後予測値F^t+1は、
【数1】

で計算される。
【0019】
平滑化定数αは、経験的に定めてもよいが、調整後時系列データをARMAモデルに当てはめ、そのパラメータを求めることにより、理論的に定めてもよい。この場合、平滑化定数αは、
【数2】

(ただし、1次遅れの自己相関係数ρ1は、
【数3】

であり、1次遅れ、0次の自己相関関数R1,R0は、
【数4】

であり、Nは、調整後時系列データFtの項数である。)
となる。この平滑化定数αの導出方法は、特許文献1で詳述されている。
【0020】
4.原時系列データの予測値の計算
調整後時系列データの予測値に期間指数を乗じて原時系列データの予測値を計算する。この計算は、データ予測装置のCPUなどの演算部によって実行される。これによって、周期変動が考慮された予測値を得ることができる。
なお、類似の新製品の販売数量等は、現行製品と新製品との販売傾向の変化を示す因子を求め、上記予測値にこの因子を乗じることによって予測することができる。この因子は、例えば、この新製品をテスト販売すること等によって、求めることができる。この計算は、データ予測装置の演算部によって実行可能である。
【0021】
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図1は、本発明のデータ予測装置の構成を示すブロック図である。本発明のデータ予測装置1は、コンピュータを用いて構成されている。データ予測装置1は、演算を行うCPU11と、演算に伴って発生する一時的な情報を記憶するRAM12と、CD−ROMドライブ等の外部記憶装置13と、ハードディスク等の内部記憶装置14とを備えており、CD−ROM等の本発明の記録媒体2から本発明のコンピュータプログラム20を外部記憶装置13にて読み取り、読み取ったコンピュータプログラム20を内部記憶装置14に記憶し、RAM12にコンピュータプログラム20をロードし、CPU11はコンピュータプログラム20に基づいてデータ予測装置1に必要な処理を実行する。データ予測装置1は、また、キーボード又はマウス等の入力装置15と、液晶ディスプレイ又はCRTディスプレイ等の出力装置16とを備えており、必要な情報を出力装置16にて出力し、データの入力を初めとするオペレータからの操作を入力装置15にて受け付ける構成となっている。
【0022】
なお、データ予測装置1は、図示しない通信インタフェースを備え、通信インタフェースに接続されている図示しない外部のサーバ装置から本発明に係るコンピュータプログラム20をダウンロードし、CPU11にて処理を実行する形態であってもよい。
【0023】
内部記憶装置14は、入力装置15又は外部記憶装置13等から入力された、N個のデータからなる原時系列データを記憶している。
【0024】
図2は、本発明のデータ予測装置1が行う処理の手順を示すフローチャートである。データ予測装置1のCPU11は、まず内部記憶装置14から原時系列データを読み込み(S1)、この時系列データのn項移動平均値を計算する(S2)。このnの値は、予め内部記憶装置14に記憶させておいた値であってもよいし、データ予測を行う度に入力装置15から受け付けた値であってもよい。
次に、nが偶数の場合、1回の移動平均では原時系列データの単位期間に対応するデータが得られないため、CPU11は、もう一度隣接する値同士を平均して隣接項平均値を計算し、それを原時系列データの各項に対応させる(S3)。nが奇数の場合、S3は行わない。
次に、nが偶数の場合、CPU11は、原時系列データの各項を対応する隣接項平均値で除算して各項の対移動平均比率を計算する(S4)。nが奇数の場合、原時系列データの各項を対応するn項移動平均値で除算して各項の対移動平均比率を計算する(S4)。
次に、CPU11は、各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する(S5)。
次に、CPU11は、全ての期間平均値を平均して全期間平均値を計算する(S6)。
次に、CPU11は、各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する(S7)。
次に、CPU11は、原時系列データの各項を対応する期間指数で除算して調整後時系列データを生成する(S8)。
次に、CPU11は、指数平滑法により、数式1に従って、調整後時系列データの予測値を計算する(S9)。平滑化定数αの値は、入力手段から受け付けた任意の値を用いてもよいが、数式2によって計算される値を用いることが好ましい。
次に、CPU11は、調整後時系列データの予測値に期間指数を乗じて原時系列データの予測値を計算する(S10)。
以上のステップによって、原時系列データに対する予測値が求まり、データ予測装置1による処理が完了する。
【0025】
次に、実際の販売データを用いて、本発明のデータ予測装置1による予測の精度を検証した。検証のためのデータとして、非特許文献4に記載された販売データを用いた。このデータは、図3に示すように、1986年1月から1990年12月までの1月ごとの販売数量データである。この検証では、1986年1月から1989年12月までのデータを用いて、1990年1月から12月の販売数量を予測し、この予測値と、1990年1月から12月の実際の販売データとの間の予測誤差分散を算出し、その大きさによって、予測の精度を検証した。予測誤差分散の値が小さいほど、実際の販売数量との乖離が小さく、予測の精度が高いことを意味する。
【0026】
予測誤差分散Sは、以下の式によって計算することができる。
【数5】

(但し、mは、予測値の個数(本検証では12個)であり、Δxiは、数式6に示すように、各予測値x^iと実際の値xiとの差であり、バーΔxは、数式7に示すように、Δxiの平均である。
【数6】

【数7】

【0027】
本検証では、本発明のデータ予測装置による予測値の予測誤差分散と、従来の指数平滑法のみによる予測値の予測誤差分散と、予測精度が高いと認識されているARIMAモデルによる予測値の予測誤差分散とを比較した。なお、ARIMAモデルの詳細は、非特許文献3に記載されている。本発明のデータ予測装置による予測では、図2のフローチャートのS2において、4項、6項、8項移動平均値を計算させ、それぞれについて、予測値を計算させた。
【0028】
本発明のデータ予測装置にS7までのステップを実行させ、得られた結果を表3に示す。本検証では、単位期間は、1月とした。
【表3】

【0029】
次に、表3に示す値を用いて、本発明のデータ予測装置に調整後時系列データを生成させた(図2のS8)。
【0030】
次に、本発明のデータ予測装置に調整後時系列データの予測値を計算させた(図2のS9)。ここでは、平滑化定数αには、数式2によって計算される値を用いた。本検証で予測を行う1990年1月から12月の各月について、平滑化定数αの値を計算し、その平均値を用いて調整後予測値を計算させた。その結果を表4に示す。なお、平滑化定数αを求めるのに必要な自己相関係数ρ1の値も併せて示す。また、比較のために、指数平滑法のみによって予測値を求めるために、原時系列データに対して計算した平滑化定数α及び自己相関係数ρ1の値も併せて示す。
【表4】

【0031】
次に、本発明のデータ予測装置に原時系列データの予測値を計算させた(図2のS10)。原時系列データの予測値は、調製後予測値に対応する期間指数(表3)を乗じることによって計算させた。その結果を表5に示す。表5中の「4項、6項、8項・予測値」は、それぞれ、図2のS2において、4項、6項、8項移動平均値を計算したものを示す。また、表5には、指数平滑法のみによって求めた予測値と以下に示すARIMAモデルによって求めた予測値も併せて示す。
【表5】

【0032】
次に、ARIMAモデルによる予測について説明する。本検証ではTSP(Time Series Processor)という統計ソフトウェア(TSP International社製)を用いて予測を行った。ARIMAモデルにおける次数を (0,1,1)(0,1,2)(1,1,0)(1,1,1)(1,1,2)(2,1,0)(2,1,1)(2,1,2)の8通りに設定し、TSPを用いてLog Lの計算を行った。この結果出力されたLog L(Log of Likelihood Function)を用いてAICを求めた。ここで、最も小さいAICの値を持つものが最適モデルとなる。AICは、以下の式によって求めた。
【数8】

(但し、Nは、予測に用いる時系列データのデータ数(本検証では48個)を示し、p,d,qは、ARIMAモデルの次数であり、pは、AR部の次数を示し、dは、和分部の次数を示し、qは、MA部の次数を示す。)
【0033】
実際に計算したAICの値を表6に示す。
【表6】

【0034】
表6より、次数(0,1,1)におけるARIMAモデルが最も適合度が高いことがわかる。そこで、ARIMA(0,1,1)を用いて指数平滑の場合と同様に1990年1月〜12月までの予測を行った。その結果は、上述の通り、表5に示した。
【0035】
次に、それぞれに予測値について、数式5に従って予測誤差分散を計算した。その結果を表7に示す。
【0036】
【表7】

【0037】
表7より、指数平滑法のみによる予測よりも対移動平均比率法を組み合わせた本発明のデータ予測装置による予測の方が、圧倒的に誤差が小さく精度が良いこと、また、本発明のデータ予測装置による予測は、ARIMAモデルによる予測よりも優れていることが示された。また、本発明のデータ予測装置による予測の中でも対移動平均の項数が多いほど誤差が小さいことが分かる。これは、項数を多くすることにより、移動平均がより滑らかな値となり、その分、周期変動をより適切に反映した期間指数が計算され、周期変動の除去がより十分にできたためと考えられる。
【図面の簡単な説明】
【0038】
【図1】本発明のデータ予測装置の構成を示すブロック図である。
【図2】本発明のデータ予測装置が行う処理の手順を示すフローチャートである。
【図3】本発明のデータ予測装置による予測の精度の検証に用いた販売データを示すグラフである。
【符号の説明】
【0039】
1:データ予測装置 2:記録媒体 20:コンピュータプログラム

【特許請求の範囲】
【請求項1】
複数個の単位期間毎に周期変動する原時系列データを記憶する手段と、
対移動平均比率法により、各単位期間の期間指数を計算し、原時系列データの各項を対応する期間指数で除算して調整後時系列データを生成する手段と、
指数平滑法により調整後時系列データの予測値を計算する手段と、
前記予測値に期間指数を乗じて原時系列データの予測値を計算する手段を備えることを特徴とするデータ予測装置。
【請求項2】
調整後時系列データを生成する手段は、
原時系列データのn項(nは偶数)移動平均値を計算する手段と、
隣接するn項移動平均値を平均して隣接項平均値を求める手段と、
原時系列データの各項を対応する隣接項平均値で除算して各項ごとの対移動平均比率を計算する手段と、
各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する手段と、
全ての期間平均値を平均して全期間平均値を計算する手段と、
各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する手段と、
原時系列データの各項を対応する期間指数で除算する手段を備えることを特徴とする請求項1に記載の装置。
【請求項3】
調整後時系列データを生成する手段は、
原時系列データのn項(nは奇数)移動平均値を計算する手段と、
原時系列データの各項を対応するn項移動平均値で除算して各項ごとの対移動平均比率を計算する手段と、
各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する手段と、
全ての期間平均値を平均して全期間平均値を計算する手段と、
各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する手段と、
原時系列データの各項を対応する期間指数で除算する手段を備えることを特徴とする請求項1に記載の装置。
【請求項4】
原時系列データは、商品の販売数量を表す時系列データであることを特徴とする請求項1に記載の装置。
【請求項5】
原時系列データは、1日、1週又は1年周期で変動する時系列データであることを特徴とする請求項1に記載の装置。
【請求項6】
指数平滑法の平滑化定数αは、
【数1】

(ただし、1次遅れの自己相関係数ρ1は、
【数2】

であり、1次遅れ、0次の自己相関関数R1,R0は、
【数3】

であり、Nは、調整後時系列データFtの項数である。)
であることを特徴とする請求項1に記載の装置。
【請求項7】
コンピュータを、
複数個の単位期間毎に周期変動する原時系列データを記憶する手段と、
対移動平均比率法により、各単位期間の期間指数を計算し、原時系列データの各項を対応する期間指数で除算して調整後時系列データを生成する手段と、
指数平滑法により調整後時系列データの予測値を計算する手段と、
前記予測値に期間指数を乗じて原時系列データの予測値を計算する手段として機能させることを特徴とするデータ予測プログラム。
【請求項8】
調整後時系列データを生成する手段は、
原時系列データのn項(nは偶数)移動平均値を計算する手段と、
隣接するn項移動平均値を平均して隣接項平均値を求める手段と、
原時系列データの各項を対応する隣接項平均値で除算して各項ごとの対移動平均比率を計算する手段と、
各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する手段と、
全ての期間平均値を平均して全期間平均値を計算する手段と、
各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する手段と、
原時系列データの各項を対応する期間指数で除算する手段を備えることを特徴とする請求項7に記載のプログラム。
【請求項9】
調整後時系列データを生成する手段は、
原時系列データのn項(nは奇数)移動平均値を計算する手段と、
原時系列データの各項を対応するn項移動平均値で除算して各項ごとの対移動平均比率を計算する手段と、
各周期の対応する単位期間の対移動平均比率を平均して単位期間毎に期間平均値を計算する手段と、
全ての期間平均値を平均して全期間平均値を計算する手段と、
各期間平均値を全期間平均値で除算して各単位期間の期間指数を計算する手段と、
原時系列データの各項を対応する期間指数で除算する手段を備えることを特徴とする請求項7に記載のプログラム。
【請求項10】
原時系列データは、商品の販売数量を表す時系列データであることを特徴とする請求項7に記載のプログラム。
【請求項11】
原時系列データは、1日、1週又は1年周期で変動する時系列データであることを特徴とする請求項7に記載のプログラム。
【請求項12】
指数平滑法の平滑化定数αは、
【数4】

(ただし、1次遅れの自己相関係数ρ1は、
【数5】

であり、1次遅れ、0次の自己相関関数R1,R0は、
【数6】

であり、Nは、調整後時系列データFtの項数である。)
であることを特徴とする請求項7に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2006−331312(P2006−331312A)
【公開日】平成18年12月7日(2006.12.7)
【国際特許分類】
【出願番号】特願2005−157634(P2005−157634)
【出願日】平成17年5月30日(2005.5.30)
【出願人】(505127721)公立大学法人大阪府立大学 (688)
【Fターム(参考)】