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

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

▶ 株式会社東芝の特許一覧 ▶ 東芝エネルギーシステムズ株式会社の特許一覧

特許7458268情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム
<>
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図1
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図2
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図3
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図4
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図5
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図6
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図7
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図8
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図9
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図10
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図11
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図12
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図13
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図14
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図15
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図16
  • 特許-情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-21
(45)【発行日】2024-03-29
(54)【発明の名称】情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240322BHJP
   G06N 5/04 20230101ALI20240322BHJP
   G06Q 10/04 20230101ALI20240322BHJP
【FI】
G06N20/00 130
G06N5/04
G06Q10/04
【請求項の数】 19
(21)【出願番号】P 2020140400
(22)【出願日】2020-08-21
(65)【公開番号】P2022035829
(43)【公開日】2022-03-04
【審査請求日】2023-01-23
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317015294
【氏名又は名称】東芝エネルギーシステムズ株式会社
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118876
【弁理士】
【氏名又は名称】鈴木 順生
(72)【発明者】
【氏名】ポール トポン
【審査官】北川 純次
(56)【参考文献】
【文献】特開2016-152039(JP,A)
【文献】特開2020-115276(JP,A)
【文献】特開2003-108909(JP,A)
【文献】特開2008-003920(JP,A)
【文献】特開平10-074188(JP,A)
【文献】特開2019-101490(JP,A)
【文献】米国特許出願公開第2017/0220939(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 99/00
G06Q 10/04
G06F 18/00
(57)【特許請求の範囲】
【請求項1】
目的変数の時系列データを、前記目的変数の値に基づいて、複数の第1区間に分割
説明変数の時系列データと前記目的変数の時系列データとに基づき、前記複数の第1区間に対して、前記説明変数と前記目的変数とが関連づいた複数の予測モデルを生成し、
前記説明変数の時系列データと、前記説明変数の予測値を含む予測データとに基づき、前記複数の第1区間から第1区間を選択
選択された前記第1区間に対して生成された前記予測モデルを用いて前記目的変数を予測する処理部、
を備えた情報処理装置。
【請求項2】
前記処理部は、前記目的変数の時系列データを時間方向に分割して前記複数の第1区間を生成する
請求項1に記載の情報処理装置。
【請求項3】
前記予測モデルは、第1時刻の前記説明変数と、前記第1時刻より後の第2時刻の前記目的変数を対応付けており、
前記第1時刻から前記第2時刻までの時間は第1時間であり、
前記処理部は、前記説明変数の時系列データにおいて前記予測データとマッチングする部分を少なくとも1つ特定
前記処理部は、前記マッチングする部分から前記第1時間後の時刻が含まれる第1区間を選択する
請求項2に記載の情報処理装置。
【請求項4】
前記予測モデルは、第1時刻の前記説明変数と、第3時刻の目的変数とを、前記第3時刻より後の第2時刻の前記目的変数に対応付けており、
前記第1時刻から前記第2時刻までの時間は第1時間であり、
前記第3時刻は前記第1時刻の第2時間前又は後の時刻であり、
前記処理部は、前記予測データと、前記予測データから前記第2時間前又は後の時刻の前記目的変数の値との組が、前記説明変数の時系列データ及び前記目的変数の時系列データとの組においてマッチングする少なくとも1つの部分を特定
前記処理部は、前記マッチングする部分の時刻から前記第1時間後の時刻が含まれる第1区間を選択する
請求項2に記載の情報処理装置。
【請求項5】
前記処理部は、前記目的変数の時系列データに含まれる前記目的変数の値を複数の基準値のいずれかに対応づけることにより、前記基準値の時系列データを生成し、前記基準値が変化する時刻で、前記目的変数の時系列データを分割することにより、前記複数の第1区間を生成する
請求項2~4のいずれか一項に記載の情報処理装置。
【請求項6】
前記処理部は、前記時系列データを前記目的変数の値の範囲に応じて分割することにより、前記複数の第1区間を生成する
請求項1に記載の情報処理装置。
【請求項7】
前記予測モデルは、第1時刻の前記説明変数と、前記第1時刻より後の第2時刻の前記目的変数を対応付けており、
前記第1時刻から前記第2時刻までの時間は第1時間であり、
前記処理部は、前記説明変数の時系列データにおいて前記予測データとマッチングする部分を少なくとも1つ特定
前記処理部は、前記マッチングする部分から前記第1時間後の時刻における前記目的変数の値が含まれる前記第1区間を選択する
請求項6に記載の情報処理装置。
【請求項8】
前記予測モデルは、第1時刻の前記説明変数と、第3時刻の目的変数とを、前記第3時刻より後の第2時刻の前記目的変数に対応付けており、
前記第1時刻から前記第2時刻までの時間は第1時間であり、
前記第3時刻は前記第1時刻の第2時間前又は後の時刻であり、
前記処理部は、前記予測データと、前記予測データから前記第2時間前又は後の時刻の前記目的変数の値との組が、前記説明変数の時系列データ及び前記目的変数の時系列データとの組においてマッチングする少なくとも1つの部分を特定
前記処理部は、前記マッチングする部分の時刻から前記第1時間後の時刻が含まれる第1区間を選択する
請求項6に記載の情報処理装置。
【請求項9】
前記処理部は、複数の基準値によって前記目的変数の時系列データを前記複数の第1区間に分割し、
前記複数の第1区間は、前記複数の基準値間の複数の区間である
請求項6~8のいずれか一項に記載の情報処理装置。
【請求項10】
前記処理部は、前記目的変数の時系列データに含まれる前記目的変数の値の分布に基づいて、前記複数の基準値を決定する
請求項5又は9に記載の情報処理装置。
【請求項11】
前記複数の基準値は予め設定された複数の閾値である
請求項5又は9に記載の情報処理装置。
【請求項12】
前記処理部は、前記第1区間に対して前記予測モデルの複数の候補を生成し、
前記複数の候補を用いて、前記目的変数の予測値を算出し、
前記予測値が、前記目的変数と同じ前記基準値間の区間に含まれる場合は、前記予測値は正解であると判断し、前記正解の回数に基づいて、前記複数の候補から前記予測モデルを選択する
請求項5、9~11のいずれか一項に記載の情報処理装置。
【請求項13】
前記処理部は、前記第1区間に対して前記予測モデルの複数の候補を生成し、
前記複数の候補と前記説明変数の時系列データを用いて前記目的変数の予測値を算出し、
前記予測値が第1条件を満たすか否かに基づいて、前記予測値が正解か否かを判断し、前記正解の回数に基づいて、前記複数の候補から候補を選択し、
前記第1条件を満たさない場合であっても、前記予測値の時刻からウィンドウ幅内に前記予測値に対して前記第1条件を満たす目的変数の値が存在する場合は、前記予測値は正解であると判断する
請求項5、9~11のいずれか一項に記載の情報処理装置。
【請求項14】
前記処理部は、複数の前記第1区間を選択し、
前記処理部は、複数の前記第1区間に対して生成された複数の前記予測モデルを用いて、前記目的変数を予測する
請求項1~13のいずれか一項に記載の情報処理装置。
【請求項15】
前記処理部は、深層学習、統計的手法又は回帰的手法に基づき前記予測モデルを生成する
請求項1~14のいずれか一項に記載の情報処理装置。
【請求項16】
前記複数の第1区間、及び選択された前記第1区間に対応する前記予測モデル、前記予測モデルによる前記目的変数の予測値に関する情報を出力する出力部
を備えた請求項1~15のいずれか一項に記載の情報処理装置。
【請求項17】
コンピュータが、
目的変数の時系列データを、前記目的変数の値に基づいて、複数の第1区間に分割し、
説明変数の時系列データと前記目的変数の時系列データとに基づき、前記複数の第1区間に対して、前記説明変数と前記目的変数とが関連づいた複数の予測モデルを生成し、
前記説明変数の時系列データと、前記説明変数の予測値を含む予測データとに基づき、前記複数の第1区間から第1区間を選択し、
選択した前記第1区間に対して生成された前記予測モデルを用いて前記目的変数を予測する,
情報処理方法。
【請求項18】
目的変数の時系列データを、前記目的変数の値に基づいて、複数の第1区間に分割するステップと、
説明変数の時系列データと前記目的変数の時系列データとに基づき、前記複数の第1区間に対して、前記説明変数と前記目的変数とが関連づいた複数の予測モデルを生成するステップと、
前記説明変数の時系列データと、前記説明変数の予測値を含む予測データとに基づき、前記複数の第1区間から第1区間を選択するステップと、
選択された前記第1区間に対して生成された前記予測モデルを用いて前記目的変数を予測するステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【請求項19】
水力発電所の貯水量に関連する目的変数を含む時系列データを、前記目的変数の値に基づいて、複数の第1区間に分割する分割部と、
気象量に関連する説明変数の時系列データと前記目的変数の時系列データとに基づき、前記複数の第1区間に対して、説明変数と前記目的変数とが関連づいた複数の予測モデルを生成するモデル生成部と、
前記説明変数の時系列データと、前記説明変数の予測データに基づき、前記複数の第1区間から第1区間を選択する選択部と、
選択された前記第1区間に対して生成された前記予測モデルを用いて前記目的変数を予測する予測部と、
前記目的変数の予測値に基づき、発電計画を行う計画部と、
を備えた情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システムに関する。
【背景技術】
【0002】
気象予測、異常気象予測、防災、再生可能エネルギー、水力発電、株価、リスク分析などの分野では、現在と過去の時系列データを用いて目的変数の一定時間後の将来の値を予測することが広く行われている。しかしながら、ピーク値、すなわち、極値又はその近傍で予測誤差が非常に大きくなる問題があった。特に、予測期間が長くなると、予測誤差がより大きくなる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開第2013-152532号公報
【文献】特開第2009-266100号公報
【文献】特許第6445175号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、目的変数を高精度に予測する情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システムを提供する。
【課題を解決するための手段】
【0005】
本発明の実施形態としての情報処理装置は、目的変数を含む時系列データを、前記目的変数の値に基づいて、複数の第1区間に分割する分割部と、説明変数の時系列データと前記目的変数の時系列データとに基づき、前記複数の第1区間に対して、説明変数と前記目的変数とが関連づいた複数の予測モデルを生成するモデル生成部と、前記説明変数の時系列データと、前記説明変数の予測値を含む予測データとに基づき、前記複数の第1区間から第1区間を選択する選択部と、選択した第1区間に対応する前記予測モデルを用いて前記目的変数を予測する予測部と、を備える。
【図面の簡単な説明】
【0006】
図1】実施形態に係る予測装置のブロック図。
図2】ピーク値の予測の困難性の2つの事例を示す図。
図3】目的変数と説明変数の時系列データを示す図。
図4】目的変数のカーネル密度推定例を示す図。
図5】目的変数の時系列データから定常状態値の時系列データを算出し、状態変化点で区切った例を示す図。
図6】モデル学習用データを作成する例を示す図。
図7】モデル学習用データの例を示す図。
図8】モデル学習の第一例を示す図。
図9図8に続く処理の例を示す図。
図10図9に続く処理の例を示す図。
図11】目的変数予測用データを作成する例を示す図。
図12】目的変数予測用データのマッチングと、マッチング結果に応じたモデルの選択例を示す図。
図13】モデル学習用結果及び予測結果を表示するGUIを示す図。
図14】実施形態の処理全体に係るフローチャート。
図15】変形例において全区間に対して決定されたモデルの例を示す図。
図16】変形例においてマッチング部の特定後のモデル選択の例を示す図。
図17】実施形態に係る情報処理システムのブロック図。
【発明を実施するための形態】
【0007】
以下、図面を参照しながら、本発明の実施形態について説明する。また、図面において同一の構成要素は、同じ番号を付し、説明は、適宜省略する。
【0008】
(第1実施形態)
図1は、本実施形態に係る情報処理装置である予測装置101のブロック図である。図1の予測装置101は、時系列データDB1、データ分割部2(分割部)、学習用データ作成部3、モデル生成部4、手法リスト5、モデルDB6、マッチング部7、選択・予測部8(選択部、予測部)、予測結果DB9、結果出力部10(出力部)を備える。
【0009】
図1の予測装置101は、説明変数と目的変数とを含む時系列データに基づき、将来における目的変数を高精度に予測する。例えば、ダムの水位予測(水力発電所の貯水量に関する予測)、風速予測、異常気象予測、リスク分析予測、株価予測などを予測する。本実施形態の技術的背景として、目的変数の予測、特にピーク値(極値)の予測が困難であるという問題があった。本実施形態では目的変数のピーク値の予測を高精度に行うことを可能にするものである。
【0010】
図2は、ピーク値の予測が困難である二つの事例を示す。事例1の予測では、殆どのピークでは、予測値は実値より低い。事例2の予測では、大きなピークでは、予測値が実値より大きい。他の小さいピークでは、予測値が実値より低い。本実施形態では、これらピークの値(ピーク値)を高精度に予測することを実現する。
【0011】
時系列データDB1は目的変数の過去の時系列データを保持する。また、時系列データDB1は説明変数の過去と将来との時系列データを保持する。説明変数の将来の時系列データは、説明変数の予測値の時系列データである。なお説明変数の将来の時系列データは必ずしも時系列データDB1に格納されている必要は無い。各過去の時系列データに含まれる時刻のうちこれから目的変数の予測を行おうとする時刻は、現在時刻に対応する。
【0012】
図3は、目的変数の時系列データ及び説明変数の時系列データをグラフ形式で例示した図である。一番上のグラフが、目的変数の過去の時系列データを示す。現在時刻をtcとすると、tc以前の目的変数の値が含まれる。
【0013】
上から2番目のグラフは、説明変数X1の時系列データを示す。より詳細には、tc以前の過去の時系列データと、tcより後の将来の時系列データが示される。
【0014】
一番下のグラフは、説明変数X2の時系列データを示す。より詳細には、tc以前の時系列データと、tcより後の将来の時系列データが示される。
【0015】
説明変数X1、X2の将来の時系列データの取得方法は特に限定されない。例えば、説明変数X1、X2が気象量に関する変数であれば、外部の気象サーバから将来の説明変数X1、X2の予測値を取得してもよい。あるいは、過去の時系列データから回帰分析等の手法を用いて、説明変数X1、X2の将来の値を予測してもよい。
【0016】
目的変数及び説明変数の過去の時系列データはモデル学習のためのモデル学習用データの作成のために用いられる。説明変数の将来の時系列データは、目的変数の将来の値を予測するための目的変数予測用データとして用いられる。
【0017】
データ分割部2は目的変数の時系列データに基づき、複数の定常状態値(基準値)を推定する。そして、目的変数の値に対してそれぞれ定常状態値を対応づける。目的変数の定常状態値を決定する。これにより目的変数の時系列データから、定常状態値の時系列データ(基準値の時系列データ)を生成する。
【0018】
定常状態値を推定するために、目的変数の値の分布を用いた手法、例えば、クラスタリング手法あるいはカーネル密度推定(Kernel Density Estimation, KDE)を用いることができる。あるいは、定常状態値として、予め設定した複数の閾値を用いることもできる。、あるいは学習したモデルの予測誤差に基づき、定常状態値を決めることもできる。以下、具体例をいくつか示す。
【0019】
図4は、目的変数Yのカーネル密度推定例を示す。カーネル密度推定は目的変数の未知の確率分布を推定する。図4の例では、図3の目的変数の時系列データをカーネル密度推定量した結果の確率分布(頻度分布)が示される。横軸が目的変数の値、縦軸が確率(頻度)である。この確率分布を、ピーク・谷に基づいて複数のグループに分割する。図4では、確率分布が6つのグループ(グループ1~6)に分割されている。各グループの代表値を算出し、算出した代表値を定常状態値とする。代表値の例として、平均値、中央値、最大値、最小値、あるいは最頻値がある。
【0020】
図5は目的変数の時系列データから、定常状態値の時系列データを算出した例を示す。時間軸方向において定常状態値が変化する位置は、状態変化点に対応する。目的変数の値が、どの定常状態値に対応するかは任意の方法で決める。例えば、最も近い定常状態値に対応するとしてもよい。あるいは目的変数の時系列データのグラフを近似する定常状態値のグラフを求め、求めたグラフのデータを、定常状態値の時系列データとしてもよい。その他の手法を用いてもよい。目的変数の時系列データが頻繁に大きく変動する場合、点ごと(時刻ごと)に定常状態値が変動する場合もあり得る。
【0021】
データ分割部2は、目的変数の時系列データを、目的変数の値に基づいて、複数の区間(第1区間)に分割する。一例として、データ分割部2は、状態変化点で目的変数を区切り(つまり水平方向において目的変数の時系列データを区切って)、時間方向に複数の区間を設定する。データ分割部2は、目的変数の時系列データに対して、定常状態値で目的変数を区切って(つまり垂直方向において目的変数の時系列データを区切って)、定常状態区間(基準値間の区間)を設定する。定常状態区間(基準値間の区間)は、後述する予測誤差の評価のために用いることができる。定常状態区間が同じ目的変数の値と予測値とは誤差がない(予測が正解)とみなす処理を行うことにより、モデル学習を効率的に行う。水平方向の区間(第1区間)は、後述する区間ごとのモデルを選択するために用いる。また、後述するよう水平方向の区間が同じ区間内であれば、モデル学習時に予測したピークが時間ずれで生じても、予測値は正解とすることもできる。これにより、ピーク値の予測精度が一層向上する利点がある。
【0022】
図4ではカーネル密度推定を用いて定常状態値を決定したが、前述したように、データ分割部2は、予め設定した複数の閾値をそれぞれ定常状態値としてもよい。この場合、時系列データDB1に、複数の閾値を複数の定常状態値(基準値)として予め設定しておいてもよい。
【0023】
また、データ分割部2は、モデルの予測誤差を用いて定常状態値を決定してもよい。まず、時系列データDB1を用いて、説明変数から目的変数を予測するモデルを学習する。学習したモデルと時系列データDB1を用いて、目的変数の予測を行う。モデル学習は、後述するモデル生成部4と同じ方法を用いて行ってもよいし、別の方法で行ってもよい。目的変数の予測値が、目的変数の値に対して予め設定した範囲内であれば、予測値が正解と判定する。当該予測値から状態値を算出する。状態値は予測値そのものでもよいし、予め定めた複数の閾値のうちの最も近い値でもよい。あるいは、正解と判定された複数の予測値の平均値でもよいし、複数の予測値をグルーピングして、各グループの代表値を状態値としてもよい。次の反復では、時系列データDB1において、以前の反復で予測値が不正解となった目的変数の予測のモデルの作成に必要なデータを用いて、モデル学習する。同様に、学習したモデルと、当該必要なデータを用いて目的変数の予測を行う。当該予測値が目的変数の値に対して予め設定した範囲内であれば、当該予測値が正解と判定する。当該予測値から状態値を算出する。最終的に得られた全ての状態値から定常状態値を算出する。全ての状態値をそれぞれ定常状態値としてもよい。あるいは、近似する状態値は1つに統合(平均値をとる)するなど、状態値を修正したものを、定常状態値としてもよい。
【0024】
手法リスト5は、モデル生成部4が用いる1つ以上のモデル学習手法の情報を保持している。例えば、初期パラメータ値、設定パラメータ値、手法のアーキテクチャーなどの情報を保持している。モデル学習手法として機械学習分野で広く用いられている予測手法である線形回帰(Linear Regression)、Huber Regression、k近傍法回帰(Kneighbors Regression)、決定木回帰 (Decision Tree Regression)、深層学習に基づいた手法LSTM (長・短期記憶)、統計的時系列予測モデル(自己回帰和分移動平均モデル、ARIMAとARIMAX)、傍法回帰(Kneighbors Regression)、極値分析(Extreme Value Theory)、ニューラルネットワークなどがある。
【0025】
学習用データ作成部3は、モデル生成部4がモデル学習に用いるモデル学習用データを作成する。一例として最初はモデル学習用データを、水平方向の全区間(全第1区間)を対象に作成する。
【0026】
モデル生成部4は、学習用データ作成部3が作成したモデル学習用データを用いて説明変数と目的変数とを関連付けた予測モデル(以下、モデル)を、1つ以上又は複数のモデル学習手法(本例では複数のモデル学習手法)で複数生成する。モデルを生成することを、モデルを学習すると呼ぶ。ここで生成する複数のモデルは、各区間に対するモデルの候補である。
【0027】
学習用データ作成部3は、学習されたモデルに対する評価を各区間に対して行い、予測精度が条件を満たす区間(予測精度が高い区間)の個数をモデル間で比較する。最も区間数が多いモデル、あるいは区間数が閾値以上のモデルを選択する。以下の説明では、最も区間数が多いモデルを選択する場合を記載する。選択したモデルを当該モデルの予測精度が高かった区間に対して決定する。
【0028】
学習用データ作成部3は、モデルが決定された区間以外の残りの区間に関するモデル学習用データ(残りの区間の目的変数の予測のモデルを生成するのに必要なデータ)を特定する。
【0029】
特定したモデル学習用データに対して、モデル生成部4は複数のモデル学習手法でモデルを生成する。
【0030】
学習用データ作成部3は、学習されたモデルに対する評価を残りの各区間に対して行い、予測精度が高い区間数をモデル間で比較する。最も区間数が多いモデルを選択し、選択したモデルを当該予測精度が高い区間に対して決定する。残りの区間のうち、モデルが決定された区間以外の区間(さらなる残り区間)に関するモデル学習用データ(当該さらなる残り区間の目的変数の予測のモデルを生成するのに必要なデータ)を特定する。
【0031】
以降、全ての区間に対してモデルが決定されるまで、同様の処理を繰り返す。
【0032】
以下、学習用データ作成部3及びモデル生成部4の動作について詳細に説明する。
【0033】
モデル生成部4は、学習用データ作成部3が作成したモデル学習用データに基づいて、複数のモデル学習手法により、モデルを学習する。また、モデル生成部4は、学習した複数のモデルのうち、選択したモデルのパラメータと、当該モデルに対して決定された区間の情報を保存する。さらに、選択したモデルの学習に用いたモデル学習用データ等をモデルDB6に保存してもよい。
【0034】
モデル生成部4は、作成されたモデル学習用データに基づき、目的変数Yと各説明変数Xとの相互相関分析を行い、相互相関が高いタイムラグ(時間ずれ)を相互相関情報として取得する。相互相関情報に基づき、同一の説明変数Xごとに、時刻が異ならせた複数の説明変数をモデル用の変数として用いてもよい。モデル生成部4は、相互相関情報をモデルDB6に保存する。
【0035】
目的変数Yの時刻t(例えば現在時刻)の値がY(t)であり、時間Δt後の予測値がY(t+Δt)である場合、下記のような関数(モデル)を定義する。本例では、Y(t+Δt)の予測のため、目的変数の過去の値T(t)等を用いているが、目的変数の過去の値T(t)等を用いずに、説明変数のみで、Y(t+Δt)の予測を行う構成も可能である。
【0036】
【数1】
【0037】
ここで、Xiは説明変数であり、Δtは予測期間であり、liは相互相関(Cross Correlation)分析で取得したタイムラグであり、wは窓幅である。Δtとwは、モデル生成部4又はモデルDB6等に予め設定されている。
【0038】
図6は時刻(タイムスタンプ)tごとに時間Δt後の予測のモデル学習のために用いられるモデル学習用データの例を示す。本例では、Δt後の予測値Y(t+Δt)が、{Y(t), Y(t-1), Y(t-2), X1(t+Δt -3), X1(t+Δt -4), …,X1(t+Δt -24), X2(t+Δt -13), X2(t+Δt -14), …, X2(t+Δt -21)}の関数になる。
【0039】
図7は、時刻tに対するモデル学習用データをテーブル形式で示した図である。“t+1h”は、時刻tの一時間後を意味する。時刻tの目的変数の値は、一時間前における時刻t+1hの目的変数の値に一致している。
【0040】
上記の関数(モデル)は、少なくとも1つの第1時刻の説明変数と、第2時刻(t+Δtあるいはt+1h)の目的変数を対応付けている。少なくとも1つの第1時刻の説明変数は、図6又は図7の例では、t+Δt -3、t+Δt -4・・・のX1、あるいは、t+Δt -13、t+Δt -14・・・のX2、あるいは、これらの両方である。
【0041】
上記の関数(モデル)は、さらに、少なくとも1つの第1時刻の説明変数と、第2時刻より前である第3時刻の目的変数とを、第2時刻の目的変数に対応付けている(つまり、Y(t+Δt)の予測のため、目的変数の過去の値Y(t)等を用いている)。
【0042】
学習用データ作成部3は、モデル生成部4で学習された複数のモデルのそれぞれについて、モデルの学習に用いたモデル学習用データを用いて予測値を算出する。予測値に基づいて、モデルの評価を行う。予測値が第1条件を満たすかに応じて予測値の正解有無を決定する。
【0043】
例えば、目的変数の実際の値(実値)が属する定常状態区間(基準値間の区間)に入っている場合、予測値は正解と判断する。
【0044】
あるいは、予測値ごとに、実値に対して予め設定した範囲に入っているかで、評価を行ってもよい。予め設定した範囲は、例えば、μ-3σ~μ+3σ、あるいは実値×1.1の範囲である。μは平均、σは標準偏差である。当該範囲に予測値が含まれる場合は、予測値は正解と判断する。特に、目的変数の時系列データが頻繁に大きく変動する場合、後者の手法が考えられる。
【0045】
また、予測値が第1条件を満たさない場合でも、一定のウィンドウ幅(時間幅)以内に、当該第1条件を満たす目的変数が存在する場合は、予測値は正解としてもよい。これによりピークがウィンドウ幅内で時間ずれで発生している場合を許容することができる。ピークは時系列データからピークを検出するピーク検出技術を用いて行ってもよいし、事前にピークの条件を与えておき、条件を満たすものをピークとしてもよい。
【0046】
学習用データ作成部3は、区間に入っているポイント(予測値)の内の正解数に基づいて、区間の予測精度を評価する。例えば、ある区間で正解率が70%以上の場合、選択基準を満たす(予測精度が高い)と判断する。正解率が70%未満の場合は、選択基準を満たさない(予測精度が低い)と判断する。
【0047】
学習用データ作成部3は合致した正解数の代わりに、予測分野で広く用いられている評価尺度を用いることもできる。各区間で評価尺度として二乗平均平方根誤差(Root Mean Square Error, RMSE)、決定係数(R2)、平均絶対誤差(Mean Absolute Error、MAE)、平均絶対誤差率(Mean Absolute Percentage Error, MAPE)を用いることもできる。
【0048】
図8はモデル学習とモデル学習用データの作成の具体例を示す。まず、図8の上側に示すように、モデル生成部4が、モデル学習用データの全データを用いて三つの手法(ARIMAX, LSTM, Huber Regressor)を用いて、モデル学習を行う。学習用データ作成部3は、学習したモデルを用いた予測結果に基づいて、モデルごとに各区間を評価する。Huber Regressorが、高精度に予測できた区間数が最も多く、最良である。Huber Regressorで学習されたモデルをモデルM(1)とする。予測精度が高かったのは区間1、3、5であるため、図8の下側に示すように、区間1,3、5に対して、モデルM(1)を決定する。モデル生成部4又は学習用データ作成部3は、モデルM(1)であるHuber Regressorのモデルパラメータと、区間1、3、5を特定する情報とをモデルDB6に保存する。区間1、3、5を特定する情報は、一例として、区間1、3、5の開始・終了時刻である。モデルM(1)の作成に用いたモデル学習用データをさらに保存してもよい。
【0049】
学習用データ作成部3は、区間1、3、5に関するデータ(区間1、3,5における目的変数の予測のモデル作成にのみ必要なデータ)をモデル学習用データから除く。すなわち、区間2、4、6、7における目的変数の予測のモデル作成に必要なモデル学習用データのみを特定する。
【0050】
図9は、図8に続く動作を説明する図である。区間2、4、6、7に関するモデル学習用データに、モデル生成部4が3つの手法(ARIMAX, LSTM, Huber Regressor)を適用してモデルを学習する。その後、学習用データ作成部3は、前回と同様に、モデルごとに、予測値に基づいて区間2、4、6、7を評価する。今回、ARIMAXが、高精度に予測できた区間数が最も多く、最良である。ARIMAXで学習されたモデルをモデルM(2)とする。予測精度が高かったのは区間2、6、7であるため、図9の下側に示すように、区間2、6、7に対して、モデルM(2)を決定する。モデル生成部4又は学習用データ作成部3は、モデルM(2)であるARIMAXのモデルパラメータと、区間2、6、7を特定する情報とをモデルDB6に保存する。区間2、6、7を特定する情報は、一例として、区間2、6、7の開始・終了時刻である。モデルM(2)の作成に用いたモデル学習用データをさらに保存してもよい。
【0051】
学習用データ作成部3は、区間2、6、7に関するデータ(区間2、6、7における目的変数の予測のモデル作成にのみ必要なデータ)をモデル学習用データから除く。すなわち、区間4における目的変数の予測のモデル作成に必要なモデル学習用データのみを特定する。
【0052】
図10は、図9に続く動作を説明する図である。区間4についても同様にして3つの手法でモデルを学習する。モデルごとに、予測値に基づいて区間4を評価する。今回、LSTMが、最も高精度に予測できたたため、LSTMで学習されたモデルをモデルM(3)とする。区間4に対して、モデルM(3)を決定する。
モデル生成部4又は学習用データ作成部3は、モデルM(3)であるLSTMのモデルパラメータと、区間4を特定する情報とをモデルDB6に保存する。区間4を特定する情報は、一例として、区間4の開始・終了タイムスタンプである。モデルM(3)モデルの作成に用いたモデル学習用データをさらに保存してもよい。
【0053】
全ての区間に対してモデルが決定されたため、学習用データ作成部3の処理は終了となる。
【0054】
マッチング部7は、時系列データDB1を用いて目的変数予測用データを作成する。モデル学習用データを作成するときと同様、例えば、相互相関情報などを用いて、予測時刻の目的変数を予測するための目的変数予測用データを作成する。
【0055】
図11は目的変数予測用データ作成の例を示す。一例として、予測時刻(予測タイムスタンプ)がt+Δtであるとき、目的変数予測用データは{Y(t), Y(t-1), Y(t-2), X1(t+Δt -3), X1(t+Δt -4),…,X1(t+Δt -24), X2(t+Δt -13), X2(t+Δt -14), …, X2(t+Δt -21)}となる。
【0056】
X1(t+Δt -3), X1(t+Δt -4),…,X1(t+Δt -24), X2(t+Δt -13), X2(t+Δt -14), …, X2(t+Δt -21)は、少なくとも1つの時刻の説明変数を含む予測データに対応する。図11の目的変数予測用データは、説明変数の予測データと、目的変数Y(t), Y(t-1), Y(t-2)とを含む。説明変数のある時刻(例えばt+Δt -3)から、目的変数のある時刻(例えばt)までの時間は一例として第2時間に対応する。モデル関数の形に応じて、目的変数予測用データが、目的変数を含まない構成も可能である。
【0057】
マッチング部7は、モデル学習用データ(図7参照)又は時系列データ(図3参照)の中に、目的変数予測用データにマッチングする部分(マッチング部分)を特定する。つまり、時刻(例えばt+Δt -3~t+Δt -24)の説明変数と時刻(t+Δt -13~t+Δt -21)の説明変数とを含む予測データと、時刻(例えばt,t-1,t-2)の目的変数の値との組について、説明変数の時系列データ及び目的変数の時系列データとの組においてマッチングする部分を少なくとも1つ特定する。目的変数の時刻(例えばt,t-1,t-2)は、マッチング部分の時刻(例えば説明変数の第1位置の時刻)から第2時間前または後の時刻に対応する。目的変数予測用データが目的変数を含まない場合、説明変数の時系列データとマッチングする部分を少なくとも1つ特定すればよい。
【0058】
マッチング部7は、具体的には、複数の時系列波形(目的変数の時系列波形、説明変数X1の時系列波形、説明変数X2の時系列波形)を用いた距離(以下、類似度)を算出し、類似度に基づき、マッチング部分の探索を行う。類似度として、ユークリッド距離を用いることができる。ユークリッド距離の代わりにDTW(Dynamic Time Warping)などの時系列間距離計算手法を用いることもできる。
【0059】
モデル学習用データはY(t1), Y(t1-1), Y(t1-2), X1(t1+Δt -3), X1(t1+Δt -4),…,X1(t1 +Δt -24), X2(t1+Δt -13), X2(t1+Δt -14), …, X2(t1 +Δt -21)で、目的変数予測用データY(t), Y(t-1), Y(t-2), X1(t+Δt -3), X1(t+Δt -4),…,X1(t+Δt -24), X2(t+Δt -13), X2(t+Δt -14), …, X2(t+Δt -21)の場合、ユークリッド距離により以下の類似度Sを計算できる。
【数2】
【0060】
マッチング部分を探索するため、t1を1ずつ減らして探索を行う。一例として1回目の処理では、t1=t-Δtとし、2回目の処理では、t-Δt-1とし、3回目の処理では、t1=t-Δt-2とし、以降同様にして、類似度Sを計算する。
【0061】
マッチング部7は、類似度Sが最適となる(類似度の値が最も小さい)モデル学習用データと、時刻(タイムスタンプ)t1+Δtとを特定する。
【0062】
特定した時刻t1+Δtは、マッチングする部分の時刻から第1時間後の時刻である。例えば、説明変数の時刻のうち第1位置の時刻(例えば説明変数X1の時刻t1+Δt -3)をマッチングする部分の時刻とすると、当該時刻から3時刻後の時刻t1+Δtである。あるいは、目的変数Yの時刻t1をマッチングする部分の時刻とすると、当該時刻からΔt後のt1+Δtである。
【0063】
図12は、マッチングの結果を示す。最もマッチングした時系列波形(類似度Sが最適となるモデル学習用データ)が破線で囲まれた枠で示される。また時刻t1+Δtが示される。時刻t1+Δtが含まれる区間に対応するモデルはLSTMである。
【0064】
選択・予測部8は、時刻t1+Δtが属する区間に対応するモデルを選択する。選択したモデルのデータをモデルDB6から取得する。取得したモデルに目的変数予測用データを入力として計算し、予測値を算出する。
【0065】
マッチング部7は、類似度Sが最適な(類似度Sが最も小さい)マッチング部分のみでなく、類似度が準最適な複数のマッチング部分とそれぞれの時刻t1+Δtとを特定してもよい。準最適とは、一例として類似度Sの値が閾値以下である、又は一定の範囲に含まれることである。マッチング部7は複数のマッチング部分のそれぞれの時刻t1+Δtが属する複数のモデルを用いて値を予測する。複数の予測値の平均値、最大値あるいは最小値等を算出し、総合的な予測値としてする。予測期間が長い場合(Δtが大きい場合)、1つのモデルの予測値が実値より大きくずれる可能性が大きくなる。このため、複数のマッチング部分を抽出して、それぞれ対応する複数のモデルを用いて値を予測することで、精度が向上する可能性があり、信頼性も上がる。
【0066】
予測結果DB9は、選択・予測部8が算出した予測値と予測時刻(t+Δt)とを記憶する。予測結果DB9は、さらにマッチング部7が同定したマッチング部分、特定したモデル学習用データ、マッチング部分の時刻t1を記憶してもよい。
【0067】
結果出力部10は、モデル学習用結果及び予測結果を出力するGUI(Graphical User Interface)機能を備える。本GUIを用いて、本装置のユーザ(操作者又は専門家等)は、モデル学習用結果及び予測結果を確認することができる。
【0068】
図13はGUIの表示例を示す。本GUIは、複数項目の表示欄を有する。「予測モデルの学習」、「予測用データのマッチング」、「評価スコア」、「予測結果」、「モデル学習修正」を備える。
【0069】
「予測モデルの学習」では、各区間での目的変数の時系列データと、各区間で選択されたモデルの予測値とが表示される。ユーザは可視化した結果を見て、各区間の予測値の精度が良いかどうかを判断することができる。予測値が良くない場合、該当する区間のNGを選択する。少なくともいずれかの区間でNGが選択された場合、「モデル学習修正」のボタンをユーザがクリックすると、当該区間のみモデル生成部4にてモデルの再学習を行い、最も精度の高いモデルを選択する。
【0070】
「評価スコア」は、モデル学習の際に評価尺を算出する場合に、算出された評価尺を表示する。評価尺度として二乗平均平方根誤差(Root Mean Square Error, RMSE)、決定係数(R2)、平均絶対誤差(Mean Absolute Error、MAE)、平均絶対誤差率(Mean Absolute Percentage Error, MAPE)などがある。
【0071】
「予測結果」は、目的変数の一定時間後(Δt後)の予測値を表示する。図の例では複数の一定時間後の予測値が表示されている。
【0072】
「予測用データのマッチング」は、マッチング部7が同定した最良のマッチング部分と、マッチングした目的変数予測用データと、マッチング部分の時刻t1が表示される。図の例では、ある一定時間後(例えば3時間後)の予測を行う場合の目的変数予測用データと、目的変数予測用データのマッチング部分と、マッチング部分の時刻t1が示される。
【0073】
図14は、本実施形態の処理全体に係るフローチャートを示す。まず、データ分割部2は時系列データDB1から目的関数と説明変数とを含む時系列データを読み込む(ステップS01)。
【0074】
次に、データ分割部2は時系列データDB1に予め設定しておいた学習/予測フラグを用いてモデル学習する学習フェーズを行うか、あるいは予測フェーズを行うかを判断する(ステップS02)。学習フェーズを行う場合(ステップS02のYES)、データ分割部2は、目的変数の時系列データを用いて定常状態値を算出し、各時刻の目的変数に対する定常状態値を特定する(ステップS03)。目的変数の時系列データを定常状態値のグラフに近似してもよい。さらに、定常状態の状態変化点に基づき、目的変数の時系列データを複数の区間に分割(水平方向の分割)する(同ステップS03)。
【0075】
次は、学習用データ作成部3は、モデル学習用データを作成する。最初は全ての時刻について(全ての区間について)モデル学習用データを作成する(ステップS04)。
【0076】
次は、モデル生成部4は学習用データ作成部3が作成したモデル学習用データを用いて、1つ以上のモデル学習手法(本説明では複数のモデル学習手法を想定)を用いて、複数のモデルを学習する(ステップS05)。
【0077】
学習用データ作成部3は、モデル生成部4が学習した各モデルを用いて複数の区間の各時刻(ポイント)について予測を行い、予測が正解したかを判断するする(ステップS06)。一例として予測値が実際の値と同じ定常状態値間の区間に属する場合は正解と判断する。正解率が閾値以上の区間を特定し、特定した区間の個数をモデルごとに計算する(同ステップS06)。区間数が最も大きいモデルを選択し、選択したモデルに対して正解率が閾値以上であった区間を決定する、あるいは対応付ける(同ステップS06)。選択したモデルのパラメータ、選択したモデルが対応する区間の情報、当該選択されたモデルの学習に用いられたモデル学習用データ等をモデルDB6に保存する(ステップS07)。
【0078】
全ての区間に対してモデルが決定された場合は(YES)、ステップS02へ戻る。また、学習用データ作成部3は結果出力部10へモデル学習結果の可視化指示を出力してもよい。まだモデルが決定されていない区間が存在する場合は(NO)、当該区間に対するモデルのみを作成するために必要なモデル学習用データを作成し、ステップS05に戻る。
【0079】
ステップS02で予測フェーズを行うと決定された場合(ステップS02のNO)、マッチング部7は、時系列データDB1から目的変数予測用データを読み込む(ステップS10)。マッチング部7は、モデル学習用データ又は時系列データから、1つ以上のマッチング部分を同定する(ステップS11)。
【0080】
選択・予測部8は、マッチング部分の時刻t1(マッチング部分から予測された目的変数の時刻)が含まれる区間に対応するモデルを選択する(ステップS12)。選択・予測部8は、選択したモデルを用いて予測値を算出する(ステップS13)。
【0081】
選択・予測部8は、同定したマッチング部分が複数かどうか、すなわち、予測を複数回行うかどうかどうか(例えば複数のモデルを用いるかどうか)を判断する(ステップS14)。なお、複数のマッチング部分がある場合、これらのマッチング部分に対応するモデルがすべて同じ場合もあり得る。複数の予測を行わない場合(ステップS14のNO)、選択・予測部8は予測値を返す(ステップS16)。複数の予測を行う場合(ステップS14のYES)、選択・予測部8は、複数の予測値を用いて最終的な予測値を算出し(ステップS15)、予測値を返す(ステップS16)。選択・予測部8はステップS16の後、マッチング部分及び予測結果等の可視化指令を結果出力部10へ出してもよい。
【0082】
以上、本実施形態によれば、目的変数の時系列データを複数の区間に分割し、区間ごとにモデル(予測モデル)を生成する。目的変数と説明変数との時系列データにおいて、目的変数予測用データがマッチングする部分を特定し、特定した部分の時刻から予測期間後の時刻が含まれる区間に対応するモデルを用いて、目的変数を予測する。これにより、目的変数を高精度に予測できる。例えば、予測期間後の目的変数がピークに該当する場合であっても、目的変数を高精度に予測できる。モデル学習においてウィンドウ幅内のピークの時間ずれを許容することで、予測したピークの時間ずれがあっても許容範囲(ウィンドウ幅)内のピークを検出することができるため、ピーク検出に本実施形態は効果的である。
【0083】
(変形例)
上述した実施形態では水平分割した区間ごとにモデルを作成した。変形例として、垂直分割した定常状態値の区間(基準値の区間)ごとにモデルを作成してもよい。この場合、水平方向の分割を行わなくてもよい。定常状態値の区間を上述した実施形態の区間(第1区間)とみなして、同様の処理を行えばよい。
【0084】
すなわち、定常状態値の区間ごとに、上述した実施形態と同様に、複数のモデルを候補として生成する。各モデルについて、定常状態値の区間の正解率を算出し、正解率が閾値以上の区間数が最も多いモデルを選択する。選択したモデルを、正解率が閾値以上であった区間に対して決定する。モデルが決定されなかった区間を対象に、複数のモデルを候補として再生成し、モデルの選択と、選択したモデルを適用する区間の決定とを行う。全ての区間に対してモデルが決定されたら、モデル作成の処理を終了する。
【0085】
図15は、全区間に対して決定されたモデルの例を示す。例えば定常状態値4と定常状態値5の間の区間に対してはARIMAXのモデルが選択されている。
【0086】
上述した実施形態で各種代替方法として可能であると説明したことは、本変形例でも同様に適用可能である。例えば正解率を用いた判断に代えて、各区間で評価尺度として二乗平均平方根誤差、決定係数、平均絶対誤差、又は平均絶対誤差率を用いてもよい。
【0087】
目的変数予測用データを用いたマッチングでは、マッチング部を特定した後の処理が異なる。上述した実施形態では、マッチング部を特定した後、マッチング部の時刻から予測期間後の時刻t1+Δtが含まれる区間を特定したが、本変形例では、時刻t1+Δtにおける目的変数の値が含まれる区間を選択する。当該区間に対応するモデルを選択する。モデルを選択した後の処理は、上述した実施形態と同様である。
【0088】
図16はマッチング部を特定した後のモデル選択の例を示す。マッチング部の時刻から予測期間後の目的変数Y(t1+Δt)が、定常状態値5と定常状態値6間の区間に含まれている。当該区間に対応するLSTMのモデルが選択される。
【0089】
図17は、本実施形態に係る情報処理システムを示す。図17の情報処理システムは、本実施形態に係る情報処理装置(予測装置)101と、計画装置(計画部)102とを備えている。予測装置101と計画装置102は有線又は無線により通信可能である。計画装置102が予測装置101に組み込まれていてもよい。
【0090】
本例では、予測装置101は水力発電所の貯水量に関連する目的変数を予測する。例えば、目的変数は、ダムの貯水量、水位、川の水位等である。説明変数は、気象量(天気、降水量、気温等)である。予測装置101は、予測した目的変数の予測値を計画装置102に提供する。計画装置102は、将来の目的変数の予測値に基づき、発電計画を生成する。例えば、ダムの水位を一定の範囲の収める発電計画を生成する。今後の降水量が不足するなどで水位が低くなり、所望の発電量が得られないと見込まれるときは、デマンドレスポンスによる需給制御などにより需要家に節電を要求するなどの制御を行ってもよい。発電計画の方法は特定の方法に限定されず、予測装置101の出力結果を用いる限り、どのような方法でもよい。例えば発電力の不足が見込まれる場合に、揚水発電を追加的に実行するなどしてもよい。原子力発電所など他の発電機関に不足する発電量などを通知してもよい。
【0091】
上述した実施形態による予測装置の少なくとも一部の構成部分をチップ化してもよい。また、例えばエッジデバイスなどのSoC(System on Chip)の内部に、実施形態による予測装置の少なくとも一部の構成部分を組み込んでもよい。この場合、時系列データDB1や予測結果DB9はSoCの外部に設けて、所定のインタフェース機器を介してアクセスできるようにしてもよい。上述した実施形態で説明した予測装置の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、予測装置の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、プロセッサ等のコンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【符号の説明】
【0092】
1 時系列データDB
2 データ分割部
3 学習用データ作成部
4 モデル生成部
5 手法リスト
6 モデルDB
7 マッチング部
8 選択・予測部(選択部、予測部)
9 予測結果DB
10 結果出力部(出力部)
101 予測装置(情報処理装置)
102 計画装置(計画部)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17