(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】時系列データ予測装置及び時系列データ予測方法
(51)【国際特許分類】
G06F 16/90 20190101AFI20231129BHJP
【FI】
G06F16/90
(21)【出願番号】P 2020029523
(22)【出願日】2020-02-25
【審査請求日】2022-05-25
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】肥村 洋輔
(72)【発明者】
【氏名】増田 峰義
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2014-048778(JP,A)
【文献】特開平05-314094(JP,A)
【文献】特開2019-125048(JP,A)
【文献】特開2015-228189(JP,A)
【文献】特開2004-185392(JP,A)
【文献】特開平10-134027(JP,A)
【文献】特開2004-295226(JP,A)
【文献】特開2010-020442(JP,A)
【文献】国際公開第2019/156070(WO,A1)
【文献】特開2017-199862(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
過去の一定期間における時系列データの値を示す実測値データに基づいて、前記一定期間を含む対象期間における前記時系列データの値を予測したイベント予測データを算出するイベント算出部と、
前記イベント予測データの各値を、同一の期間における前記実測値データと前記イベント予測データとの差分に応じてシフトさせたデータを前記時系列データの予測結果である予測結果データとして算出する補正部と、
前記実測値データに基づいて、前記対象期間における前記時系列データの傾向を示すトレンド予測データを算出するトレンド算出部と、
前記実測値データの前記一定期間における前記トレンド予測データに対する相対的な値を示す相対値データを算出するトレンド除去部と、を有し、
前記イベント算出部は、前記相対値データに基づいて、前記イベント予測データを算出し、
前記補正部は、前記トレンド予測データを前記差分として、前記イベント予測データの各値をシフトさせ、
前記トレンド算出部は、前記実測値データに基づいて、経過時間を説明変数、前記時系列データの値を目的変数としたトレンド予測モデルを生成し、当該トレンド予測モデルを用いて、前記トレンド予測データを算出する、時系列データ予測装置。
【請求項2】
前記トレンド予測モデルは、線形回帰モデルである、請求項
1に記載の時系列データ予測装置。
【請求項3】
過去の一定期間における時系列データの値を示す実測値データに基づいて、前記一定期間を含む対象期間における前記時系列データの値を予測したイベント予測データを算出するイベント算出部と、
前記イベント予測データの各値を、同一の期間における前記実測値データと前記イベント予測データとの差分に応じてシフトさせたデータを前記時系列データの予測結果である予測結果データとして算出する補正部と、
前記実測値データに基づいて、前記対象期間における前記時系列データの傾向を示すトレンド予測データを算出するトレンド算出部と、
前記実測値データの前記一定期間における前記トレンド予測データに対する相対的な値を示す相対値データを算出するトレンド除去部と、を有し、
前記イベント算出部は、前記相対値データに基づいて、カレンダー情報を説明変数、前記時系列データの値を目的変数としたイベント予測モデルを生成し、当該イベント予測モデルを用いて、前記イベント予測データを算出し、
前記補正部は、前記トレンド予測データを前記差分として、前記イベント予測データの各値をシフトさせる、時系列データ予測装置。
【請求項4】
前記イベント予測モデルは、決定木モデルを含む、請求項
3に記載の時系列データ予測装置。
【請求項5】
前記決定木モデルは、前記イベント予測データの候補となる候補データをそれぞれ算出する複数の決定木を含み、
前記イベント算出部は、各決定木により算出された複数の候補データに基づいて、前記イベント予測データの値として、下限値、代表値及び上限値を算出する、請求項
4に記載の時系列データ予測装置。
【請求項6】
前記補正部は、前記一定期間の末尾を含む末尾期間における前記実測値データと前記イベント予測データとの差分に応じて、前記一定期間以降の前記イベント予測データの値を当該差分に応じてシフトさせる、請求項1
又は3に記載の時系列データ予測装置。
【請求項7】
前記イベント算出部は、前記一定期間をずらしながら前記イベント予測データを繰り返し算出し、
前記補正部は、前記イベント予測データが算出されるたびに、前記一定期間の末尾を含む末尾期間における前記実測値データと前記イベント予測データとの差分が一定値以上か否かを判定し、当該差分が前記一定値以上であると、当該イベント予測データが最後に算出されるイベント予測データである場合、当該一定期間以降の前記イベント予測データの値を当該差分に応じてシフトさせ、当該イベント予測データが最後に算出されるイベント予測データでない場合、前記トレンド算出部による前記トレンド予測データを算出する手法を変更する、請求項
1又は3に記載の時系列データ予測装置。
【請求項8】
時系列データ予測装置による時系列データ予測方法であって、
過去の一定期間における時系列データの値を示す実測値データに基づいて、前記一定期間を含む対象期間における前記時系列データの値を予測したイベント予測データを算出し、
前記イベント予測データの各値を、同一の期間における前記実測値データと前記イベント予測データとの差分に応じてシフトさせたデータを前記時系列データの予測結果である予測結果データとして算出
し、
前記実測値データに基づいて、前記対象期間における前記時系列データの傾向を示すトレンド予測データを算出し、
前記実測値データの前記一定期間における前記トレンド予測データに対する相対的な値を示す相対値データを算出し、
前記イベント予測データの算出では、前記相対値データに基づいて、前記イベント予測データを算出し、
前記予測結果データの算出では、前記トレンド予測データを前記差分として、前記イベント予測データの各値をシフトさせ、
前記トレンド予測データの算出では、前記実測値データに基づいて、経過時間を説明変数、前記時系列データの値を目的変数としたトレンド予測モデルを生成し、当該トレンド予測モデルを用いて、前記トレンド予測データを算出する、時系列データ予測方法。
【請求項9】
時系列データ予測装置による時系列データ予測方法であって、
過去の一定期間における時系列データの値を示す実測値データに基づいて、前記一定期間を含む対象期間における前記時系列データの値を予測したイベント予測データを算出し、
前記イベント予測データの各値を、同一の期間における前記実測値データと前記イベント予測データとの差分に応じてシフトさせたデータを前記時系列データの予測結果である予測結果データとして算出
し、
前記実測値データに基づいて、前記対象期間における前記時系列データの傾向を示すトレンド予測データを算出し、
前記実測値データの前記一定期間における前記トレンド予測データに対する相対的な値を示す相対値データを算出し、
前記イベント予測データの算出では、前記相対値データに基づいて、カレンダー情報を説明変数、前記時系列データの値を目的変数としたイベント予測モデルを生成し、当該イベント予測モデルを用いて、前記イベント予測データを算出し、
前記予測結果データの算出では、前記トレンド予測データを前記差分として、前記イベント予測データの各値をシフトさせる、時系列データ予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、時系列データを予測する技術に関する。
【背景技術】
【0002】
サーバ及びストレージ装置などの種々の装置を含む情報システムでは、メトリックデータと呼ばれる種々の時系列データが計測されており、メトリックデータの将来の値を適切に予測することは、キャパシティプランニングなどの管理業務において有効である。
【0003】
メトリックデータの予測については、以下の3つの要件を考慮することが重要となる。
【0004】
第1の要件は、メトリックデータが月末付近の特定の曜日のような非等間隔のタイミングで大きく変動することがある点である。本明細書では、このようなメトリックデータに非等間隔で発生する大きな変動を「非等間隔イベント」と呼ぶ。
第2の要件は、メトリックデータに過去に計測されていない値が将来発生することがある点である。一般的に、過去に計測されていない値を予測することは「外挿」と呼ばれる。
第3の要件は、月替わりなどの特定のタイミングの前後でメトリックデータの相対的な挙動は継続するが、絶対的な値の範囲が大きくシフトすることがある点である。本明細書では、このようなシフトを「ベースラインシフト」と呼ぶ。
【0005】
また、メトリックデータを予測する方法として、過去のメトリックデータ(例えば、過去数ヶ月分のメトリックデータ)を分析して、将来のメトリックデータ(例えば、数ヶ月先のメトリックデータ)を予測する方法が知られている。メトリックデータは、通常、多数あるため、このような方法を人手で行うことは困難である。このため、メトリックデータの予測には、機械学習などの手法が用いられる。
【0006】
「非等間隔イベント」を考慮してメトリックデータを予測するための機械学習手法としては、日付や曜日などに応じた挙動を条件分岐として扱うことが可能なツリー系(例えば、決定木系及び回帰木系など)の手法が有力である。ツリー系の手法には、ランダムフォレストなどが含まれる。
【0007】
しかしながら、ツリー系の手法では、「外挿」及び「ベースラインシフト」に対応することが難しい。
【0008】
これに対して特許文献1には、ツリー系の決定木学習アルゴリズムを用いて、学習データ中の直近の傾向変化に対応するために、過去の長期間のデータを用いて特徴量を選択した後で、直近のデータを用いて、特徴量を絞り込む技術が開示されている。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
特許文献1に記載の技術では、最終的な予測モデルの作成(学習)に使用される学習データは、直近のデータのみであると考えられるため、その直後に発生する「ベースラインシフト」に対応することはできるかもしれない。しかしながら、月次で発生するような「非等間隔イベント」のような長期的な挙動を学習して予測することは想定されていない。また、「外挿」についても考慮されていない。
【0011】
本発明の目的は、時系列データに対して「非等間隔イベント」、「外挿」及び「ベースラインシフト」に対応した予測が可能な時系列データ予測装置及び時系列データ予測方法を提供することにある。
【課題を解決するための手段】
【0012】
本開示の一態様に従う時系列データ予測装置は、過去の一定期間における時系列データの値を示す実測値データに基づいて、前記一定期間を含む対象期間における前記時系列データの値を予測したイベント予測データを算出するイベント算出部と、前記イベント予測データの各値を、同一の期間における前記実測値データと前記イベント予測データとの差分に応じてシフトさせたデータを前記時系列データの予測結果である予測結果データとして算出する補正部と、を有する。
【発明の効果】
【0013】
本発明によれば、時系列データに対して「非等間隔イベント」、「外挿」及び「ベースラインシフト」に対応した予測が可能になる。
【図面の簡単な説明】
【0014】
【
図1】本開示の一実施形態の情報システムの全体構成を示す図である。
【
図2】管理サーバのハードウェア構成の一例を示す図である。
【
図3】メトリックデータの特徴について説明するための図である。
【
図4】管理サーバが行う処理を説明するための図である。
【
図5】管理サーバのより詳細な構成を示す図である。
【
図6】メトリックDBに格納されているデータのデータ構造の一例を示す図である。
【
図7】メトリックデータのデータ構造の一例を示す図である。
【
図8】経過時間情報のデータ構造の一例を示す図である。
【
図9】時間特徴量のデータ構造の一例を示す図である。
【
図10】将来予測期間のデータ構造の一例を示す図である。
【
図11】トレンド予測データのデータ構造の一例を示す図である。
【
図12】将来予測部の動作の一例を説明するためのフローチャートである。
【
図13】分析結果表示部が表示する表示情報の一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本開示の実施形態について図面を参照して説明する。
【0016】
図1は、本開示の一実施形態の情報システムの全体構成を示す図である。
図1に示す情報システムは、管理サーバ101、データセンタ102、ネットワーク103、メトリックDB(Database:データベース)104及びコンソール105を含む。
【0017】
管理サーバ101は、データセンタ102に設置された管理対象の機器から取得される時系列データであるメトリックデータの将来の挙動を予測する時系列データ予測装置である。メトリックデータの種類は限定されないが、例えば、情報システムのリソースに関するセンシングデータなどである。管理サーバ101は、インタフェース111、データ取得部112、将来予測部113及び分析結果表示部114を含む。管理サーバ101の各構成な説明は、
図5において後述する。
【0018】
データセンタ102は、管理対象の機器が設置される場所である。本実施形態では、管理対象の機器として、サーバ機器121、ネットワーク機器122及びストレージ機器123を含む。サーバ機器121、ネットワーク機器122及びストレージ機器123は、それぞれ複数あってもよい。また、これらの機器は、管理対象の機器の一例であって、これらに限定されるものではない。
【0019】
ネットワーク103は、管理サーバ101、データセンタ102、メトリックDB104及びコンソール105などを互いに通信可能にさせる通信ネットワークである。
【0020】
メトリックDB104は、管理対象の機器に関するメトリックデータを保存及び管理する格納装置である。
【0021】
コンソール105は、情報システムの管理者が使用する機器であり、管理者から種々の情報を受け付けたり、管理者に対して種々の情報を通知(例えば、表示)したりする入出力装置である。
【0022】
なお、
図1においては、管理サーバ101、メトリックDB104及びコンソール105は、データセンタ102の外部に配置されているが、データセンタ102の内部に配置されてもよい。
【0023】
図2は、管理サーバ101のハードウェア構成の一例を示す図である。
【0024】
図2において、管理サーバ101は、例えば、一般的な計算機を用いて実現することができる。ここでは、管理サーバ101は、CPU(Central Processing Unit)201、メモリ202、補助記憶装置203、通信インタフェース204、メディアインタフェース205及び入出力装置206を含む。
【0025】
補助記憶装置203は、書き込み及び読み出しが可能にデータを記録する装置であり、CPU201の動作を規定するプログラムなどを記憶する。通信インタフェース204は、ネットワーク103を介してコンソール105などの外部装置と通信する。メディアインタフェース205は、外部記録媒体207に対してデータの書き込み及び読み出しを行う。入出力装置206は、管理サーバ101を操作するコンソール105に接続される。
【0026】
CPU201は、管理サーバ101の動作を規定するプログラムを補助記憶装置203からメモリ202に読み出し、メモリ202を利用してプログラムを実行することで、
図1に示したインタフェース111、データ取得部112、将来予測部113及び分析結果表示部114を実現する。なお、プログラムは、補助記憶装置203に予め記憶されていてもよいし、必要なときに通信インタフェース204を介して外部装置から取得してもよいし、メディアインタフェース205を介して外部記録媒体207から取得してもよい。外部記録媒体207としては、例えば、ハードディスク、SSD(Solid State Drive)、IC(Integrated Circuit)カード、SD(Secure Digital)メモリカード及びDVD(Digital Versatile Disc)などが挙げられる。
【0027】
なお、管理サーバ101の各構成及び機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。
【0028】
図3は、メトリックデータの特徴について説明するための図である。
【0029】
メトリックデータは、第1の特徴として、月末付近の特定の曜日のような非等間隔のタイミングで大きく変動する「非等間隔イベント」が発生することがある。また、メトリックデータは、第2の特徴として、過去に計測されていない値が出現する「外挿」が発生することがある。なお、
図3では、7月における「外挿」、つまり6月までに計測されていない値を示している。また、メトリックデータは、月替わりなどの特定のタイミングの前後で相対的な挙動は継続するが、絶対的な値の範囲が大きくシフトする「ベースラインシフト」が発生することがある。
【0030】
図4は、管理サーバ101が行う処理の概要を説明するための図である。
【0031】
先ず、
図4(a)に示すように管理サーバ101は、過去のメトリックデータである学習データに対して機械学習を行い、メトリックデータの挙動の傾向であるトレンドを学習してトレンド予測モデルを生成する。管理サーバ101は、そのトレンド予測モデルを用いてトレンドを示すトレンドデータを予測してトレンド予測データとして出力する。トレンドデータの予測であるトレンド予測は、将来の期間だけでなく、学習データの期間(過去の期間)に対しても行う。なお、過去の期間におけるトレンド予測データが学習データに対して正確に一致するする必要はない。
【0032】
続いて、
図4(b)に示すように管理サーバ101は、学習データからトレンドデータを差し引いて、トレンドデータと学習データとの相対的な値を示す残差データを生成する。残差データは、学習データから「外挿」に関する部分が除去されているため、ランダムフォレストなどのツリー系の機械学習手法により扱いやすいデータとなる。
【0033】
さらに、
図4(c)に示すように管理サーバ101は、残差データに対して機械学習を行い、トレンドを除いたメトリックデータの挙動であるイベントを学習してイベント予測モデルを生成する。管理サーバ101は、そのイベント予測モデルを用いてイベントを示すイベントデータを予測してイベント予測データとして出力する。イベントデータの予測であるイベント予測は、将来の期間だけでなく、学習データの期間(過去の期間)に対しても行う。
【0034】
そして、
図4(d)に示すように管理サーバ101は、イベント予測データに対してトレンド予測データを加算することで、トレンドとイベントの両方を考慮した複合予測データを生成する。
【0035】
また、
図4(e)に示すように管理サーバ101は、学習データの末尾期間における学習データと複合予測データと差分に基づいて、ベースラインシフトが発生したか否かを判定する。このとき、差分が大きい場合、ベースラインシフトが発生したこととなる。
【0036】
ベースラインシフトが発生した場合、
図4(f)に示すように管理サーバ101は、将来の期間の初期期間における複合予測データが過去の期間の末尾期間と近くなるように、将来の期間の複合予測測データをシフトさせて予測データを生成する。
【0037】
図5は、管理サーバ101のより詳細な構成を示す図である。
図5に示す管理サーバ101は、
図1に示したようにインタフェース111、データ取得部112、将来予測部113及び分析結果表示部114を含む。
【0038】
インタフェース111は、メトリックデータの将来の値を予測する予測処理の実行を要求する処理リクエストを外部(例えば、コンソール105)から受け付ける。処理リクエストは、引数として、予測対象のメトリックデータの種別であるメトリック種別と、メトリックデータの値を予測する将来の期間である将来予測期間D02とを含む。インタフェース111は、処理リクエストに含まれるメトリック種別をデータ取得部112に出力し、処理リクエストに含まれる将来予測期間D02を将来予測部113に出力する。
【0039】
データ取得部112は、インタフェース111からのメトリック種別に対応する過去のメトリックデータを
図1のメトリックDB104から取得して、メトリックデータD01として将来予測部113に出力する。
【0040】
将来予測部113は、インタフェース111からの将来予測期間D02と、データ取得部112からのメトリックデータD01とを受け付ける。将来予測部113は、メトリックデータD01に基づいて、将来予測期間D02におけるメトリックデータの予測結果である将来予測データD12を生成して分析結果表示部114に出力する。
【0041】
分析結果表示部114は、将来予測部113からの将来予測データD12を含む表示情報であるGUI(Graphical User Interface)を表示する。
【0042】
以下、将来予測部113についてより詳細に説明する。将来予測部113は、具体的には、データ分割部401、トレンド・イベント予測部402及び補正部403を含む。
【0043】
データ分割部401は、データ取得部112からのメトリックデータD01から、過去の一定期間におけるメトリックデータD01の値を示す実測値データとして、学習データD03及び検証データD04を抽出して出力する。学習データD03は、例えば、メトリックデータD01のうち、1番目の月からT-1番目の月までのデータである。検証データD04は、例えば、メトリックデータD01のうち、T番目の月のデータである。この場合、1番目の月の最初からT番目の月の最後までの期間が過去の一定期間となる。
【0044】
トレンド・イベント予測部402は、インタフェース111からの将来予測期間D02と、データ分割部401からの学習データD03及び検証データD04とを受け付ける。トレンド・イベント予測部402は、将来予測期間D02、学習データD03及び検証データD04に基づいて、対象期間における時系列データの傾向を示すトレンド予測データD06と、対象期間における時系列データの値を予測したイベント予測データD09とを算出して出力する。対象期間は、一定期間(学習データD03の期間及び検証データD04の期間)を含む期間であり、より具体的には、一定期間に将来予測期間D02を合わせた期間である。
【0045】
トレンド・イベント予測部402は、具体的には、経過時間抽出部411と、トレンド回帰部412、トレンド除去部413、時間特徴量抽出部414及びイベント回帰部415を含む。
【0046】
経過時間抽出部411は、将来予測期間D02、学習データD03及び検証データD04に基づいて、経過時間を示す経過時間情報D05を生成して出力する。経過時間情報D05は、対象期間の最初の時点(学習データの期間の最初の期間)から対象期間の最後の時点(将来予測期間D02の最後の時点)までの経過時間を示す情報であればよい。
【0047】
トレンド回帰部412は、将来予測期間D02、学習データD03、検証データD04及び経過時間情報D05に基づいて、対象期間におけるメトリックデータの傾向(トレンド)を示すトレンドデータを予測(算出)してトレンド予測データD06として出力するトレンド算出部である。
【0048】
トレンド除去部413は、学習データD03及び検証データD04のトレンド予測データD06に対する相対的な値を示す相対値データである残差データD07を生成して出力する。
【0049】
時間特徴量抽出部414は、将来予測期間D02、学習データD03及び検証データD04に基づいて、時間特徴量D08を生成して出力する。時間特徴量D08は、対象期間の最初の時点から対象期間の最後の時点まで時間に関する値であり、例えば、月、曜日及び日付などを含むカレンダー情報である。なお、カレンダー情報は、休日及び営業日などの情報を含んでもよい。
【0050】
イベント回帰部415は、残差データD07及び時間特徴量D08に基づいて、対象期間におけるメトリックデータの値を予測したイベントデータを予測(算出)してイベント予測データD09として出力するイベント算出部である。本実施形態では、残差データD07を用いているため、イベント予測データD09は、メトリックデータのトレンド成分(トレンド予測データD06の影響)を除いた値を示す。
【0051】
補正部403は、トレンド・イベント予測部402からのイベント予測データD09の各値を実測値データ(学習データD03及び検証データD04)とイベント予測データD09との差分である基準差分に応じてシフトさせた将来予測データD12を、メトリックデータの予測結果データとして算出して出力する。基準差分は、同一の期間における実測値データとイベント予測データD09との差分である。
【0052】
本実施形態では、補正部403は、データ分割部401からの検証データD04と、トレンド・イベント予測部402からのトレンド予測データD06及びイベント予測データD09とを受け付ける。また、補正部403は、トレンド復元部421、ベースラインシフト判定部422及び予測補正部423を含む。
【0053】
トレンド復元部421は、トレンド予測データD06を基準差分として、イベント予測データD09の各値をシフトさせたデータを複合予測データD10として生成して出力する。具体的には、トレンド復元部421は、トレンド予測データD06とイベント予測データD09とを合算して複合予測データD10として生成する。
【0054】
ベースラインシフト判定部422は、検証データD04及び複合予測データD10を用いて、ベースラインシフトが発生したか否かを判定する。具体的には、検証データD04の期間の末尾を含む末尾期間における検証データD04と複合予測データD10との差分を基準差分として求め、その基準差分が一定値以上あるか否かを判定する。ベースラインシフト判定部422は、基準差分が一定値以上の場合、ベースラインシフトが発生したと判定し、基準差分が一定値未満の場合、ベースラインシフトが発生していないと判定する。
【0055】
ベースラインシフト判定部422は、複合予測データD10を出力し、さらに、ベースラインシフトが発生した場合には、末尾期間における検証データD04と複合予測データD10との差分である基準差分に応じた補正量D11を出力する。補正量D11は、例えば、基準差分と同じ値でもよいし、基準差分に所定の演算を行った値でもよい。
【0056】
予測補正部423は、複合予測データD10及び補正量D11に応じた将来予測データD12を算出して出力する。例えば、予測補正部423は、ベースラインシフトが発生した場合、複合予測データD10の各値を補正量D11分シフトしたデータを将来予測データD12として出力し、ベースラインシフトが発生していない場合、複合予測データD10をそのまま将来予測データD12として出力する。
【0057】
図6は、メトリックDB104に格納されているデータの一例を示す図である。メトリックDB104に格納されているデータは、フィールド501と、フィールド502a~502cとを含む。フィールド501は、メトリックデータが計測(取得)された時刻を格納する。フィールド502a~502cは、それぞれ異なる種別のメトリックデータの値を格納する。なお、本実施形態では、時刻の単位を、年月日時分秒としているが、この例に限らない。
【0058】
図7は、メトリックデータD01のデータ構造の一例を示す図である。メトリックデータD01は、フィールド511及び512を含む。フィールド511は、メトリックデータD01が計測された時刻を格納する。フィールド512は、メトリックデータD01の値を格納する。なお、学習データD03及び検証データD04のデータ構造は、メトリックデータD01のデータ構造と同じであるため、その説明は省略する。
【0059】
図8は、経過時間情報D05のデータ構造の一例を示す図である。経過時間情報D05は、フィールド521を含む。フィールド521は、経過時間を格納する。
図8の例では、経過時間として、エポックタイムが用いられているが、経過時間はエポックタイムに限定されない。
【0060】
図9は、時間特徴量D08のデータ構造の一例を示す図である。時間特徴量D08は、フィールド531~533を含む。フィールド531は、曜日を示す曜日情報を格納する。
図8の例では、曜日情報は、日曜日から土曜日までの各曜日を0~6の数字で示している。フィールド531は、週を示す週情報を格納する。
図8の例では、週情報は、所定の週を1とした通し番号で各週を示している。フィールド533は、時間を示す時間情報を格納する。ここで、時間とは、時(h)を単位とした値である。時間特徴量D08は、分及び秒を示す情報などを格納するフィールドをさらに含んでもよい。
【0061】
図10は、将来予測期間D02のデータ構造の一例を示す図である。将来予測期間D02は、フィールド541を含む。フィールド541は、メトリックデータの値を予測する将来の予測期間内の時刻を格納する。
【0062】
図11は、イベント予測データD09のデータ構造の一例を示す図である。イベント予測データD09は、フィールド551~554を含む。フィールド551は、イベントデータを予測した時刻を格納する。フィールド552は、イベントデータの予測値の代表値を格納する。フィールド553は、イベントデータの予測値の下限値を格納する。フィールド554は、イベントデータの予測値の上限値を格納する。なお、残差データD07、複合予測データD10及び将来予測データD12のデータ構造は、イベント予測データD09のデータ構造と同じであるため、その説明は省略する。また、トレンド予測データD06のデータ構造は、例えば、イベント予測データD09のデータ構造から上限値及び下限値を除いた構造である。
【0063】
図12は、将来予測部113の動作の一例を説明するためのフローチャートである。なお、
図12のステップS601は、データ分割部401が行う処理であり、ステップS602~ステップS606は、トレンド・イベント予測部402が行う処理であり、ステップS607~ステップS610は、補正部403が行う処理である。
【0064】
ステップS601では、データ分割部401は、メトリックデータD01から、学習データD03及び検証データD04を抽出して出力する。学習データD03は、例えば、メトリックデータD01のうち、最初の月からT-1番目の月までのデータである。検証データD04は、例えば、メトリックデータD01のうち、T番目の月のデータである。
【0065】
ステップS602では、経過時間抽出部411は、将来予測期間D02、学習データD03及び検証データD04に基づいて、経過時間情報D05を生成して出力する。ここでは、将来予測期間D02はT+1番目の月を示すものとする。
【0066】
ステップS603では、トレンド回帰部412は、学習データD03及び検証データD04に基づいて、経過時間情報D05を説明変数、トレンドデータの値を目的変数としたトレンド予測モデルを生成する。トレンド回帰部412は、トレンド予測モデルを用いて、学習データD03の期間及び検証データD04の期間と将来予測期間D02とを合わせた対象期間におけるメトリックデータのトレンドを示すトレンド予測データを算出して出力する。トレンド予測モデルは、例えば、線形回帰モデルである。
【0067】
ステップS604では、トレンド除去部413は、実測値データ(学習データD03及び検証データD04)からトレンド予測データD06を差し引いて残差データD07を生成して出力する。具体的には、トレンド除去部413は、同一時刻ごとに、実測値データの値からトレンド予測データD06の値を差し引いて残差データD07を生成する。
【0068】
ステップS605では、時間特徴量抽出部414は、将来予測期間D02、学習データD03及び検証データD04に基づいて、時間特徴量D08を生成して出力する。
【0069】
ステップS606では、イベント回帰部415は、残差データD07に基づいて、時間特徴量D08を説明変数、メトリックデータの値を目的変数としたイベント予測モデルを生成する。イベント回帰部415は、イベント予測モデルを用いて、対象期間におけるメトリックデータを予測してイベント予測データとして出力する。
【0070】
イベント予測モデルは、例えば、決定木モデルを含む。本実施形態では、イベント予測モデルは、決定木モデルの一種であるランダムフォレストモデルであるとする。この場合、イベント予測モデルは、イベント予測データの候補となる候補データをそれぞれ算出する、互いに異なる複数の決定木を含む。イベント回帰部415は、各決定木により算出された複数の候補データに基づいて、イベント予測データD09の各時刻の値として、代表値、下限値及び上限値を算出する。代表値は、各候補データの値の平均値又は中央値などである。下限値は、各候補データの値の5パーセンタイル値などである。上限値は、各候補データの値の95パーセンタイル値などである。
【0071】
ステップS607では、トレンド復元部421は、トレンド予測データD06とイベント予測データD09を合算して複合予測データD10として出力する。
【0072】
ステップS608では、ベースラインシフト判定部422は、検証データD04の末尾期間の値と、その末尾期間と同じ期間における複合予測データD10の値とを比較して、ベースラインシフトが発生したか否かを判定する。
【0073】
具体的には、ベースラインシフト判定部422は、検証データD04の末尾期間の値と、その末尾期間と同じ期間における複合予測データD10の値との差分の絶対値を基準差分として求め、その基準差分が一定値以上か否かを判定する。この場合、ベースラインシフト判定部422は、基準差分が一定値以上の場合、ベースラインシフトが発生したと判定し、基準差分が一定値未満の場合、ベースラインシフトが発生していないと判定する。なお、検証データD04の末尾期間は、例えば、検証データD04の末尾の時刻のみでもよいし、末尾の時刻を含む複数の時刻を含んでもよい。末尾期間が複数の時刻を含む場合、基準差分は、末尾期間に含まれる各時刻の値の差分の平均値などである。
【0074】
ベースラインシフトが発生している場合、ステップS609の処理が実行され、ベースラインシフトが発生していない場合、ステップS610の処理が実行される。
【0075】
ステップS609では、ベースラインシフト判定部422は、基準差分に応じた補正量D11を算出し、複合予測データD10及び補正量D11を出力する。予測補正部423は、ベースラインシフト判定部422からの複合予測データD10の各値を補正量D11分シフトしたデータを将来予測データD12として生成して分析結果表示部114に出力し、処理を終了する。
【0076】
一方、ステップS610では、ベースラインシフト判定部422は、複合予測データD10を出力する。予測補正部423は、ベースラインシフト判定部422からの複合予測データD10を将来予測データD12として分析結果表示部114に出力し、処理を終了する。
【0077】
以上説明した動作は、単なる一例であって、これに限るものではない。変形例として、例えば、将来予測部113は、学習データD04及び検証データD05の期間をずらしながら複合予測データD10を繰り返し算出してもよい。
【0078】
例えば、ステップS601において、データ分割部401は、メトリックデータD01のうち、最初の月からS-1番目の月までのデータを学習データD03とし、メトリックデータD01のうち、S番目の月のデータを検証データD04とする。なお、将来予測期間D02はT+1番目の月とし、SはT以下の値であるとする。
【0079】
そして、ステップS608が終了すると、ベースラインシフト判定部422は、検証データD04の期間(S番目の月)が最終期間に到達しているか否かを判定する。最終期間は、予め定められており、例えば、将来予測期間D02の1つ前の月(T番目の月)である。
【0080】
検証データD04の期間(S番目の月)が最終期間に到達していない場合、学習データD03及び検証データD04の期間をずらして、ステップS601の処理に戻る。例えば、上記のSに1を加えてステップS601の処理に戻る。このとき、ステップS608でベースラインシフトが発生していると判定された場合、トレンド回帰部412は、トレンドデータの予測に使用する経過時間の期間を変更するなどして別の手法によるトレンド予測モデルの生成を行う。
【0081】
検証データD04の期間が最終期間に到達した場合、直前のステップS608でベースラインシフトが発生していると判定された場合、ステップS609の処理に進み、直前のステップS608でベースラインシフトが発生していないと判定された場合、ステップS610の処理に進む。
【0082】
なお、上記の変形例を適用した場合に追加される情報の流れを
図5の点線で示している。
【0083】
図13は、分析結果表示部114が表示するGUI(Graphical User Interface)の一例を示す。
【0084】
図13に示すGUI700は、将来予測データD12を表示する表示領域701を含む。表示領域には、将来予測データD12として、インタフェース111が受け付けた処理リクエストにて指定されたメトリック種別のメトリックデータ(
図7では、「メトリック1」)の過去の値を示す実測値702データと、将来予測期間D02におけるメトリックデータの予測値である予測データ703とが表示されている。予測データ703は、代表値703aだけでなく、下限値から上限値までの範囲703bを示している。
【0085】
以上説明した実施形態では、トレンド予測モデルである線形回帰モデルと、イベント予測モデルである非線形回帰モデル(具体的には、ランダムフォレストモデル)とを組み合わせている。非線形回帰モデルとしては、ニューラルネットワークを用いたものでもよい。例えば、イベント回帰部415は、N個のニューラルネットワークのそれぞれに対して学習データD03を適用して、N個のイベント予測データを算出し、それらのN個のイベント予測データから検証データD04に対する予測精度が高いK個のニューラルネットワークを抽出する。イベント回帰部415は、検証データD04の期間に対して、K個のニューラルネットワークのそれぞれの値を説明変数、検証データD04の値を目的変数として、イベント予測データを算出する。
【0086】
以上説明したように本実施形態によれば、イベント回帰部415は、過去の一定期間におけるメトリックデータの値を示す実測値データ(学習データD03及び検証データD04)に基づいて、一定期間を含む対象期間におけるメトリックデータの値を予測したイベント予測データD09を算出する。補正部403は、イベント予測データD09の各値を、同一の期間における実測値データとイベント予測データD09との差分である基準差分に応じてシフトさせたデータを時系列データの予測結果である予測結果データとして算出する。このため、イベント予測データD09の各値が実測値データとイベント予測データD09との差分に応じてシフトされるため、「外挿」及び「ベースラインシフト」が発生した場合でも、メトリックデータを適切に予測することが可能になる。
【0087】
また、本実施形態では、トレンド回帰部412は、実測値データに基づいて、対象期間におけるメトリックデータの傾向を示すトレンド予測データD06を算出する。トレンド除去部413は、実測値データのトレンド予測データに対する相対的な値を示す相対値データである残差データD07を算出する。イベント回帰部415は、残差データD07に基づいて、イベント予測データD09を算出する。補正部403は、トレンド予測データD06を基準差分として、イベント予測データD09の各値をシフトさせる。このため、「外挿」が発生した場合にメトリックデータをより適切に予測することが可能になる。
【0088】
また、本実施形態では、トレンド回帰部412は、実測値データに基づいて、経過時間を説明変数、メトリックデータの値を目的変数としたトレンド予測モデルを生成し、そのトレンド予測モデルを用いて、トレンド予測データD09を算出する。特に、トレンド予測モデルは、線形回帰モデルである。この場合、対象期間におけるメトリックデータの傾向をより適切に予測することが可能になる。
【0089】
また、本実施形態では、イベント回帰部415は、残差データD07に基づいて、カレンダー情報を説明変数、メトリックデータの値を目的変数としたイベント予測モデルを生成し、そのイベント予測モデルを用いて、イベント予測データD09を算出する。特に、イベント予測モデルは、決定木モデルを含む。この場合、メトリックデータのイベント成分をより適切に予測することが可能になる。
【0090】
また、本実施形態では、決定木モデルは、イベント予測データの候補となる候補データをそれぞれ算出する複数の決定木を含み、各候補データに基づいて、イベント予測データの値として、下限値、代表値及び上限値が算出される。この場合、メトリックデータの予測範囲を示すことが可能になる。
【0091】
また、本実施形態では、補正部403は、検証データD05の末尾期間における検証データD05と複合予測データD10との差分が一定値以上ある場合、イベント予測データの値を当該差分に応じてシフトさせる。この場合、「ベースラインシフト」が発生した場合にメトリックデータをより適切に予測することが可能になる。
【0092】
イベント回帰部415は、一定期間をずらしながら前記イベント予測データを繰り返し算出する。トレンド回帰部は、基準差分が一定値以上あると判定されると、トレンド予測データの算出方法を変更する。この場合、対象期間におけるメトリックデータの傾向をより適切に予測することが可能になる。
【0093】
上述した本開示の実施形態は、本開示の説明のための例示であり、本開示の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本開示の範囲を逸脱することなしに、他の様々な態様で本開示を実施することができる。
【符号の説明】
【0094】
101:管理サーバ、102:データセンタ、103:ネットワーク、104:メトリックDB、105:コンソール、111:インタフェース、112:データ取得部、113:将来予測部、114:分析結果表示部、121:サーバ機器、122:ネットワーク機器、123:ストレージ機器、401:データ分割部、402:トレンド・イベント予測部、403:補正部、411:経過時間抽出部、412:トレンド回帰部、413:トレンド除去部、414:時間特徴量抽出部、415:イベント回帰部、421:トレンド復元部、422:ベースラインシフト判定部、423:予測補正部