(57)【要約】【課題】需要に関して幅の有る予測を可能とすること。【解決手段】需要予測装置は、第１の期間における需要の変化のうち、前記第１の期間の一部の期間である第２の期間における前記需要の変化を取得し、前記第１の期間のうち前記第２の期間を除く複数の期間であって、それぞれ長さの異なる第３の期間ごとに、当該第３の期間における前記需要の変化を取得し、複数のトレンドパターンと前記第３の期間との組み合わせごとに、前記第１の期間の或る時点におけるトレンドパターンの値と前記需要とが等しくなるように、前記トレンドパターンのパラメータを特定し、パラメータが特定された前記組み合わせごとのトレンドパターンごとに、前記第２の期間における前記需要の変化との適合性を評価し、評価結果に基づいて、前記組み合わせごとのトレンドパターンの中から一部のトレンドパターンを選択する。【選択図】図２
2020135688.tif 000002
【特許請求の範囲】
【請求項１】
第１の期間における需要の変化のうち、前記第１の期間の一部の期間である第２の期間における前記需要の変化を取得する第１の取得部と、
前記第１の期間のうち前記第２の期間を除く複数の期間であって、それぞれ長さの異なる第３の期間ごとに、当該第３の期間における前記需要の変化を取得する第２の取得部と、
複数のトレンドパターンと前記第３の期間との組み合わせごとに、前記第１の期間の或る時点におけるトレンドパターンの値と前記需要とが等しくなるように、前記トレンドパターンのパラメータを特定する第１の特定部と、
パラメータが特定された前記組み合わせごとのトレンドパターンごとに、前記第２の期間における前記需要の変化との適合性を評価し、評価結果に基づいて、前記組み合わせごとのトレンドパターンの中から一部のトレンドパターンを選択する選択部と、
を有することを特徴とする需要予測装置。
【請求項２】
前記組み合わせごとのトレンドパターンのうち、前記適合性の評価が最高である第１のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記第１のトレンドパターンの組み合わせに係る前記第３の期間と前記第２の期間とにおける単位期間の中で、前記需要の増分が最大となる第１の単位期間の開始時より後の第４の期間を前記第１の期間から除去し、前記第１の取得部、前記第２の取得部、前記第１の特定部、及び前記選択部が前記第４の期間が除かれた前記第１の期間に関してそれぞれの処理を再実行した後に、前記選択部によって選択されたトレンドパターンごとに、前記第１の単位期間の開始時における前記需要との差分を求めて当該差分を当該トレンドパターンに加算する第１の除去部、
を有することを特徴とする請求項１記載の需要予測装置。
【請求項３】
前記第１のトレンドパターンに対して前記差分が加算された第２のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記需要の変化のトレンドが変化した時点を特定して当該時点より前の第５の期間を、前記第４の期間が除去される前の前記第１の期間から除去する第２の除去部を有し、
前記第１の取得部、前記第２の取得部、前記第１の特定部、及び前記選択部は、前記第５の期間が除かれた前記第１の期間に関してそれぞれの処理を再実行する、
ことを特徴とする請求項２記載の需要予測装置。
【請求項４】
第１の期間における需要の変化のうち、前記第１の期間の一部の期間である第２の期間における前記需要の変化を取得する第１の取得手順と、
前記第１の期間のうち前記第２の期間を除く複数の期間であって、それぞれ長さの異なる第３の期間ごとに、当該第３の期間における前記需要の変化を取得する第２の取得手順と、
複数のトレンドパターンと前記第３の期間との組み合わせごとに、前記第１の期間の或る時点におけるトレンドパターンの値と前記需要とが等しくなるように、前記トレンドパターンのパラメータを特定する第１の特定手順と、
パラメータが特定された前記組み合わせごとのトレンドパターンごとに、前記第２の期間における前記需要の変化との適合性を評価し、評価結果に基づいて、前記組み合わせごとのトレンドパターンの中から一部のトレンドパターンを選択する選択手順と、
をコンピュータが実行することを特徴とする需要予測方法。
【請求項５】
前記組み合わせごとのトレンドパターンのうち、前記適合性の評価が最高である第１のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記第１のトレンドパターンの組み合わせに係る前記第３の期間と前記第２の期間とにおける単位期間の中で、前記需要の増分が最大となる第１の単位期間の開始時より後の第４の期間を前記第１の期間から除去し、前記第１の取得手順、前記第２の取得手順、前記第１の特定手順、及び前記選択手順を前記第４の期間が除かれた前記第１の期間に関して再実行した後に、前記選択手順によって選択されたトレンドパターンごとに、前記第１の単位期間の開始時における前記需要との差分を求めて当該差分を当該トレンドパターンに加算する第１の除去手順、
を前記コンピュータが実行することを特徴とする請求項４記載の需要予測方法。
【請求項６】
前記第１のトレンドパターンに対して前記差分が加算された第２のトレンドパターンを前記需要の変化と比較し、比較結果が所定の条件を満たさない場合に、前記需要の変化のトレンドが変化した時点を特定して当該時点より前の第５の期間を、前記第４の期間が除去される前の前記第１の期間から除去する第２の除去手順を前記コンピュータが実行し、
前記第１の取得手順、前記第２の取得手順、前記第１の特定手順、及び前記選択手順を、前記第５の期間が除かれた前記第１の期間に関して再実行する、
ことを特徴とする請求項５記載の需要予測方法。
【請求項７】
請求項４乃至６いずれか一項記載の需要予測方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、需要予測装置、需要予測方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク上のパス等の需要予測では、予測の用途に応じて、最も適合度の高いトレンドの予測線ではなく、下振れのトレンドが求められる場合（ネットワークトポロジの検討で利用する場合等）、上振れのトレンドが求められる場合（ネットワークのインフラ設備の在庫管理で利用する在庫する場合等）がある。なお、パスとは、始点ノード及び終点ノードと、必要帯域又はインタフェース種別等が指定された、ネットワークの利用要求をいう。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】回帰分析、［online］、インターネット＜https://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90＞
【非特許文献２】巣籠（著）、詳解ディープラーニング TensorFlow, Kerasによる時系列データ処理、マイナビ出版(2017)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術の組合せでは、上記の状況を踏まえた需要予測を行うことが困難である。例えば、非特許文献１及び２は、需要に関して幅（最適、上振れ、下振れ等）の有る予測には対応していない。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、需要に関して幅の有る予測を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、需要予測装置は、第１の期間における需要の変化のうち、前記第１の期間の一部の期間である第２の期間における前記需要の変化を取得する第１の取得部と、前記第１の期間のうち前記第２の期間を除く複数の期間であって、それぞれ長さの異なる第３の期間ごとに、当該第３の期間における前記需要の変化を取得する第２の取得部と、複数のトレンドパターンと前記第３の期間との組み合わせごとに、前記第１の期間の或る時点におけるトレンドパターンの値と前記需要とが等しくなるように、前記トレンドパターンのパラメータを特定する第１の特定部と、パラメータが特定された前記組み合わせごとのトレンドパターンごとに、前記第２の期間における前記需要の変化との適合性を評価し、評価結果に基づいて、前記組み合わせごとのトレンドパターンの中から一部のトレンドパターンを選択する選択部と、を有する。
【発明の効果】
【０００７】
需要に関して幅の有る予測を可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における需要予測装置１０のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における需要予測装置１０の機能構成例を示す図である。
【図３】設計履歴データの構成例を示す図である。
【図４】需要記憶部１３の構成例を示す図である。
【図５】パスの需要のトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。
【図６】対象予測単位の需要のトレンドの予測を説明するための図である。
【図７】適合性の評価に関する方法１を説明するための図である。
【図８】適合性の評価に関する方法２における［τ−Ｔ−Δｍａｘ＋１，τ−Ｔ］の相対誤差の時系列データと［τ−Ｔ＋１，τ］の相対誤差（誤差／実需）の関係の学習を説明するための図である。
【図９】適合性の評価に関する方法２'を説明するための図である。
【図１０】突発需要の影響を除去したトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。
【図１１】各単位期間の需要増分を説明するための図である。
【図１２】最適予測（ｏｆｆｓｅｔ処理後）、上振れ予測（ｏｆｆｓｅｔ処理後）、及び下振れ予測（ｏｆｆｓｅｔ処理後）の一例を示す図である。
【図１３】トレンドの変化への対処処理の処理手順の一例を説明するためのフローチャートである。
【図１４】トレンド変化が発生した時点の第１の特定方法を説明するための図（その１）である。
【図１５】トレンド変化が発生した時点の第１の特定方法を説明するための図（その２）である。
【図１６】トレンド変化が発生した時点の第２の特定方法を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における需要予測装置１０のハードウェア構成例を示す図である。図１の需要予測装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有するコンピュータである。
【００１０】
需要予測装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って需要予測装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１２】
図２は、本発明の実施の形態における需要予測装置１０の機能構成例を示す図である。図２において、需要予測装置１０は、需要抽出部１１及び需要予測部１２を有する。これら各部は、需要予測装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。需要予測装置１０は、また、需要記憶部１３を利用する。需要記憶部１３は、例えば、補助記憶装置１０２、又は需要予測装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００１３】
需要抽出部１１は、パスに関する設計履歴データの入力を受け付ける。パスとは、始点ノード及び終点ノードと、必要帯域又はインタフェース種別等が指定された、ネットワークの利用要求をいう。
【００１４】
図３は、設計履歴データの構成例を示す図である。図３に示されるように、設計履歴データは、例えば、開設が要求されたパスごとに、始点、終点、開通日、廃止日、属性等を含む。始点は、ネットワーク上において、当該パスの始点となるノードの識別子である。終点は、当該パスの終点となるノードの識別子である。開通日は、当該パスが開通した日付（又は日時）である。廃止日は、当該パスが廃止された日付（又は日時）である。属性は、当該パスに関する属性である。図３では、システム名、帯域及びＩＦ（インタフェース）種別及等が属性を構成する項目の一例として示されている。システム名は、パスを収容するシステムの名前である。ＩＦ種別は、パスが利用するインタフェースの種別である。帯域は、パスに対して要求されている帯域である。
【００１５】
需要抽出部１１は、設計履歴データ群を対地（始点及び終点の組み）ごと、かつ、属性の組み合わせごとに集計し、集計結果を需要記憶部１３に記憶する。
【００１６】
図４は、需要記憶部１３の構成例を示す図である。図４には、対地ごと、かつ、属性別に、各設計種別（新設、廃止）の一ヶ月単位の需要の累計が集計される例が示されている。
【００１７】
具体的には、テーブルＴ１には、始点がＡであり、終点がＢである設計履歴データの集合について、属性１及び属性２の２種類の属性の組み合わせ別に、新設の需要の累計の１ヶ月ごとの集計結果と、廃止の需要の累計の１ヶ月ごとの集計結果とが示されている。同様に、テーブルＴ２には、始点がＡであり、終点がＣである設計履歴データの集合について、属性１及び属性２の２種類の属性の組み合わせ別に、新設の需要の累計の集計結果と、廃止の需要の累計の集計結果とが示されている。
【００１８】
ここで、属性１、属性２は、システム名、ＩＦ種別、又はシステム名及びＩＦ種別の組み合わせによって区別される単位である。新設は、開通日に対応し、廃止は、廃止日に対応する。
【００１９】
したがって、例えば、テーブルＴ１の１番目のレコードの属性１の新設の列は、始点がＡであり、終点がＢである設計履歴データの集合のうち、属性の値が属性１に該当し、かつ、２００５／１０以前が開通月である設計履歴データの集合に基づく需要の集計結果を示す。ここで、需要の集計結果の値は、該当する設計履歴データの数であってもよいし、該当する設計履歴データの帯域の合計値であってもよい。また、例えば、テーブルＴ１の１番目のレコードの属性１の廃止の列は、始点がＡであり、終点がＢである設計履歴データの集合のうち、属性の値が属性１に該当し、かつ、２００５／１０以前が廃止月である設計履歴データの集合に基づく需要の集計結果を示す。
【００２０】
需要予測部１２は、需要記憶部１３に記憶されたデータを用いて、図４の各テーブルの列ごと（すなわち、対地ごと、かつ、属性別の新設又は廃止ごと（以下、「予測単位」という。））に、パスの需要のトレンドを予測する。図２において、需要予測部１２は、教師データ取得部１２１、学習データ取得部１２２、パラメータ特定部１２３、選択部１２４、突発需要除去部１２５及びトレンド変化対処部１２６等を含む。
【００２１】
以下、需要予測部１２が実行する処理手順について説明する。図５は、パスの需要のトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。図５の処理手順は、予測単位ごとに実行される。以下、処理対象とされている予測単位を「対象予測単位」という。なお、本実施の形態では、対象予測単位は、或る対地間の或る属性の新設に関するデータであるとする。
【００２２】
ステップＳ１０１において、需要予測部１２は、対象予測単位の最終需要発生時刻ｔｎを予測元最終時刻ｔに代入（最終需要発生時刻ｔｎによって予測元最終時刻ｔを初期化）する。
【００２３】
図６は、対象予測単位の需要のトレンドの予測を説明するための図である。図６のグラフにおいて、横軸は時間であり、縦軸は需要である。したがって、曲線Ｌ１は、対象予測単位の時系列データ（１ヶ月ごとの需要の累計の集計結果）を示す。ここで、最終需要発生時刻ｔｎとは、曲線Ｌ１の終点に対応する時刻、すなわち、対象予測単位についての、最後の設計履歴データの開通月（需要の集計期間に従う）である。なお、予測元最終時刻ｔは、需要のトレンドの予測に利用される対象予測単位の時系列データの最終時刻を示す。ここでは、予測元最終時刻ｔが最終需要発生時刻ｔｎによって初期化される例を示したが、ｔｎより前の時点によって予測元最終時刻ｔが初期化されるようにしてもよい。
【００２４】
なお、本実施の形態では、対象予測単位の時系列データのうち、需要がはじめて０より大きくなる時点以降の期間（以下、「予測元期間」という。）の時系列データが予測の元になるデータとして利用される。したがって、予測元期間の時系列データが、図６の曲線Ｌ１として示されている。
【００２５】
続いて、教師データ取得部１２１は、予測元期間の一部の期間である［ｔ−Ｔ＋１，ｔ］（教師データ期間）の時系列データ（需要の変化）を、教師データとして取得する（Ｓ１０２）。ここで、Ｔは、ユーザによって予め設定されるパラメータであり、予測したい期間の長さ（例えば、２年等）を示す。また、［ｔ−Ｔ＋１，ｔ］における「＋１」は、本実施の形態においては１ヶ月である。本実施の形態では、図３に示したように、一ヶ月単位で需要が集計されているからである。すなわち、「＋１」の単位は、需要の集計期間に従う。なお、教師データ期間は、［ｔ−Ｔ＋１，ｔ］に限られない。例えば、α分前にずれた［ｔ−α−Ｔ＋１，ｔ−α］のデータが教師データとして取得されてもよい。すなわち、教師データ期間の終点は、ｔに一致していなくてもよい。
【００２６】
続いて、学習データ取得部１２２は、予測元期間のうち教師データ期間を除く期間における、［ｔ−Ｔ−Δｉ＋１，ｔ−Ｔ］の複数の期間の時系列データ（需要の変化）を、学習データとして取得する（Ｓ１０３）。ここで、Δｉ（ｉ＝１，…，Ｉ）は、ユーザによって予め設定されるパラメータであり、各Δｉは、それぞれ相互に長さ（期間）が異なる。図６では、Ｉ＝４の例が示されている。したがって、この場合、４つの学習データが取得される。Δｉの長さの最大値、（図６ではΔ４の長さ）は、パスが配置されるネットワークシステムのシステム情報、例えば、１世代前のネットワークシステムがサービスを開始した時期等に基づいて決定されてもよい（例えば、６年等）。Δｉの最小値（図６では、Δ１の長さ）は、予測したい期間の長さ（Ｔ）に基づいてユーザが決める（例えば、Ｔと同じ長さ）。
【００２７】
なお、予測元期間のデータ数（予測元期間の月数）がＴ＋Δｉの最小値に満たない場合（需要がはじめて０より大きくなる時点がｔ−Ｔ−Δｉの最小値＋１より小さい場合）は、Ｔ、Δｉを更に小さな値を設定すればよい（例えば、一律１／ｎ）。
【００２８】
続いて、パラメータ特定部１２３は、予めユーザによって準備された複数のトレンドパターン（Ｐｊ）×学習データ期間Δｉの組み合わせごとに、各Ｐｊのパラメータを最適化手法により求める（Ｓ１０４）。ここで、トレンドパターン（Ｐｊ）は、例えば、線形関数、シグモイド関数、ソフトプラス関数、ソフトサイン関数、指数関数である。この場合、ｊ＝１，・・・，５である。すなわち、Ｐ１＝線形関数、Ｐ２＝シグモイド関数、Ｐ３＝ソフトプラス関数、Ｐ４＝ソフトサイン関数、Ｐ５＝指数関数である。したがって、Ｉ＝４であれば、トレンドパターン（Ｐｊ）×学習データ期間Δｉの組み合わせの数は、５×４＝２０である。なお、これらの関数については、例えば、「https://ja.wikipedia.org/wiki/%E6%B4%BB%E6%80%A7%E5%8C%96%E9%96%A2%E6%95%B0」に詳しい。
【００２９】
ステップＳ１０４において、パラメータ特定部１２３は、トレンドパターン（Ｐｊ）×学習データ期間Δｉの組み合わせごとに、予測元最終時刻ｔに対応する予測値（トレンドパターンに基づく値）と、予測元最終時刻ｔに対応する需要ｄ（ｔ）とが等しくなるように、各トレンドパターン（Ｐｊ）のパラメータの値を調整して求める。但し、予測元期間内であれば、予測元最終時刻ｔ以外のタイミングｔ'での予測値と需要ｄ（ｔ'）とが等しくなるようにパラメータの値が調整されてもよい。
【００３０】
具体的には、学習データ期間Δｉにおける、需要をｄ（ｘ），ｘ＝［ｔ−Ｔ−Δｉ＋１，ｔ−Ｔ］とする。トレンドパターン（Ｐｊ）が出力する需要の変化をｐ（ｘ），ｘ＝［ｔ−Ｔ−Δｉ＋１，ｔ−Ｔ］とする。パラメータ特定部１２３は、この場合において、Σ（ｐ（ｘ）−ｄ（ｘ））２が最も小さくなるトレンドパターンのパラメータの値を最適化手法（勾配法等）により求める。求めるパラメータは、例えば、以下の通りである（予測元最終時刻ｔに対応する需要ｄ（ｔ）とが等しくなるように、各トレンドパターン（Ｐｊ）のパラメータの値を調整する場合の例）。ｘは時刻を表す。
【００３１】
線形関数であるＰｊのパラメータは、以下の式におけるａである。
ｐ（ｘ）＝ｄ（ｔ）−（ａ×（ｔ−ｘ））
指数関数であるＰｊのパラメータは、以下の式におけるａ，ｂである。
ｐ（ｘ）＝ｂ×ａｘ＋ｄ（ｔ）−（ｂ×ａｔ）
ソフトプラス関数であるＰｊのパラメータは、以下の式におけるａである。
ｐ（ｘ）＝ａ×ｌｏｇ（１＋ｅｘｐ（ｘ））＋（ｄ（ｔ）−ａ×ｌｏｇ（１＋ｅｘｐ（ｔ）））
ソフトサイン関数であるＰｊのパラメータは、以下の式におけるａ，ｂである。
ｐ（ｘ）＝ａ×ｘ／（１＋ｂ×｜ｘ｜）＋ｄ（ｔ）−ａ×ｔ／（１＋ｂ×｜ｔ｜））
シグモイド関数であるＰｊのパラメータは、以下の式におけるａ，ｂ，ｃである。
ｐ（ｘ）＝ａ／（１＋ｂ×ｅｘｐ（−ｃ×ｘ））＋ｄ（ｔ）−ａ／（１＋ｂ×ｅｘｐ（−ｃ×ｔ））
続いて、選択部１２４は、パラメータの値が特定されたトレンドパターン（Ｐｊ）×学習データ期間Δｉの各組み合わせについて、教師データとの適合性を評価し、評価結果に基づいて、教師データに対して適合性の評価が最高である組み合わせを最適予測（最適トレンドパターンＰｏｐｔ、最適学習データ期間Δｏｐｔ）として選択する（Ｓ１０５）。適合性の評価方法としては、以下の方法１、方法２、方法２'の３つの方法が一例として挙げられる。
【００３２】
［方法１］
［ｔ−Ｔ＋１，ｔ］の相対誤差（誤差／実需）の二乗和を評価尺度とし、当該二乗和を最小化するトレンドパターン（Ｐｊ）、学習データ期間Δｉを最適予測（最適トレンドパターンＰｏｐｔ、最適学習データ期間Δｏｐｔ）として選択する。
【００３３】
図７は、適合性の評価に関する方法１を説明するための図である。図７には、便宜上、全組み合わせのうち、学習データ期間Δ１と３つのＰｊとの組み合わせと、学習データ期間Δ２と３つのＰｊとの組み合わせとの評価尺度が示されている。
【００３４】
［方法２］
τ（τ＞０、かつ、τ−Ｔ−Δｍａｘ＋１＞０）（Δｍａｘは、Δｉの最大値）をパラメータにして、［τ−Ｔ−Δｍａｘ＋１，τ−Ｔ］の相対誤差の時系列データと［τ−Ｔ＋１，τ］の相対誤差（誤差／実需）との関係を、トレンドパターン（Ｐｊ）と学習データ期間Δｉの組み合わせごとに事前に機械学習（ＤＮＮ（Deep Neural Network）等）により学習しておく。学習済みのモデルを使い、トレンドパターン（Ｐｊ）と学習データ期間Δｉの組み合わせごとに、［ｔ−Ｔ−Δｍａｘ＋１，ｔ−Ｔ］の相対誤差の時系列データから評価尺度（［ｔ−Ｔ＋１，ｔ］における相対誤差の統計値（例えば、平均））を予測し、評価尺度の予測値が最も良くなる（小さくなる）予測を最適予測（最適トレンドパターンＰｏｐｔ、最適学習データ期間Δｏｐｔ）として選択する。
【００３５】
図８は、適合性の評価に関する方法２における［τ−Ｔ−Δｍａｘ＋１，τ−Ｔ］の相対誤差の時系列データと［τ−Ｔ＋１，τ］の相対誤差（誤差／実需）の関係の学習を説明するための図である。図８には、便宜上、全組み合わせのうち、学習データ期間Δ１と３つのＰｊとの組み合わせと、学習データ期間Δ２と３つのＰｊとの組み合わせとの評価尺度が示されている。
【００３６】
［方法２'］
τをパラメータにして、［τ−Ｔ−Δｍａｘ＋１，τ−Ｔ］の時系列パターンと［τ−Ｔ＋１，τ］の相対誤差（誤差／実需）との関係を事前に機械学習（ＤＮＮ等）により学習しておく。学習済みのモデルを使い、［ｔ−Ｔ−Δｍａｘ＋１，ｔ−Ｔ］の時系列パターンから、トレンドパターン（Ｐｊ）×学習データ期間Δｉの評価尺度（［ｔ−Ｔ＋１，ｔ］における相対誤差の統計値（例えば、平均））の予測値を算出し、評価尺度の予測値が最も良くなる（小さくなる）予測を最適予測（最適トレンドパターンＰｏｐｔ、最適学習データ期間Δｏｐｔ）として選択する。
【００３７】
図９は、適合性の評価に関する方法２'を説明するための図である。図９には、便宜上、全組み合わせのうち、３つのＰｊに係る組み合わせの評価尺度が示されている。
【００３８】
続いて、選択部１２４は、最適学習データ期間Δｏｐｔに対するトレンドパターン（Ｐｊ）（本実施の形態では、５つのＰｊ）の中で、ｔ＋Ｔ時点で最も大きな予測値を示すＰｊを上振れ予測に利用するＰｊとして選択し、最も小さな予測値を示すＰｊを下振れ予測に利用するＰｊとして選択する（Ｓ１０６）。なお、図６には、最適学習データ期間Δｏｐｔに対する５つのトレンドパターンＰｊが破線で示されている。また、この中で、ステップＳ１０５において最適予測として選択されるトレンドパターン（Ｐｊ）、ステップＳ１０６において上振れ予測、下振れ予測として選択されるトレンドパターン（Ｐｊ）が示されている。なお、予測の用途に応じて、Ｎ番目の上振れ予測、Ｎ番目の下振れ予測等が選択されてもよい。すなわち、複数のトレンドパターンの中から選択される一部のトレンドパターンは、予測の用途に応じて変えられてもよい。
【００３９】
以上により、需要に関して幅の有る予測を可能とすることができる。
【００４０】
続いて、突発需要（マイグレーション（例えば、新しいシステムへのパスの移行）、装置設置ビルの変更等、ネットワーク事業者の都合により発生する需要）の影響を除去したい場合に、ステップＳ１０７以降が実行されてもよい。
【００４１】
ステップＳ１０７において、突発需要除去部１２５は、ステップＳ１０５において選択された最適予測の最適トレンドパターンＰｏｐｔについて、［ｔ−Ｔ＋１，ｔ］における実際の需要の変化に対する予測誤差の統計値を計算し、計算結果を変数Ｘに代入する。予測誤差の統計値の計算方法は、例えば、以下の通りである。
【００４２】
最適学習データ期間Δｏｐｔに対して最適トレンドパターンＰｏｐｔを適合させた［ｔ−Ｔ＋１，ｔ］の予測値（Ｐｏｐｔ＿Δｏｐｔ（ｘ），ｘ＝ｘ−Ｔ＋１，…，ｔ）、実際の需要ｄ（ｘ）に対して、以下のように計算する。
Σ｜ｄ（ｘ）−Ｐｏｐｔ＿Δｏｐｔ（ｘ）｜／ｄ（ｘ），ｘ＝ｔ−Ｔ＋１，…，ｔ
続いて、突発需要除去部１２５は、Ｘが予め設定された許容予測誤差ε以上であるか否かを判定する（Ｓ１０８）。すなわち、ステップＳ１０５において選択された最適予測の最適トレンドパターンＰｏｐｔと実際の需要の変化との比較結果が所定の条件（Ｘが許容誤差ε未満であるという条件）を満たすか否かが判定される。
【００４３】
Ｘがε未満である場合（Ｓ１０８でＮｏ）、需要予測部１２の処理は終了する。この場合、需要予測部１２は、既に選択されている最適予測、上振れ予測及び下振れ予測を、予測の利用対象として出力する（Ｓ１１２）。
【００４４】
一方、Ｘがε以上である場合（Ｓ１０８でＹｅｓ）、突発需要除去部１２５は、突発需要の影響を除去したトレンドの予測処理を実行する（Ｓ１０９）。当該予測処理において、トレンドの変化が検知されなかった場合（Ｓ１１０でＮｏ）、需要予測部１２は、当該予測処理において選択された最適予測、上振れ予測及び下振れ予測を予測の利用対象として出力する（Ｓ１１２）。
【００４５】
一方、突発需要の影響を除去したトレンドの予測処理において、トレンドの変化が検知された場合（Ｓ１１０でＹｅｓ）、トレンド変化対処部１２６は、トレンドの変化への対処処理を実行して（Ｓ１１１）、ステップＳ１０１以降を繰り返す。
【００４６】
続いて、ステップＳ１０９の詳細について説明する。図１０は、突発需要の影響を除去したトレンドの予測処理の処理手順の一例を説明するためのフローチャートである。
【００４７】
ステップＳ２０１において、突発需要除去部１２５は、変数ｉｔｅに対して１を代入する。変数ｉｔｅは、ステップＳ２０２以降の処理の実行回数（突発需要の除去の実行回数）を記憶するための変数である。
【００４８】
続いて、突発需要除去部１２５は、最適学習データ期間［ｔ−Ｔ−Δｏｐｔ＋１，ｔ−Ｔ］と教師データ期間［ｔ−Ｔ＋１，ｔ］とにおける各単位期間（１ヶ月ごと）の需要増分ｃ（ｘ）（ｘ＝ｔ−Ｔ−Δｏｐｔ＋１，…，ｔ−１）を求める（Ｓ２０２）。
【００４９】
図１１は、各単位期間の需要増分を説明するための図である。図１１に示されるように、期間ｘの終了時刻における需要と開始時刻における需要との差分が、需要増分ｃ（ｘ）とされる。
【００５０】
続いて、突発需要除去部１２５は、需要増分の最大値をとる単位期間の開始時刻を特定し、当該開始時刻をｋｍａｘに代入する（Ｓ２０３）。図１１の例では、［ｔ−２，ｔ−１］の単位期間における需要増分ｃ（ｔ−２）が最大である。したがって、当該単位期間の開始時刻であるｔ−２がｋｍａｘに代入される。
【００５１】
続いて、突発需要除去部１２５は、予測元最終時刻ｔをｋｍａｘによって更新する（Ｓ２０４）。その結果、需要増分が最大となる単位期間の開始時刻以降（すなわち、突発需要の発生期間）の期間が予測元期間から除外される。
【００５２】
続いて、突発需要除去部１２５は、幅の有るトレンド予測処理を実行する（Ｓ２０５）。幅の有るトレンド予測処理とは、図５において破線で囲まれた処理手順（Ｓ１０２〜Ｓ１０６）をいう。この場合、予測元最終時刻ｔがｔｎよりも過去方向にずれているため、
教師データ期間及び各学習データ期間もｔｎ−ｔ分だけ過去方向にずれる。このずれに対応する学習データ及び教師データに基づいて、幅の有るトレンド予測処理が実行される。なお、ステップＳ２０５の実行によって得られる最適予測、上振れ予測、下振れ予測のそれぞれのトレンドパターン（Ｐｊ）を、以下、最適予測（ｏｆｆｓｅｔ処理前）、上振れ予測（ｏｆｆｓｅｔ処理前）、下振れ予測（ｏｆｆｓｅｔ処理前）という。
【００５３】
続いて、突発需要除去部１２５は、最適予測（ｏｆｆｓｅｔ処理前）、上振れ予測（ｏｆｆｓｅｔ処理前）、下振れ予測（ｏｆｆｓｅｔ処理前）のそれぞれについて、最終需要発生時刻ｔｎにおける実際の需要と予測値との差分（実需−予測値）を求める（Ｓ２０６）。なお、最終需要発生時刻ｔｎは、当初から不変の値である。最適予測（ｏｆｆｓｅｔ処理前）に係る当該差分、上振れ予測（ｏｆｆｓｅｔ処理前）に係る当該差分、下振れ予測（ｏｆｆｓｅｔ処理前）に係る当該差分を、以下、ｏｆｆｓｅｔ（最適予測）、ｏｆｆｓｅｔ（上振れ予測）、ｏｆｆｓｅｔ（下振れ予測）という。
【００５４】
続いて、突発需要除去部１２５は、最適予測（ｏｆｆｓｅｔ処理前）、上振れ予測（ｏｆｆｓｅｔ処理前）、下振れ予測（ｏｆｆｓｅｔ処理前）のそれぞれにｏｆｆｓｅｔ（最適予測）、ｏｆｆｓｅｔ（上振れ予測）、ｏｆｆｓｅｔ（下振れ予測）を加算した結果を最適予測（ｏｆｆｓｅｔ処理後）、上振れ予測（ｏｆｆｓｅｔ処理後）、下振れ予測（ｏｆｆｓｅｔ処理後）として求める（Ｓ２０７）。図１２に、最適予測（ｏｆｆｓｅｔ処理後）、上振れ予測（ｏｆｆｓｅｔ処理後）、及び下振れ予測（ｏｆｆｓｅｔ処理後）の一例を示す。
【００５５】
続いて、突発需要除去部１２５は、最適予測（ｏｆｆｓｅｔ処理後）について、［ｔ−Ｔ＋１，ｔ］における実際の需要の変化に対する予測誤差の統計値（例えば、平均）を計算し、計算結果を変数Ｙに代入する（Ｓ２０８）。
【００５６】
続いて、突発需要除去部１２５は、Ｙが許容予測誤差ε以上であるか否かを判定する（Ｓ２０９）。すなわち、最適予測（ｏｆｆｓｅｔ処理後）と実際の需要の変化との比較結果が所定の条件（Ｙが許容誤差ε未満であるという条件）を満たすか否かが判定される。
【００５７】
Ｙがε未満である場合（Ｓ２０９でＮｏ）、突発需要除去部１２５は、最後に求めた最適予測（ｏｆｆｓｅｔ処理後）、上振れ予測（ｏｆｆｓｅｔ処理後）、及び下振れ予測（ｏｆｆｓｅｔ処理後）を予測の利用対象として選択する（Ｓ２１０）。
【００５８】
一方、Ｙがε以上である場合（Ｓ２０９でＹｅｓ）、突発需要除去部１２５は、ＹがＸより大きいか否かを判定する（Ｓ２１１）。すなわち、最後に選択した最適予測が、その前に選択した最適予測よりも精度が悪化しているか否かが判定される。ＹがＸより大きい場合（Ｓ２１１でＹｅｓ）、突発需要除去部１２５は、Ｘの計算に利用した最適予測と、当該最適予測に対応する上振れ予測及び下振れ予測を予測の利用対象として選択する（Ｓ２１２）。Ｘの計算に利用した最適予測とは、最後の最適予測の１回前に求められた最適予測をいう。
【００５９】
一方、ＹがＸ以下である場合（Ｓ２１１でＮｏ）、突発需要除去部１２５は、変数ｉｔｅの値が、ｍａｘ＿ｉｔｅ未満であるか否かを判定する（Ｓ２１３）。ｍａｘ＿ｉｔｅは、突発需要の除去回数の上限（すなわち、ステップＳ２０２以降の繰り返し回数の上限）を示す。変数ｉｔｅの値がｍａｘ＿ｉｔｅ未満である場合（Ｓ２１３でＹｅｓ）、突発需要除去部１２５は、変数ｉｔｅの値に１を加算した結果を変数ｉｔｅに代入する（Ｓ２１４）。続いて、突発需要除去部１２５は、変数Ｘに変数Ｙの値を代入し（Ｓ２１５）、ステップＳ２０２以降を繰り返す。
【００６０】
変数ｉｔｅの値がｍａｘ＿ｉｔｅ以上になると（すなわち、突発需要の影響の除去をしても、予測誤差が十分に小さくならない場合）（Ｓ２１３でＮｏ）、突発需要除去部１２５は、トレンドの変化を検知する（Ｓ２１６）。この場合、図５のステップＳ１１０の判定はＮｏとなり、ステップＳ１１１が実行される。
【００６１】
続いて、ステップＳ１１１の詳細について説明する。図１３は、トレンドの変化への対処処理の処理手順の一例を説明するためのフローチャートである。
【００６２】
ステップＳ３０１において、トレンド変化対処部１２６は、トレンドの変化が発生した時点を特定する。トレンドの変化の発生時点の特定方法として、以下の方法１及び方法２が一例として挙げられる。
【００６３】
［方法１］
まず、時刻ｘにおける最適予測の予測誤差の移動平均Ｅ［ｅ］（ｘ）、予測誤差の標準偏差の移動平均Ｅ［σ］（ｘ）を以下の方法で計算する。ここで、ｅ（ｘ）は、時刻ｘにおける実需と最適予測の予測値の差（実需−予測値）である。
（ａ）Ｅ［ｅ］（ｘ）＝α×Ｅ［ｅ］（ｘ−１）＋（１−α）×ｅ（ｘ）
（ｂ）Ｅ［σ］（ｘ）＝β×Ｅ［σ］（ｘ−１）＋（１−β）×｜ｅ（ｘ）−Ｅ［ｅ］（ｘ）｜
ｘ＝ｔｎ−Ｔ＋１，…，ｔｎについて、上記（ａ）、（ｂ）の計算を行う。ｅ（ｘ）が誤差上限（Ｅ［ｅ］（ｘ）＋γＥ［σ］（ｘ））を超えた状態（閾値ごえ）がＮ回連続して発生した期間の開始時点をトレンドの変化の発生時点として特定する。換言すれば、閾値ごえがＮ回連続しない場合には、本実施の形態では、突発需要であると判定される。
【００６４】
図１４及び図１５は、トレンド変化が発生した時点の第１の特定方法を説明するための図である。図１４及び図１５では、α＝β＝１／４，γ＝２，Ｎ＝３である例を示す。
【００６５】
図１４の表及びグラフは、トレンドの変化が無い場合（突発需要の場合）の方法１に関する各パラメータの時系列変化等を示す。図１５の表及びグラフは、トレンドの変化が発生した場合の方法１に関する各パラメータの時系列変化等を示す。
【００６６】
図１４の表では、閾値ごえの列において閾値ごえの状態（ＴＲＵＥ）は、時刻＝６の１回のみである。したがって、この場合、トレンドの変化は無いと判定される。
【００６７】
一方、図１５の表では、閾値ごえの列において閾値ごえの状態（ＴＲＵＥ）は、時刻＝６〜８において３回連続している。したがって、この場合、３回連続した期間の開始時点（時刻＝６）が、トレンド変化の発生時点として特定される。
【００６８】
［方法２］
［ｔｎ−Ｔ＋１，ｔｎ］のデータ（教師データ）について、各単位期間（１ヶ月ごと）の需要増分ｃ（ｘ）（ｘ＝ｔｎ−Ｔ＋１，…，ｔｎ−１）を求める。需要増分の最大値をとる単位期間の開始時刻ｋｍａｘをトレンド変化が発生した時点として特定する。
【００６９】
図１６は、トレンド変化が発生した時点の第２の特定方法を説明するための図である。図１６では、ｔｎ−２がトレンド変化の発生時刻として特定された例が示されている。
【００７０】
続いて、トレンド変化対処部１２６は、対象予測単位の時系列データのうち、トレンド変化発生時点よりも前の期間のデータを削除する（Ｓ３０２）。
【００７１】
なお、図５に示されるように、ステップＳ３０２に続いて、ステップＳ１０１以降の再実行が行われる。この場合、ステップＳ３０２の作用により、当初の予測元期間（突発需要の期間の除去前の予測元期間）から、トレンド変化発生時点よりも前の期間が除去される。その結果、対象予測単位の時系列データのうち、トレンド変化発生時点以降のデータ数が、Ｔ＋Δｉの最小値にみたない場合には、トレンド変化対処部１２６は、各Δｉを更に小さな値（例えば、一律１／ｎ）として処理を実行すればよい。
【００７２】
上述したように、本実施の形態によれば、需要に関して幅の有る予測を可能とすることができる。その結果、例えば、利用者は用途に応じて予測線を選択し、パスの需要に対応したインフラ設備に対する投資計画、ネットワーク計画を実データに基づきに立案することができる。
【００７３】
また、トレンドパターンに非線形関数を含めることで、将来需要のトレンドが非線形に増加する場合であっても需要予測の精度を向上させることができる。
【００７４】
また、突発需要やトレンド変化が存在する場合であっても、需要予測の精度を向上させることができる。
【００７５】
なお、本実施の形態は、パス以外の他の物品又はサービスに関する需要に対して適用されてもよい。
【００７６】
なお、本実施の形態において、予測元期間は、第１の期間の一例である。教師データ取得部１２１は、第１の取得部の一例である。教師データ期間は、第２の期間の一例である。学習データ期間は、第３の期間の一例である。学習データ取得部１２２は、第２の取得部の一例である。パラメータ特定部１２３は、第１の特定部の一例である。需要増分が最大となる単位期間の開始時刻以降の期間は、第４の期間の一例である。トレンド変化発生時点よりも前の期間は、第５の期間の一例である。突発需要除去部１２５は、第１の除去部の一例である。トレンド変化対処部１２６は、第２の除去部の一例である。最適トレンドパターンＰｏｐｔは、第１のトレンドパターンの一例である。最適予測（ｏｆｆｓｅｔ処理後）は、第２のトレンドパターンの一例である。
【００７７】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７８】
１０          需要予測装置
１１          需要抽出部
１２          需要予測部
１３          需要記憶部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        教師データ取得部
１２２        学習データ取得部
１２３        パラメータ特定部
１２４        選択部
１２５        突発需要除去部
１２６        トレンド変化対処部
Ｂ            バス
【図１】
2020135688.tif 000003
【図２】
2020135688.tif 000004
【図３】
2020135688.tif 000005
【図４】
2020135688.tif 000006
【図５】
2020135688.tif 000007
【図６】
2020135688.tif 000008
【図７】
2020135688.tif 000009
【図８】
2020135688.tif 000010
【図９】
2020135688.tif 000011
【図１０】
2020135688.tif 000012
【図１１】
2020135688.tif 000013
【図１２】
2020135688.tif 000014
【図１３】
2020135688.tif 000015
【図１４】
2020135688.tif 000016
【図１５】
2020135688.tif 000017
【図１６】
2020135688.tif 000018