IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許7167767需要予測装置、需要予測方法及びプログラム
<>
  • 特許-需要予測装置、需要予測方法及びプログラム 図1
  • 特許-需要予測装置、需要予測方法及びプログラム 図2
  • 特許-需要予測装置、需要予測方法及びプログラム 図3
  • 特許-需要予測装置、需要予測方法及びプログラム 図4
  • 特許-需要予測装置、需要予測方法及びプログラム 図5
  • 特許-需要予測装置、需要予測方法及びプログラム 図6
  • 特許-需要予測装置、需要予測方法及びプログラム 図7
  • 特許-需要予測装置、需要予測方法及びプログラム 図8
  • 特許-需要予測装置、需要予測方法及びプログラム 図9
  • 特許-需要予測装置、需要予測方法及びプログラム 図10
  • 特許-需要予測装置、需要予測方法及びプログラム 図11
  • 特許-需要予測装置、需要予測方法及びプログラム 図12
  • 特許-需要予測装置、需要予測方法及びプログラム 図13
  • 特許-需要予測装置、需要予測方法及びプログラム 図14
  • 特許-需要予測装置、需要予測方法及びプログラム 図15
  • 特許-需要予測装置、需要予測方法及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】需要予測装置、需要予測方法及びプログラム
(51)【国際特許分類】
   H04L 12/28 20060101AFI20221101BHJP
   G06Q 30/02 20120101ALI20221101BHJP
【FI】
H04L12/28 200B
G06Q30/02 310
【請求項の数】 7
(21)【出願番号】P 2019031254
(22)【出願日】2019-02-25
(65)【公開番号】P2020135688
(43)【公開日】2020-08-31
【審査請求日】2021-05-28
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】石塚 美加
(72)【発明者】
【氏名】金子 康晴
(72)【発明者】
【氏名】安川 正祥
【審査官】安藤 一道
(56)【参考文献】
【文献】特開2017-220840(JP,A)
【文献】特開2000-250888(JP,A)
【文献】国際公開第2016/178376(WO,A1)
【文献】奥田 兼三、他4名,ネットワークリソースの最適設計・制御技術,NTT技術ジャーナル 第31巻 第4号,日本,一般社団法人電気通信協会,2019年04月01日,第31巻、第4号,pp.24-25
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
G06Q 30/02
(57)【特許請求の範囲】
【請求項1】
ネットワークの特定の利用に関する設計履歴データから構成される需要の履歴データから、第1の期間の一部の期間である第2の期間における前記需要の変化を取得する第1の取得部と、
前記第1の期間のうち前記第2の期間を除く複数の期間であって、それぞれ長さの異なる第3の期間ごとに、当該第3の期間における前記需要の変化を取得する第2の取得部と、
複数のトレンドパターンと前記第3の期間との組み合わせごとに、前記第1の期間の或る時点におけるトレンドパターンの値と前記需要とが等しくなるように、前記トレンドパターンのパラメータを特定する第1の特定部と、
パラメータが特定された前記組み合わせごとのトレンドパターンごとに、前記第2の期間における前記需要の変化との適合性を評価し、前記適合性の評価が最高であるトレンドパターンと同じ前記第3の期間との組み合わせである前記複数のトレンドパターンの中で、前記第1の期間における最後の前記需要の発生時点より後の或る時点における値が上位からN番目のトレンドパターンと下位からN番目のトレンドパターンを選択する選択部と、
を有することを特徴とする需要予測装置。
【請求項2】
前記組み合わせごとのトレンドパターンのうち、前記適合性の評価が最高である第1のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記第1のトレンドパターンの組み合わせに係る前記第3の期間と前記第2の期間とにおける単位期間の中で、前記需要の増分が最大となる第1の単位期間の開始時より後の第4の期間を前記第1の期間から除去し、前記第1の取得部、前記第2の取得部、前記第1の特定部、及び前記選択部が前記第4の期間が除かれた前記第1の期間に関してそれぞれの処理を再実行した後に、前記選択部によって選択されたトレンドパターンごとに、前記第1の単位期間の開始時における前記需要との差分を求めて当該差分を当該トレンドパターンに加算する第1の除去部、
を有することを特徴とする請求項1記載の需要予測装置。
【請求項3】
前記第1のトレンドパターンに対して前記差分が加算された第2のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記需要の変化のトレンドが変化した時点を特定して当該時点より前の第5の期間を、前記第4の期間が除去される前の前記第1の期間から除去する第2の除去部を有し、
前記第1の取得部、前記第2の取得部、前記第1の特定部、及び前記選択部は、前記第5の期間が除かれた前記第1の期間に関してそれぞれの処理を再実行する、
ことを特徴とする請求項2記載の需要予測装置。
【請求項4】
ネットワークの特定の利用に関する設計履歴データから構成される需要の履歴データから、第1の期間の一部の期間である第2の期間における前記需要の変化を取得する第1の取得手順と、
前記第1の期間のうち前記第2の期間を除く複数の期間であって、それぞれ長さの異なる第3の期間ごとに、当該第3の期間における前記需要の変化を取得する第2の取得手順と、
複数のトレンドパターンと前記第3の期間との組み合わせごとに、前記第1の期間の或る時点におけるトレンドパターンの値と前記需要とが等しくなるように、前記トレンドパターンのパラメータを特定する第1の特定手順と、
パラメータが特定された前記組み合わせごとのトレンドパターンごとに、前記第2の期間における前記需要の変化との適合性を評価し、前記適合性の評価が最高であるトレンドパターンと同じ前記第3の期間との組み合わせである前記複数のトレンドパターンの中で、前記第1の期間における最後の前記需要の発生時点より後の或る時点における値が上位からN番目のトレンドパターンと下位からN番目のトレンドパターンを選択する選択手順と、
をコンピュータが実行することを特徴とする需要予測方法。
【請求項5】
前記組み合わせごとのトレンドパターンのうち、前記適合性の評価が最高である第1のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記第1のトレンドパターンの組み合わせに係る前記第3の期間と前記第2の期間とにおける単位期間の中で、前記需要の増分が最大となる第1の単位期間の開始時より後の第4の期間を前記第1の期間から除去し、前記第1の取得手順、前記第2の取得手順、前記第1の特定手順、及び前記選択手順を前記第4の期間が除かれた前記第1の期間に関して再実行した後に、前記選択手順によって選択されたトレンドパターンごとに、前記第1の単位期間の開始時における前記需要との差分を求めて当該差分を当該トレンドパターンに加算する第1の除去手順、
を前記コンピュータが実行することを特徴とする請求項4記載の需要予測方法。
【請求項6】
前記第1のトレンドパターンに対して前記差分が加算された第2のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記需要の変化のトレンドが変化した時点を特定して当該時点より前の第5の期間を、前記第4の期間が除去される前の前記第1の期間から除去する第2の除去手順を前記コンピュータが実行し、
前記第1の取得手順、前記第2の取得手順、前記第1の特定手順、及び前記選択手順を、前記第5の期間が除かれた前記第1の期間に関して再実行する、
ことを特徴とする請求項5記載の需要予測方法。
【請求項7】
請求項4乃至6いずれか一項記載の需要予測方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、需要予測装置、需要予測方法及びプログラムに関する。
【背景技術】
【0002】
ネットワーク上のパス等の需要予測では、予測の用途に応じて、最も適合度の高いトレンドの予測線ではなく、下振れのトレンドが求められる場合(ネットワークトポロジの検討で利用する場合等)、上振れのトレンドが求められる場合(ネットワークのインフラ設備の在庫管理で利用する在庫する場合等)がある。なお、パスとは、始点ノード及び終点ノードと、必要帯域又はインタフェース種別等が指定された、ネットワークの利用要求をいう。
【先行技術文献】
【非特許文献】
【0003】
【文献】回帰分析、[online]、インターネット<https://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90>
【文献】巣籠(著)、詳解ディープラーニング TensorFlow, Kerasによる時系列データ処理、マイナビ出版(2017)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術の組合せでは、上記の状況を踏まえた需要予測を行うことが困難である。例えば、非特許文献1及び2は、需要に関して幅(最適、上振れ、下振れ等)の有る予測には対応していない。
【0005】
本発明は、上記の点に鑑みてなされたものであって、需要に関して幅の有る予測を可能とすることを目的とする。
【課題を解決するための手段】
【0006】
そこで上記課題を解決するため、需要予測装置は、ネットワークの特定の利用に関する設計履歴データから構成される需要の履歴データから、第1の期間の一部の期間である第2の期間における前記需要の変化を取得する第1の取得部と、前記第1の期間のうち前記第2の期間を除く複数の期間であって、それぞれ長さの異なる第3の期間ごとに、当該第3の期間における前記需要の変化を取得する第2の取得部と、複数のトレンドパターンと前記第3の期間との組み合わせごとに、前記第1の期間の或る時点におけるトレンドパターンの値と前記需要とが等しくなるように、前記トレンドパターンのパラメータを特定する第1の特定部と、パラメータが特定された前記組み合わせごとのトレンドパターンごとに、前記第2の期間における前記需要の変化との適合性を評価し、前記適合性の評価が最高であるトレンドパターンと同じ前記第3の期間との組み合わせである前記複数のトレンドパターンの中で、前記第1の期間における最後の前記需要の発生時点より後の或る時点における値が上位からN番目のトレンドパターンと下位からN番目のトレンドパターンを選択する選択部と、を有する。

【発明の効果】
【0007】
需要に関して幅の有る予測を可能とすることができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態における需要予測装置10のハードウェア構成例を示す図である。
図2】本発明の実施の形態における需要予測装置10の機能構成例を示す図である。
図3】設計履歴データの構成例を示す図である。
図4】需要記憶部13の構成例を示す図である。
図5】パスの需要のトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。
図6】対象予測単位の需要のトレンドの予測を説明するための図である。
図7】適合性の評価に関する方法1を説明するための図である。
図8】適合性の評価に関する方法2における[τ-T-Δmax+1,τ-T]の相対誤差の時系列データと[τ-T+1,τ]の相対誤差(誤差/実需)の関係の学習を説明するための図である。
図9】適合性の評価に関する方法2'を説明するための図である。
図10】突発需要の影響を除去したトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。
図11】各単位期間の需要増分を説明するための図である。
図12】最適予測(offset処理後)、上振れ予測(offset処理後)、及び下振れ予測(offset処理後)の一例を示す図である。
図13】トレンドの変化への対処処理の処理手順の一例を説明するためのフローチャートである。
図14】トレンド変化が発生した時点の第1の特定方法を説明するための図(その1)である。
図15】トレンド変化が発生した時点の第1の特定方法を説明するための図(その2)である。
図16】トレンド変化が発生した時点の第2の特定方法を説明するための図である。
【発明を実施するための形態】
【0009】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における需要予測装置10のハードウェア構成例を示す図である。図1の需要予測装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有するコンピュータである。
【0010】
需要予測装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0011】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って需要予測装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0012】
図2は、本発明の実施の形態における需要予測装置10の機能構成例を示す図である。図2において、需要予測装置10は、需要抽出部11及び需要予測部12を有する。これら各部は、需要予測装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。需要予測装置10は、また、需要記憶部13を利用する。需要記憶部13は、例えば、補助記憶装置102、又は需要予測装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【0013】
需要抽出部11は、パスに関する設計履歴データの入力を受け付ける。パスとは、始点ノード及び終点ノードと、必要帯域又はインタフェース種別等が指定された、ネットワークの利用要求をいう。
【0014】
図3は、設計履歴データの構成例を示す図である。図3に示されるように、設計履歴データは、例えば、開設が要求されたパスごとに、始点、終点、開通日、廃止日、属性等を含む。始点は、ネットワーク上において、当該パスの始点となるノードの識別子である。終点は、当該パスの終点となるノードの識別子である。開通日は、当該パスが開通した日付(又は日時)である。廃止日は、当該パスが廃止された日付(又は日時)である。属性は、当該パスに関する属性である。図3では、システム名、帯域及びIF(インタフェース)種別及等が属性を構成する項目の一例として示されている。システム名は、パスを収容するシステムの名前である。IF種別は、パスが利用するインタフェースの種別である。帯域は、パスに対して要求されている帯域である。
【0015】
需要抽出部11は、設計履歴データ群を対地(始点及び終点の組み)ごと、かつ、属性の組み合わせごとに集計し、集計結果を需要記憶部13に記憶する。
【0016】
図4は、需要記憶部13の構成例を示す図である。図4には、対地ごと、かつ、属性別に、各設計種別(新設、廃止)の一ヶ月単位の需要の累計が集計される例が示されている。
【0017】
具体的には、テーブルT1には、始点がAであり、終点がBである設計履歴データの集合について、属性1及び属性2の2種類の属性の組み合わせ別に、新設の需要の累計の1ヶ月ごとの集計結果と、廃止の需要の累計の1ヶ月ごとの集計結果とが示されている。同様に、テーブルT2には、始点がAであり、終点がCである設計履歴データの集合について、属性1及び属性2の2種類の属性の組み合わせ別に、新設の需要の累計の集計結果と、廃止の需要の累計の集計結果とが示されている。
【0018】
ここで、属性1、属性2は、システム名、IF種別、又はシステム名及びIF種別の組み合わせによって区別される単位である。新設は、開通日に対応し、廃止は、廃止日に対応する。
【0019】
したがって、例えば、テーブルT1の1番目のレコードの属性1の新設の列は、始点がAであり、終点がBである設計履歴データの集合のうち、属性の値が属性1に該当し、かつ、2005/10以前が開通月である設計履歴データの集合に基づく需要の集計結果を示す。ここで、需要の集計結果の値は、該当する設計履歴データの数であってもよいし、該当する設計履歴データの帯域の合計値であってもよい。また、例えば、テーブルT1の1番目のレコードの属性1の廃止の列は、始点がAであり、終点がBである設計履歴データの集合のうち、属性の値が属性1に該当し、かつ、2005/10以前が廃止月である設計履歴データの集合に基づく需要の集計結果を示す。
【0020】
需要予測部12は、需要記憶部13に記憶されたデータを用いて、図4の各テーブルの列ごと(すなわち、対地ごと、かつ、属性別の新設又は廃止ごと(以下、「予測単位」という。))に、パスの需要のトレンドを予測する。図2において、需要予測部12は、教師データ取得部121、学習データ取得部122、パラメータ特定部123、選択部124、突発需要除去部125及びトレンド変化対処部126等を含む。
【0021】
以下、需要予測部12が実行する処理手順について説明する。図5は、パスの需要のトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。図5の処理手順は、予測単位ごとに実行される。以下、処理対象とされている予測単位を「対象予測単位」という。なお、本実施の形態では、対象予測単位は、或る対地間の或る属性の新設に関するデータであるとする。
【0022】
ステップS101において、需要予測部12は、対象予測単位の最終需要発生時刻tnを予測元最終時刻tに代入(最終需要発生時刻tnによって予測元最終時刻tを初期化)する。
【0023】
図6は、対象予測単位の需要のトレンドの予測を説明するための図である。図6のグラフにおいて、横軸は時間であり、縦軸は需要である。したがって、曲線L1は、対象予測単位の時系列データ(1ヶ月ごとの需要の累計の集計結果)を示す。ここで、最終需要発生時刻tnとは、曲線L1の終点に対応する時刻、すなわち、対象予測単位についての、最後の設計履歴データの開通月(需要の集計期間に従う)である。なお、予測元最終時刻tは、需要のトレンドの予測に利用される対象予測単位の時系列データの最終時刻を示す。ここでは、予測元最終時刻tが最終需要発生時刻tnによって初期化される例を示したが、tnより前の時点によって予測元最終時刻tが初期化されるようにしてもよい。
【0024】
なお、本実施の形態では、対象予測単位の時系列データのうち、需要がはじめて0より大きくなる時点以降の期間(以下、「予測元期間」という。)の時系列データが予測の元になるデータとして利用される。したがって、予測元期間の時系列データが、図6の曲線L1として示されている。
【0025】
続いて、教師データ取得部121は、予測元期間の一部の期間である[t-T+1,t](教師データ期間)の時系列データ(需要の変化)を、教師データとして取得する(S102)。ここで、Tは、ユーザによって予め設定されるパラメータであり、予測したい期間の長さ(例えば、2年等)を示す。また、[t-T+1,t]における「+1」は、本実施の形態においては1ヶ月である。本実施の形態では、図3に示したように、一ヶ月単位で需要が集計されているからである。すなわち、「+1」の単位は、需要の集計期間に従う。なお、教師データ期間は、[t-T+1,t]に限られない。例えば、α分前にずれた[t-α-T+1,t-α]のデータが教師データとして取得されてもよい。すなわち、教師データ期間の終点は、tに一致していなくてもよい。
【0026】
続いて、学習データ取得部122は、予測元期間のうち教師データ期間を除く期間における、[t-T-Δi+1,t-T]の複数の期間の時系列データ(需要の変化)を、学習データとして取得する(S103)。ここで、Δi(i=1,…,I)は、ユーザによって予め設定されるパラメータであり、各Δiは、それぞれ相互に長さ(期間)が異なる。図6では、I=4の例が示されている。したがって、この場合、4つの学習データが取得される。Δiの長さの最大値、(図6ではΔ4の長さ)は、パスが配置されるネットワークシステムのシステム情報、例えば、1世代前のネットワークシステムがサービスを開始した時期等に基づいて決定されてもよい(例えば、6年等)。Δiの最小値(図6では、Δ1の長さ)は、予測したい期間の長さ(T)に基づいてユーザが決める(例えば、Tと同じ長さ)。
【0027】
なお、予測元期間のデータ数(予測元期間の月数)がT+Δiの最小値に満たない場合(需要がはじめて0より大きくなる時点がt-T-Δiの最小値+1より小さい場合)は、T、Δiを更に小さな値を設定すればよい(例えば、一律1/n)。
【0028】
続いて、パラメータ特定部123は、予めユーザによって準備された複数のトレンドパターン(Pj)×学習データ期間Δiの組み合わせごとに、各Pjのパラメータを最適化手法により求める(S104)。ここで、トレンドパターン(Pj)は、例えば、線形関数、シグモイド関数、ソフトプラス関数、ソフトサイン関数、指数関数である。この場合、j=1,・・・,5である。すなわち、P1=線形関数、P2=シグモイド関数、P3=ソフトプラス関数、P4=ソフトサイン関数、P5=指数関数である。したがって、I=4であれば、トレンドパターン(Pj)×学習データ期間Δiの組み合わせの数は、5×4=20である。なお、これらの関数については、例えば、「https://ja.wikipedia.org/wiki/%E6%B4%BB%E6%80%A7%E5%8C%96%E9%96%A2%E6%95%B0」に詳しい。
【0029】
ステップS104において、パラメータ特定部123は、トレンドパターン(Pj)×学習データ期間Δiの組み合わせごとに、予測元最終時刻tに対応する予測値(トレンドパターンに基づく値)と、予測元最終時刻tに対応する需要d(t)とが等しくなるように、各トレンドパターン(Pj)のパラメータの値を調整して求める。但し、予測元期間内であれば、予測元最終時刻t以外のタイミングt'での予測値と需要d(t')とが等しくなるようにパラメータの値が調整されてもよい。
【0030】
具体的には、学習データ期間Δiにおける、需要をd(x),x=[t-T-Δi+1,t-T]とする。トレンドパターン(Pj)が出力する需要の変化をp(x),x=[t-T-Δi+1,t-T]とする。パラメータ特定部123は、この場合において、Σ(p(x)-d(x))が最も小さくなるトレンドパターンのパラメータの値を最適化手法(勾配法等)により求める。求めるパラメータは、例えば、以下の通りである(予測元最終時刻tに対応する需要d(t)とが等しくなるように、各トレンドパターン(Pj)のパラメータの値を調整する場合の例)。xは時刻を表す。
【0031】
線形関数であるPjのパラメータは、以下の式におけるaである。
p(x)=d(t)-(a×(t-x))
指数関数であるPjのパラメータは、以下の式におけるa,bである。
p(x)=b×a+d(t)-(b×a
ソフトプラス関数であるPjのパラメータは、以下の式におけるaである。
p(x)=a×log(1+exp(x))+(d(t)-a×log(1+exp(t)))
ソフトサイン関数であるPjのパラメータは、以下の式におけるa,bである。
p(x)=a×x/(1+b×|x|)+d(t)-a×t/(1+b×|t|))
シグモイド関数であるPjのパラメータは、以下の式におけるa,b,cである。
p(x)=a/(1+b×exp(-c×x))+d(t)-a/(1+b×exp(-c×t))
続いて、選択部124は、パラメータの値が特定されたトレンドパターン(Pj)×学習データ期間Δiの各組み合わせについて、教師データとの適合性を評価し、評価結果に基づいて、教師データに対して適合性の評価が最高である組み合わせを最適予測(最適トレンドパターンPopt、最適学習データ期間Δopt)として選択する(S105)。適合性の評価方法としては、以下の方法1、方法2、方法2'の3つの方法が一例として挙げられる。
【0032】
[方法1]
[t-T+1,t]の相対誤差(誤差/実需)の二乗和を評価尺度とし、当該二乗和を最小化するトレンドパターン(Pj)、学習データ期間Δiを最適予測(最適トレンドパターンPopt、最適学習データ期間Δopt)として選択する。
【0033】
図7は、適合性の評価に関する方法1を説明するための図である。図7には、便宜上、全組み合わせのうち、学習データ期間Δ1と3つのPjとの組み合わせと、学習データ期間Δ2と3つのPjとの組み合わせとの評価尺度が示されている。
【0034】
[方法2]
τ(τ>0、かつ、τ-T-Δmax+1>0)(Δmaxは、Δiの最大値)をパラメータにして、[τ-T-Δmax+1,τ-T]の相対誤差の時系列データと[τ-T+1,τ]の相対誤差(誤差/実需)との関係を、トレンドパターン(Pj)と学習データ期間Δiの組み合わせごとに事前に機械学習(DNN(Deep Neural Network)等)により学習しておく。学習済みのモデルを使い、トレンドパターン(Pj)と学習データ期間Δiの組み合わせごとに、[t-T-Δmax+1,t-T]の相対誤差の時系列データから評価尺度([t-T+1,t]における相対誤差の統計値(例えば、平均))を予測し、評価尺度の予測値が最も良くなる(小さくなる)予測を最適予測(最適トレンドパターンPopt、最適学習データ期間Δopt)として選択する。
【0035】
図8は、適合性の評価に関する方法2における[τ-T-Δmax+1,τ-T]の相対誤差の時系列データと[τ-T+1,τ]の相対誤差(誤差/実需)の関係の学習を説明するための図である。図8には、便宜上、全組み合わせのうち、学習データ期間Δ1と3つのPjとの組み合わせと、学習データ期間Δ2と3つのPjとの組み合わせとの評価尺度が示されている。
【0036】
[方法2']
τをパラメータにして、[τ-T-Δmax+1,τ-T]の時系列パターンと[τ-T+1,τ]の相対誤差(誤差/実需)との関係を事前に機械学習(DNN等)により学習しておく。学習済みのモデルを使い、[t-T-Δmax+1,t-T]の時系列パターンから、トレンドパターン(Pj)×学習データ期間Δiの評価尺度([t-T+1,t]における相対誤差の統計値(例えば、平均))の予測値を算出し、評価尺度の予測値が最も良くなる(小さくなる)予測を最適予測(最適トレンドパターンPopt、最適学習データ期間Δopt)として選択する。
【0037】
図9は、適合性の評価に関する方法2'を説明するための図である。図9には、便宜上、全組み合わせのうち、3つのPjに係る組み合わせの評価尺度が示されている。
【0038】
続いて、選択部124は、最適学習データ期間Δoptに対するトレンドパターン(Pj)(本実施の形態では、5つのPj)の中で、t+T時点で最も大きな予測値を示すPjを上振れ予測に利用するPjとして選択し、最も小さな予測値を示すPjを下振れ予測に利用するPjとして選択する(S106)。なお、図6には、最適学習データ期間Δoptに対する5つのトレンドパターンPjが破線で示されている。また、この中で、ステップS105において最適予測として選択されるトレンドパターン(Pj)、ステップS106において上振れ予測、下振れ予測として選択されるトレンドパターン(Pj)が示されている。なお、予測の用途に応じて、N番目の上振れ予測、N番目の下振れ予測等が選択されてもよい。すなわち、複数のトレンドパターンの中から選択される一部のトレンドパターンは、予測の用途に応じて変えられてもよい。
【0039】
以上により、需要に関して幅の有る予測を可能とすることができる。
【0040】
続いて、突発需要(マイグレーション(例えば、新しいシステムへのパスの移行)、装置設置ビルの変更等、ネットワーク事業者の都合により発生する需要)の影響を除去したい場合に、ステップS107以降が実行されてもよい。
【0041】
ステップS107において、突発需要除去部125は、ステップS105において選択された最適予測の最適トレンドパターンPoptについて、[t-T+1,t]における実際の需要の変化に対する予測誤差の統計値を計算し、計算結果を変数Xに代入する。予測誤差の統計値の計算方法は、例えば、以下の通りである。
【0042】
最適学習データ期間Δoptに対して最適トレンドパターンPoptを適合させた[t-T+1,t]の予測値(Popt_Δopt(x),x=x-T+1,…,t)、実際の需要d(x)に対して、以下のように計算する。
Σ|d(x)-Popt_Δopt(x)|/d(x),x=t-T+1,…,t
続いて、突発需要除去部125は、Xが予め設定された許容予測誤差ε以上であるか否かを判定する(S108)。すなわち、ステップS105において選択された最適予測の最適トレンドパターンPoptと実際の需要の変化との比較結果が所定の条件(Xが許容誤差ε未満であるという条件)を満たすか否かが判定される。
【0043】
Xがε未満である場合(S108でNo)、需要予測部12の処理は終了する。この場合、需要予測部12は、既に選択されている最適予測、上振れ予測及び下振れ予測を、予測の利用対象として出力する(S112)。
【0044】
一方、Xがε以上である場合(S108でYes)、突発需要除去部125は、突発需要の影響を除去したトレンドの予測処理を実行する(S109)。当該予測処理において、トレンドの変化が検知されなかった場合(S110でNo)、需要予測部12は、当該予測処理において選択された最適予測、上振れ予測及び下振れ予測を予測の利用対象として出力する(S112)。
【0045】
一方、突発需要の影響を除去したトレンドの予測処理において、トレンドの変化が検知された場合(S110でYes)、トレンド変化対処部126は、トレンドの変化への対処処理を実行して(S111)、ステップS101以降を繰り返す。
【0046】
続いて、ステップS109の詳細について説明する。図10は、突発需要の影響を除去したトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。
【0047】
ステップS201において、突発需要除去部125は、変数iteに対して1を代入する。変数iteは、ステップS202以降の処理の実行回数(突発需要の除去の実行回数)を記憶するための変数である。
【0048】
続いて、突発需要除去部125は、最適学習データ期間[t-T-Δopt+1,t-T]と教師データ期間[t-T+1,t]とにおける各単位期間(1ヶ月ごと)の需要増分c(x)(x=t-T-Δopt+1,…,t-1)を求める(S202)。
【0049】
図11は、各単位期間の需要増分を説明するための図である。図11に示されるように、期間xの終了時刻における需要と開始時刻における需要との差分が、需要増分c(x)とされる。
【0050】
続いて、突発需要除去部125は、需要増分の最大値をとる単位期間の開始時刻を特定し、当該開始時刻をkmaxに代入する(S203)。図11の例では、[t-2,t-1]の単位期間における需要増分c(t-2)が最大である。したがって、当該単位期間の開始時刻であるt-2がkmaxに代入される。
【0051】
続いて、突発需要除去部125は、予測元最終時刻tをkmaxによって更新する(S204)。その結果、需要増分が最大となる単位期間の開始時刻以降(すなわち、突発需要の発生期間)の期間が予測元期間から除外される。
【0052】
続いて、突発需要除去部125は、幅の有るトレンド予測処理を実行する(S205)。幅の有るトレンド予測処理とは、図5において破線で囲まれた処理手順(S102~S106)をいう。この場合、予測元最終時刻tがtnよりも過去方向にずれているため、
教師データ期間及び各学習データ期間もtn-t分だけ過去方向にずれる。このずれに対応する学習データ及び教師データに基づいて、幅の有るトレンド予測処理が実行される。なお、ステップS205の実行によって得られる最適予測、上振れ予測、下振れ予測のそれぞれのトレンドパターン(Pj)を、以下、最適予測(offset処理前)、上振れ予測(offset処理前)、下振れ予測(offset処理前)という。
【0053】
続いて、突発需要除去部125は、最適予測(offset処理前)、上振れ予測(offset処理前)、下振れ予測(offset処理前)のそれぞれについて、最終需要発生時刻tnにおける実際の需要と予測値との差分(実需-予測値)を求める(S206)。なお、最終需要発生時刻tnは、当初から不変の値である。最適予測(offset処理前)に係る当該差分、上振れ予測(offset処理前)に係る当該差分、下振れ予測(offset処理前)に係る当該差分を、以下、offset(最適予測)、offset(上振れ予測)、offset(下振れ予測)という。
【0054】
続いて、突発需要除去部125は、最適予測(offset処理前)、上振れ予測(offset処理前)、下振れ予測(offset処理前)のそれぞれにoffset(最適予測)、offset(上振れ予測)、offset(下振れ予測)を加算した結果を最適予測(offset処理後)、上振れ予測(offset処理後)、下振れ予測(offset処理後)として求める(S207)。図12に、最適予測(offset処理後)、上振れ予測(offset処理後)、及び下振れ予測(offset処理後)の一例を示す。
【0055】
続いて、突発需要除去部125は、最適予測(offset処理後)について、[t-T+1,t]における実際の需要の変化に対する予測誤差の統計値(例えば、平均)を計算し、計算結果を変数Yに代入する(S208)。
【0056】
続いて、突発需要除去部125は、Yが許容予測誤差ε以上であるか否かを判定する(S209)。すなわち、最適予測(offset処理後)と実際の需要の変化との比較結果が所定の条件(Yが許容誤差ε未満であるという条件)を満たすか否かが判定される。
【0057】
Yがε未満である場合(S209でNo)、突発需要除去部125は、最後に求めた最適予測(offset処理後)、上振れ予測(offset処理後)、及び下振れ予測(offset処理後)を予測の利用対象として選択する(S210)。
【0058】
一方、Yがε以上である場合(S209でYes)、突発需要除去部125は、YがXより大きいか否かを判定する(S211)。すなわち、最後に選択した最適予測が、その前に選択した最適予測よりも精度が悪化しているか否かが判定される。YがXより大きい場合(S211でYes)、突発需要除去部125は、Xの計算に利用した最適予測と、当該最適予測に対応する上振れ予測及び下振れ予測を予測の利用対象として選択する(S212)。Xの計算に利用した最適予測とは、最後の最適予測の1回前に求められた最適予測をいう。
【0059】
一方、YがX以下である場合(S211でNo)、突発需要除去部125は、変数iteの値が、max_ite未満であるか否かを判定する(S213)。max_iteは、突発需要の除去回数の上限(すなわち、ステップS202以降の繰り返し回数の上限)を示す。変数iteの値がmax_ite未満である場合(S213でYes)、突発需要除去部125は、変数iteの値に1を加算した結果を変数iteに代入する(S214)。続いて、突発需要除去部125は、変数Xに変数Yの値を代入し(S215)、ステップS202以降を繰り返す。
【0060】
変数iteの値がmax_ite以上になると(すなわち、突発需要の影響の除去をしても、予測誤差が十分に小さくならない場合)(S213でNo)、突発需要除去部125は、トレンドの変化を検知する(S216)。この場合、図5のステップS110の判定はNoとなり、ステップS111が実行される。
【0061】
続いて、ステップS111の詳細について説明する。図13は、トレンドの変化への対処処理の処理手順の一例を説明するためのフローチャートである。
【0062】
ステップS301において、トレンド変化対処部126は、トレンドの変化が発生した時点を特定する。トレンドの変化の発生時点の特定方法として、以下の方法1及び方法2が一例として挙げられる。
【0063】
[方法1]
まず、時刻xにおける最適予測の予測誤差の移動平均E[e](x)、予測誤差の標準偏差の移動平均E[σ](x)を以下の方法で計算する。ここで、e(x)は、時刻xにおける実需と最適予測の予測値の差(実需-予測値)である。
(a)E[e](x)=α×E[e](x-1)+(1-α)×e(x)
(b)E[σ](x)=β×E[σ](x-1)+(1-β)×|e(x)-E[e](x)|
x=tn-T+1,…,tnについて、上記(a)、(b)の計算を行う。e(x)が誤差上限(E[e](x)+γE[σ](x))を超えた状態(閾値ごえ)がN回連続して発生した期間の開始時点をトレンドの変化の発生時点として特定する。換言すれば、閾値ごえがN回連続しない場合には、本実施の形態では、突発需要であると判定される。
【0064】
図14及び図15は、トレンド変化が発生した時点の第1の特定方法を説明するための図である。図14及び図15では、α=β=1/4,γ=2,N=3である例を示す。
【0065】
図14の表及びグラフは、トレンドの変化が無い場合(突発需要の場合)の方法1に関する各パラメータの時系列変化等を示す。図15の表及びグラフは、トレンドの変化が発生した場合の方法1に関する各パラメータの時系列変化等を示す。
【0066】
図14の表では、閾値ごえの列において閾値ごえの状態(TRUE)は、時刻=6の1回のみである。したがって、この場合、トレンドの変化は無いと判定される。
【0067】
一方、図15の表では、閾値ごえの列において閾値ごえの状態(TRUE)は、時刻=6~8において3回連続している。したがって、この場合、3回連続した期間の開始時点(時刻=6)が、トレンド変化の発生時点として特定される。
【0068】
[方法2]
[tn-T+1,tn]のデータ(教師データ)について、各単位期間(1ヶ月ごと)の需要増分c(x)(x=tn-T+1,…,tn-1)を求める。需要増分の最大値をとる単位期間の開始時刻kmaxをトレンド変化が発生した時点として特定する。
【0069】
図16は、トレンド変化が発生した時点の第2の特定方法を説明するための図である。図16では、tn-2がトレンド変化の発生時刻として特定された例が示されている。
【0070】
続いて、トレンド変化対処部126は、対象予測単位の時系列データのうち、トレンド変化発生時点よりも前の期間のデータを削除する(S302)。
【0071】
なお、図5に示されるように、ステップS302に続いて、ステップS101以降の再実行が行われる。この場合、ステップS302の作用により、当初の予測元期間(突発需要の期間の除去前の予測元期間)から、トレンド変化発生時点よりも前の期間が除去される。その結果、対象予測単位の時系列データのうち、トレンド変化発生時点以降のデータ数が、T+Δiの最小値にみたない場合には、トレンド変化対処部126は、各Δiを更に小さな値(例えば、一律1/n)として処理を実行すればよい。
【0072】
上述したように、本実施の形態によれば、需要に関して幅の有る予測を可能とすることができる。その結果、例えば、利用者は用途に応じて予測線を選択し、パスの需要に対応したインフラ設備に対する投資計画、ネットワーク計画を実データに基づきに立案することができる。
【0073】
また、トレンドパターンに非線形関数を含めることで、将来需要のトレンドが非線形に増加する場合であっても需要予測の精度を向上させることができる。
【0074】
また、突発需要やトレンド変化が存在する場合であっても、需要予測の精度を向上させることができる。
【0075】
なお、本実施の形態は、パス以外の他の物品又はサービスに関する需要に対して適用されてもよい。
【0076】
なお、本実施の形態において、予測元期間は、第1の期間の一例である。教師データ取得部121は、第1の取得部の一例である。教師データ期間は、第2の期間の一例である。学習データ期間は、第3の期間の一例である。学習データ取得部122は、第2の取得部の一例である。パラメータ特定部123は、第1の特定部の一例である。需要増分が最大となる単位期間の開始時刻以降の期間は、第4の期間の一例である。トレンド変化発生時点よりも前の期間は、第5の期間の一例である。突発需要除去部125は、第1の除去部の一例である。トレンド変化対処部126は、第2の除去部の一例である。最適トレンドパターンPoptは、第1のトレンドパターンの一例である。最適予測(offset処理後)は、第2のトレンドパターンの一例である。
【0077】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0078】
10 需要予測装置
11 需要抽出部
12 需要予測部
13 需要記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 教師データ取得部
122 学習データ取得部
123 パラメータ特定部
124 選択部
125 突発需要除去部
126 トレンド変化対処部
B バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16