(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】時系列予測装置、時系列予測方法及びプログラム
(51)【国際特許分類】
G06F 18/27 20230101AFI20241022BHJP
G05B 23/02 20060101ALI20241022BHJP
G06F 123/02 20230101ALN20241022BHJP
【FI】
G06F18/27
G05B23/02 R
G06F123:02
(21)【出願番号】P 2023219337
(22)【出願日】2023-12-26
【審査請求日】2023-12-26
【早期審査対象出願】
(73)【特許権者】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】丹下 吉雄
【審査官】石坂 知樹
(56)【参考文献】
【文献】特開2022-179842(JP,A)
【文献】特開2023-023783(JP,A)
【文献】特開平09-068170(JP,A)
【文献】特開2021-110987(JP,A)
【文献】特開2010-266974(JP,A)
【文献】特開平11-212947(JP,A)
【文献】特開2021-140523(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G06N 3/09
G06N 20/00
G06F 18/27
G06F 123/02
(57)【特許請求の範囲】
【請求項1】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置であって、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部と、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測部と、
を有
し、
前記モデル作成部は、
前記第1の出力時系列を複数の区間に分割し、
前記複数の区間の各々の区間毎に、前記区間における前記第1の出力特徴量を生成し、
前記第1の入力特徴量と、前記区間毎の複数の前記第1の出力特徴量の各々との間の関係をそれぞれモデル化した複数の特徴量モデルを作成し、
前記時系列予測部は、
前記第2の入力特徴量と前記複数の特徴量モデルの各々から前記区間毎の複数の前記第2の出力特徴量を予測し、
前記複数の区間の各々で複数の前記第2の出力特徴量が表す特徴をそれぞれ有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の出力時系列として予測する、時系列予測装置。
【請求項2】
前記モデル作成部は、
前記第1の入力特徴量を入力として、1番目の区間における前記第1の出力特徴量を予測する特徴量モデルF
1と、
前記第1の入力特徴量と、i-1(ただし、i>1)番目の区間における前記第1の出力特徴量とを入力として、i番目の区間における前記第1の出力特徴量を予測する特徴量モデルF
iとをそれぞれ作成し、
前記時系列予測部は、
前記第2の入力特徴量と前記特徴量モデルF
1から1番目の区間における前記第2の出力特徴量を予測し、
前記第2の入力特徴量とi-1番目の区間における前記第2の出力特徴量と前記特徴量モデルF
iからi番目の区間における前記第2の出力特徴量を予測する、請求項
1に記載の時系列予測装置。
【請求項3】
前記モデル作成部は、
前記複数の区間の各々の区間毎に、前記区間における前記第1の入力特徴量を生成し、
前記区間毎に、前記区間における前記第1の入力特徴量と、前記区間における前記第1の出力特徴量との関係をそれぞれモデル化した複数の特徴量モデルを作成し、
前記時系列予測部は、
前記区間毎の複数の第2の入力特徴量と前記複数の特徴量モデルの各々から前記区間毎の複数の第2の出力特徴量を予測する、請求項
1に記載の時系列予測装置。
【請求項4】
前記モデル作成部は、
1番目の区間における前記第1の入力特徴量を入力として、1番目の区間における前記第1の出力特徴量を予測する特徴量モデルF
1と、
i(ただし、i>1)番目の区間における前記第1の入力特徴量と、i-1番目の区間における前記第1の出力特徴量とを入力として、i番目の区間における前記第1の出力特徴量を予測する特徴量モデルF
iとをそれぞれ作成し、
前記時系列予測部は、
1番目の区間における前記第2の入力特徴量と前記特徴量モデルF
1から1番目の区間における前記第2の出力特徴量を予測し、
i番目の区間における前記第2の入力特徴量とi-1番目の区間における前記第2の出力特徴量と前記特徴量モデルF
iからi番目の区間における前記第2の出力特徴量を予測する、請求項
3に記載の時系列予測装置。
【請求項5】
前記時系列予測部は、
1番目の区間では前記出力基準値から開始し、i(ただし、i>1)番目の区間ではi-1番目の区間の最終値から開始する所定の軌道で表される時系列データを、前記第2の出力時系列として予測する、請求項
1乃至
4の何れか一項に記載の時系列予測装置。
【請求項6】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置であって、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部と、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測部と、
を有し、
前記第1の出力特徴量には、
前記第1の出力時系列の最大値と前記第1の出力時系列の初期値との差d
1と、前記最大値を取るときの経過時間t
1と、前記第1の出力時系列の最小値と前記初期値との差d
2と、前記最小値を取るときの経過時間t
2と、前記第1の出力時系列の最終値と前記初期値との差d
3と、が含まれる
、時系列予測装置。
【請求項7】
前記時系列予測部は、
前記出力基準値をy
0としたとき、前記経過時間t
1後にy
0+d
1となる第1の点と、前記経過時間t
2後にy
0+d
2となる第2の点と、最終時刻でy
0+d
3となる第3の点とを取る所定の軌道を、前記第2の出力時系列として予測する、請求項
6に記載の時系列予測装置。
【請求項8】
前記時系列予測部は、
前記経過時間t
1が前記経過時間t
2よりも早い場合、前記出力基準値と前記第1の点とを結ぶ軌道と、前記第1の点と前記第2の点とを結ぶ軌道と、前記第2の点と前記第3の点とを結ぶ軌道とで構成される所定の軌道を、前記第2の出力時系列として予測し、
前記経過時間t
1が前記経過時間t
2よりも遅い場合、前記出力基準値と前記第2の点とを結ぶ軌道と、前記第2の点と前記第1の点とを結ぶ軌道と、前記第2の点と前記第3の点とを結ぶ軌道とで構成される所定の軌道を、前記第2の出力時系列として予測する、請求項
7に記載の時系列予測装置。
【請求項9】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置であって、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部と、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測部と、
を有し、
前記第1の入力特徴量には、
前記第1の入力時系列の開始時刻から、前記第1の入力時系列の値の変化が開始した時刻までの経過時間と、
前記開始時刻から、前記第1の入力時系列の値の変化が終了した時刻までの経過時間と、が含まれる
、時系列予測装置。
【請求項10】
前記特徴量モデルは、線形モデル又は非線形モデルである、請求項1
、6又は9に記載の時系列予測装置。
【請求項11】
前記対象はプラントであり、
前記入力変数は前記プラントの操作量を表す変数、前記出力変数は前記プラントの制御量を表す変数である、請求項1
、6又は9に記載の時系列予測装置。
【請求項12】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測方法であって、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成手順と、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測手順と、
をコンピュータが実行
し、
前記モデル作成手順は、
前記第1の出力時系列を複数の区間に分割し、
前記複数の区間の各々の区間毎に、前記区間における前記第1の出力特徴量を生成し、
前記第1の入力特徴量と、前記区間毎の複数の前記第1の出力特徴量の各々との間の関係をそれぞれモデル化した複数の特徴量モデルを作成し、
前記時系列予測手順は、
前記第2の入力特徴量と前記複数の特徴量モデルの各々から前記区間毎の複数の前記第2の出力特徴量を予測し、
前記複数の区間の各々で複数の前記第2の出力特徴量が表す特徴をそれぞれ有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の出力時系列として予測する、時系列予測方法。
【請求項13】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測方法であって、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成手順と、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測手順と、
をコンピュータが実行し、
前記第1の出力特徴量には、
前記第1の出力時系列の最大値と前記第1の出力時系列の初期値との差d
1
と、前記最大値を取るときの経過時間t
1
と、前記第1の出力時系列の最小値と前記初期値との差d
2
と、前記最小値を取るときの経過時間t
2
と、前記第1の出力時系列の最終値と前記初期値との差d
3
と、が含まれる、時系列予測方法。
【請求項14】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測方法であって、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成手順と、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測手順と、
をコンピュータが実行し、
前記第1の入力特徴量には、
前記第1の入力時系列の開始時刻から、前記第1の入力時系列の値の変化が開始した時刻までの経過時間と、
前記開始時刻から、前記第1の入力時系列の値の変化が終了した時刻までの経過時間と、が含まれる、時系列予測方法。
【請求項15】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置を、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測部、
として機能させ
、
前記モデル作成部は、
前記第1の出力時系列を複数の区間に分割し、
前記複数の区間の各々の区間毎に、前記区間における前記第1の出力特徴量を生成し、
前記第1の入力特徴量と、前記区間毎の複数の前記第1の出力特徴量の各々との間の関係をそれぞれモデル化した複数の特徴量モデルを作成し、
前記時系列予測部は、
前記第2の入力特徴量と前記複数の特徴量モデルの各々から前記区間毎の複数の前記第2の出力特徴量を予測し、
前記複数の区間の各々で複数の前記第2の出力特徴量が表す特徴をそれぞれ有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の出力時系列として予測する、プログラム。
【請求項16】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置を、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測部、
として機能させ、
前記第1の出力特徴量には、
前記第1の出力時系列の最大値と前記第1の出力時系列の初期値との差d
1
と、前記最大値を取るときの経過時間t
1
と、前記第1の出力時系列の最小値と前記初期値との差d
2
と、前記最小値を取るときの経過時間t
2
と、前記第1の出力時系列の最終値と前記初期値との差d
3
と、が含まれる、プログラム。
【請求項17】
入力変数に対して出力変数が非線形的に変化する対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置を、
前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部、
出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測部、
として機能させ、
前記第1の入力特徴量には、
前記第1の入力時系列の開始時刻から、前記第1の入力時系列の値の変化が開始した時刻までの経過時間と、
前記開始時刻から、前記第1の入力時系列の値の変化が終了した時刻までの経過時間と、が含まれる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、時系列予測装置、時系列予測方法及びプログラムに関する。
【背景技術】
【0002】
プラントの応答を予測する手法として、例えば、フーリエ変換、ARMA(autoregressive moving average)モデル、カルマンフィルタ等といった線形的な手法が知られている。また、例えば、SVR(Support Vector Regression)、ガウス過程回帰等、Transformer等のニューラルネットワーク等といった非線形的な手法も知られている。
【0003】
なお、或る時点以降のデータが分類されるクラスを予測する手法として、時系列データの特徴量を用いる手法も知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、プラントの応答を予測する線形的な従来手法には、プラントの応答に強い非線形性がある場合には予測精度が悪いという問題がある。一方で、プラントの応答を予測する非線形的な従来手法には、学習用データが不十分な場合には予測精度が悪いという問題がある。
【0006】
本開示は、上記の点に鑑みてなされたもので、学習用データが十分でない場合であっても、非線形的な挙動をする対象の精度の良い時系列予測を実現することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様による時系列予測装置は、対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置であって、前記対象に入力される入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列が前記対象に入力されたときに前記対象から出力された出力時系列である第1の出力時系列とを入力として、前記第1の入力時系列の特徴を表す第1の入力特徴量と前記第1の出力時系列の特徴を表す第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部と、出力時系列の予測対象となる入力変数の時系列データである第2の入力時系列と、前記出力変数の基準値である出力基準値とを入力として、前記第2の入力時系列の特徴を表す第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列が前記対象に入力されたときに前記対象から出力されると予測される出力時系列である第2の出力時系列として予測する時系列予測部と、を有する。
【発明の効果】
【0008】
学習用データが十分でない場合であっても、非線形的な挙動をする対象の精度の良い時系列予測が実現される。
【図面の簡単な説明】
【0009】
【
図1】第一の実施形態に係る時系列予測装置のハードウェア構成の一例を示す図である。
【
図2】第一の実施形態に係る時系列予測装置の機能構成の一例を示す図である。
【
図3】第一の実施形態に係るモデル学習部の動作例を示すフローチャートである。
【
図5】出力特徴量の生成方法の一例を説明するための図である。
【
図6】入力特徴量の生成方法の一例を説明するための図である。
【
図7】入力特徴量の生成方法の他の例を説明するための図である。
【
図8】第一の実施形態に係る簡易出力予測部の動作例を示すフローチャートである。
【
図9】簡易出力時系列の予測方法の一例を説明するための図(その1)である。
【
図10】簡易出力時系列の予測方法の一例を説明するための図(その2)である。
【
図11】第二の実施形態に係るモデル学習部の動作例を示すフローチャートである。
【
図12】各区間における出力特徴量の生成方法の一例を説明するための図である。
【
図13】第二の実施形態に係る簡易出力予測部の動作例を示すフローチャートである。
【
図14】各区間における簡易出力時系列の予測方法の一例を説明するための図である。
【
図15】第三の実施形態に係るモデル学習部の動作例を示すフローチャートである。
【
図16】第三の実施形態に係る簡易出力予測部の動作例を示すフローチャートである。
【
図17】各区間における簡易出力時系列の予測方法の一例を説明するための図である。
【
図18】プラント監視装置への応用例を説明するための図である。
【
図19】実施例1における特徴量モデルの予測精度を説明するための図である。
【
図20】実施例1における簡易出力時系列の予測精度を説明するための図(その1)である。
【
図21】実施例1における簡易出力時系列の予測精度を説明するための図(その2)である。
【
図22】実施例2における区間分割を説明するための図である。
【
図23】実施例2における特徴量モデルの予測精度を説明するための図である。
【
図24】実施例2における簡易出力時系列の予測精度を説明するための図(その1)である。
【
図25】実施例2における簡易出力時系列の予測精度を説明するための図(その2)である。
【発明を実施するための形態】
【0010】
以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。以下の各実施形態では、主に、非線形的な挙動をするプラント等のプロセスを対象として、学習用データが十分でない場合であっても、プラント等の応答を表す時系列データを精度良く予測することができる時系列予測装置10について説明する。
【0011】
ここで、プラントの応答を予測する非線形的な従来手法には、学習用データが不十分な場合には予測精度が悪いという問題に加えて、例えば、ニューラルネットワークの層数等といったハイパーパラメータによって性能が変化する、計算量が比較的多くリアルタイム性が困難、という問題も存在する。これに対して、以下の各実施形態で説明する時系列予測装置10では、煩雑なハイパーパラメータの調整が不要であり、また時系列予測のリアルタイム性も確保している。すなわち、以下の各実施形態で説明する時系列予測装置10によれば、学習用データが十分でない場合であっても、非線形性のあるプロセスの時系列データを高速に、かつ、精度良く予測することが可能となる。
【0012】
[第一の実施形態]
まず、第一の実施形態について説明する。ここで、第一の実施形態に係る時系列予測装置10には、プラントの操作量の時系列データである入力時系列の特徴量と当該プラントの制御量の時系列データである出力時系列の特徴量との間の関係をモデル化した特徴量モデルを作成する「モデル学習時」と、その特徴量モデルを用いて、与えられた入力時系列から簡易出力時系列と呼ぶ簡易的な出力時系列を予測する「時系列予測時」とが存在する。
【0013】
モデル学習時における時系列予測装置10には、入力時系列us(t)と出力時系列ys(t)とが学習用データとして与えられる。sは学習用データのサンプル番号を表し、s∈{1,・・・,S}であるものとする。また、Sはサンプルの総数、tは時刻を表すインデックスである。
【0014】
一方で、時系列予測時における時系列予測装置10には、入力時系列uk(t)と出力基準値と呼ぶ制御量y0とが与えられる。kは予測対象の入力時系列の番号を表し、k=1,2,3,・・・であるものとする。
【0015】
なお、簡単のため、以下では、各入力時系列及び各出力時系列の時間幅は同一幅であるものとし、開始時刻を表すインデックスをt=0、終了時刻の直後の時刻を表すインデックスをt=tendとする。すなわち、各入力時系列及び各出力時系列の時間区間を[0,tend)とする。
【0016】
また、一例として、入力時系列us(t)は2つの操作量us,1(t)及びus,2(t)で構成される2次元ベクトルの時系列データであり、出力時系列ys(t)は1次元のスカラー値の時系列データであるものとする。ただし、これは一例であって、入力時系列us(t)がスカラー値の時系列データや3次元以上のベクトルの時系列データである場合や出力時系列ys(t)が2次元以上のベクトルの時系列データである場合であっても、以下で説明する実施形態を同様に適用することが可能である。
【0017】
<第一の実施形態に係る時系列予測装置10のハードウェア構成例>
第一の実施形態に係る時系列予測装置10のハードウェア構成例について、
図1を参照しながら説明する。
図1は、第一の実施形態に係る時系列予測装置10のハードウェア構成の一例を示す図である。
【0018】
図1に示すように、第一の実施形態に係る時系列予測装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続される。
【0019】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、時系列予測装置10は、例えば、入力装置101及び表示装置102の少なくとも一方を有していなくてもよい。
【0020】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0021】
通信I/F104は、通信ネットワーク等に接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等の不揮発性の記憶装置である。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。
【0022】
なお、
図1に示すハードウェア構成は一例であって、時系列予測装置10のハードウェア構成はこれに限られるものではない。例えば、時系列予測装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
【0023】
<第一の実施形態に係る時系列予測装置10の機能構成例>
第一の実施形態に係る時系列予測装置10の機能構成例について、
図2を参照しながら説明する。
図2は、第一の実施形態に係る時系列予測装置10の機能構成の一例を示す図である。
【0024】
図2に示すように、第一の実施形態に係る時系列予測装置10は、モデル学習部201と、簡易出力予測部202とを有する。これら各部は、例えば、時系列予測装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。
【0025】
モデル学習部201は、モデル学習時において、与えられた入力時系列us(t)及び出力時系列ys(t)から特徴量モデルFを作成する。より具体的には、モデル学習部201は、出力時系列ys(t)からその特徴量を表す出力特徴量Ysを生成すると共に、入力時系列us(t)からその特徴量を表す入力特徴量Usを生成した上で、入力特徴量Usと出力特徴量Ysとの間の関係をモデル化した特徴量モデルFを作成する。
【0026】
簡易出力予測部202は、時系列予測時において、与えられた入力時系列uk(t)及び出力基準値y0から簡易出力時系列vk(t)を予測する。より具体的には、簡易出力予測部202は、入力時系列uk(t)からその特徴量を表す入力特徴量Ukを生成した後、特徴量モデルFにより出力特徴量Ykを生成し、その後、出力特徴量Yk及び出力基準値y0から簡易出力時系列vk(t)を予測する。
【0027】
<第一の実施形態に係るモデル学習部201の動作例>
第一の実施形態に係るモデル学習部201の動作例について、
図3を参照しながら説明する。
図3は、第一の実施形態に係るモデル学習部201の動作例を示すフローチャートである。
【0028】
ステップS101:モデル学習部201は、与えられた入力時系列u
s(t)及び出力時系列y
s(t)に対して前処理を行う。以下、簡単のため、x
s(t)∈{u
s(t),y
s(t)}として、時系列x
s(t)に対する前処理について、
図4を参照しながら説明する。
図4は、前処理の一例を説明するための図である。
【0029】
図4に示すように、時系列x
s(t)の最大値をx
s,max、最小値をx
s,minとする。また、各入力時系列間及び各出力時系列間でそれぞれ共通に決定される定数をr
max≧x
s,max、r
min≦x
s,minとする。なお、入力時系列に関するr
maxを決定する場合、例えば、各入力時系列u
s(t)の最大値u
s,max(s=1,・・・,S)の最大値をr
maxとすればよい。同様に、入力時系列に関するr
minを決定する場合、例えば、各入力時系列u
s(t)の最小値u
s,min(s=1,・・・,S)の最小値をr
minとすればよい。同様に、出力時系列に関するr
maxを決定する場合、例えば、各出力時系列y
s(t)の最大値y
s,max(s=1,・・・,S)の最大値をr
maxとすればよい。同様に、出力時系列に関するr
minを決定する場合、例えば、各出力時系列y
s(t)の最小値y
s,min(s=1,・・・,S)の最小値をr
minとすればよい。
【0030】
このとき、モデル学習部201は、x
s'(t)=(x
s(t)-r
min)/(r
max-r
min)により前処理後の時系列x
s'(t)を作成する。これにより、
図4に示すように、0以上1以下の値に正規化された前処理後時系列が得られる。以下、各入力時系列u
s(t)及び各出力時系列y
s(t)はそれぞれ前処理後の時系列データであるものとする。
【0031】
なお、上記のステップS101における前処理は必須ではなく、必要でない場合は実行されなくてもよい。また、正規化以外にも、例えば、欠損値補間や外れ値除去等といった既知の前処理が行われてもよい。
【0032】
ステップS102:モデル学習部201は、出力時系列ys(t)から出力特徴量Ysを生成する。
【0033】
例えば、
図5に示すように、出力時系列y
s(t)の初期値(つまり、t=0のときの値)をy
s,0、出力時系列y
s(t)が最小値を取るときの経過時間(t=0からの経過時間)をt
s,1、出力時系列y
s(t)の最小値と初期値y
s,0との差をd
s,1とする。また、出力時系列y
s(t)が最大値を取るときの経過時間(t=0からの経過時間)をt
s,2、出力時系列y
s(t)の最大値と初期値y
s,0との差をd
s,2とする。更に、出力時系列y
s(t)の最終値(つまり、t→t
endとしたときにy
s(t)が取る値(以下、これをy
s(t
end)と表す。))と初期値y
s,0との差をd
s,3とする。なお、d
s,1及びd
s,2は正の値を取り、d
s,3は正負を考慮する(すなわち、d
s,3=y
s(t
end)-y
s,0)ものとする。これは、最小値は常に初期値以下であり、最大値は常に初期値以上であるため正負は明らかであるが、最終値と初期値との差の正負は一定ではないためである。
【0034】
このとき、モデル学習部201は、例えば、以下により出力時系列y
s(t)の出力特徴量Y
sを生成する。
【数1】
なお、上記の例では出力特徴量Y
sは、n=5次元のベクトルで表されている。
【0035】
ステップS103:モデル学習部201は、入力時系列us(t)から入力特徴量Usを生成する。
【0036】
例えば、
図6に示すように、入力時系列u
s(t)の操作量u
s,1(t)に関して、時刻t=0から、操作量の変化が開始した時刻までの経過時間をtb
s,1とする。また、操作量u
s,1(t)に関して、時刻t=0から、操作量の変化が終了した時刻までの経過時間をte
s,1とする。同様に、操作量u
s,2(t)に関して、時刻t=0から、操作量の変化が開始した時刻までの経過時間をtb
s,2、操作量の変化が終了した時刻までの経過時間をte
s,2とする。更に、u
s,1(t)=u
s,2(t)となる時刻をtc
sとする。
【0037】
このとき、モデル学習部201は、例えば、以下により入力時系列u
s(t)の入力特徴量U
sを生成する。
【数2】
なお、上記の例では入力特徴量U
sは、m=5次元のベクトルで表されている。
【0038】
又は、モデル学習部201は、例えば、以下により入力時系列u
s(t)の入力特徴量U
sを生成してもよい。
【数3】
なお、上記の例では入力特徴量U
sは、m=4次元のベクトルで表されている。
【0039】
上記以外にも、例えば、
図7に示すように、操作量u
s,1(t)の最大値をu
s,1,max、最小値をu
s,1,minとする。同様に、操作量u
s,2(t)の最大値をu
s,2,max、最小値をu
s,2,minとする。また、操作量u
s,1(t)の変化速度のうち、その絶対値が最大となる値をdu
s,1とする。同様に、操作量u
s,2(t)の変化速度のうち、その絶対値が最大となる値をdu
s,2とする。
【0040】
このとき、モデル学習部201は、例えば、以下により入力時系列u
s(t)の入力特徴量U
sを生成してもよい。
【数4】
なお、上記の例では入力特徴量U
sは、m=6次元のベクトルで表されている。
【0041】
又は、モデル学習部201は、例えば、以下により入力時系列u
s(t)の入力特徴量U
sを生成してもよい。
【数5】
なお、上記の例では入力特徴量U
sは、m=4次元のベクトルで表されている。
【0042】
ただし、上記のステップS102及びS103でそれぞれ説明した出力特徴量Ys及び入力特徴量Usの生成方法はいずれも一例であって、これら以外にも様々な方法により出力特徴量Ys及び入力特徴量Usが生成されてもよい。例えば、出力特徴量Ysを上記のステップS103で説明した方法で生成してもよいし、逆に、入力特徴量Usを上記のステップS102で説明した方法で生成してもよい。又は、例えば、時系列データの特徴的な点を有限次元のベクトルの変換する既知の手法により入力特徴量Usや出力特徴量Ysが生成されてもよい。
【0043】
ステップS104:モデル学習部201は、入力特徴量Us及び出力特徴量Ysから特徴量モデルFを作成する。すなわち、モデル学習部201は、s=1,・・・,Sに対する入力特徴量Us及び出力特徴量Ysを用いて、入力特徴量Usを特徴量モデルFに入力したときに出力特徴量Ysを精度良く予測できるように、既存の予測モデル作成手法により、特徴量モデルFを作成する。
【0044】
特徴量モデルFとしては、例えば、以下の例(その1)に示す線形モデル又は例(その2)に示す非線形モデルを用いることができる。なお、各入力特徴量Usはm次元ベクトル、各出力特徴量Ysはn次元ベクトルで表されているものとする。
【0045】
・特徴量モデルの例(その1)
F:Ys=A・Us+b
ここで、Aはn×m行列、bはn次元ベクトルである。
【0046】
・特徴量モデルの例(その2)
F:Ys=NN(Us)
ここで、NNはニューラルネットワークである。ニューラルネットワークとしては一般的な構成のニューラルネットワーク(例えば、入力層と、予め決められた数の全結合層と、出力層とで構成されたニューラルネットワーク等)を用いることができる。ただし、ニューラルネットワークに限られず、例えば、SVRやランダムフォレスト等といった既知の非線形関数が用いられてもよい。
【0047】
以下、入力特徴量Uを入力として、出力特徴量Yを予測する特徴量モデルをY=F(U)と表すことにする。
【0048】
なお、上記の例(その1)では行列A及びn次元ベクトルbが学習対象のパラメータである。一方で、上記の例(その2)ではニューラルネットワークの学習可能パラメータが学習対象のパラメータである。
【0049】
<第一の実施形態に係る簡易出力予測部202の動作例>
第一の実施形態に係る簡易出力予測部202の動作例について、
図8を参照しながら説明する。
図8は、第一の実施形態に係る簡易出力予測部202の動作例を示すフローチャートである。
【0050】
ステップS201:簡易出力予測部202は、
図3のステップS101と同様の処理により、入力時系列u
k(t)に対して前処理を行う。以下、入力時系列u
k(t)は前処理後の時系列データであるものとする。
【0051】
ステップS202:簡易出力予測部202は、
図3のステップS103と同様の処理により、入力時系列u
k(t)から入力特徴量U
kを生成する。
【0052】
ステップS203:簡易出力予測部202は、モデル学習部201によって作成された特徴量モデルFを用いて、入力特徴量Ukから出力特徴量Ykを予測する。すなわち、簡易出力予測部202は、Yk=F(Uk)により出力特徴量Ykを予測する。
【0053】
ステップS204:簡易出力予測部202は、出力特徴量Yk及び出力基準値y0から簡易出力時系列vk(t)を予測する。
【0054】
例えば、上記のステップS203で予測された出力特徴量Y
kが以下であるものとする。
【数6】
このとき、t
k,1<t
k,2である場合、簡易出力予測部202は、例えば、
図9に示すように、t=0でy
0、t=t
k,1でy
0-d
k,1、t=t
k,2でy
0+d
k,2、t=t
endでy
0+d
k,3となるような、時間区間[0,t
end)における軌道を簡易出力時系列v
k(t)として生成する。すなわち、簡易出力予測部202は、以下により簡易出力時系列v
k(t)を生成する。
【数7】
一方で、t
k,2≦t
k,1である場合、簡易出力予測部202は、例えば、
図10に示すように、t=0でy
0、t=t
k,2でy
0+d
k,2、t=t
k,1でy
0-d
k,2、t=t
endでy
0+d
k,3となるような、時間区間[0,t
end)における軌道を簡易出力時系列v
k(t)として生成する。すなわち、簡易出力予測部202は、以下により簡易出力時系列v
k(t)を生成する。
【数8】
ただし、上記の簡易出力時系列v
k(t)の生成例は一例であって、これに限られるものでなく、上記のステップS203で予測された出力特徴量Y
kと合致するような軌道であれば、他の方法により求められた軌道を簡易出力時系列v
k(t)として生成してもよい。例えば、多項式補間やスプライン補間等として知られる制御点を補間する曲線の作成方法により求められた軌道を簡易出力時系列v
k(t)として生成してもよい。
【0055】
[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、出力特徴量を生成する際に、出力時系列を複数の区間に分割した上で、区間毎に出力特徴量を生成する場合について説明する。
【0056】
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同様としてよい構成要素についてはその説明を省略又は簡略化する。
【0057】
<第二の実施形態に係るモデル学習部201の動作例>
第二の実施形態に係るモデル学習部201の動作例について、
図11を参照しながら説明する。
図11は、第二の実施形態に係るモデル学習部201の動作例を示すフローチャートである。
【0058】
ステップS301:モデル学習部201は、
図3のステップS101と同様の処理により、与えられた入力時系列u
s(t)及び出力時系列y
s(t)に対して前処理を行う。
【0059】
ステップS302:モデル学習部201は、
図3のステップS103と同様の処理により、入力時系列u
s(t)から入力特徴量U
sを生成する。
【0060】
ステップS303:モデル学習部201は、時間区間[0,tend)を2以上の区間に分割する。以下、分割後の各区間を識別する番号を区間番号と呼び、区間番号をiで表すことにする。また、分割後の区間数をI(≧2)とする。更に、簡単のため、区間番号iの区間のことを「区間i」とも呼ぶことにし、区間iが表す時間区間を[Ti-1,Ti)とする。このとき、T0=0、TI=tendである。
【0061】
なお、各区間i(i=1,・・・,I)は均等な区間であってもよいし、不均等な区間であってもよい。また、出力時系列ys(t)の値に応じて各区間の長さを可変としてもよい。例えば、出力時系列ys(t)の値の変動が大きい時間区間では細かな区間に分割し、そうでない時間区間では粗い区間に分割するようにしてもよい。
【0062】
ステップS304:モデル学習部201は、区間番号iを1に初期化する。すなわち、モデル学習部201は、i←1とする。
【0063】
ステップS305:モデル学習部201は、区間iにおける出力特徴量Y
s,iを生成する。すなわち、モデル学習部201は、
図3のステップS102と同様の処理により、区間iにおける出力時系列y
s(t)(t∈[T
i-1,T
i))から出力特徴量Y
s,iを生成する。
【0064】
一例として、I=5である場合の各区間iにおける出力特徴量Y
s,iの生成方法を
図12に示す。
図12に示すように、区間i毎に、その区間iにおける出力時系列y
s(t)(t∈[T
i-1,T
i))から出力特徴量Y
s,iが生成される。なお、
図12に示す例では、区間iにおける出力時系列y
s(t)(t∈[T
i-1,T
i))の初期値(つまり、y
s(T
i-1))をy
s,0,iで表している。
【0065】
ステップS306:モデル学習部201は、入力特徴量Us及び出力特徴量Ys,iから特徴量モデルFiを作成する。すなわち、モデル学習部201は、s=1,・・・,Sに対する入力特徴量Us及び各出力特徴量Ys,iを用いて、入力特徴量Usを特徴量モデルFiに入力したときに出力特徴量Ys,iを精度良く予測できるように、既存の予測モデル作成手法により、特徴量モデルFiを作成する。
【0066】
各特徴量モデルFiとしては、例えば、以下の例(その1)に示す線形モデル又は例(その2)に示す非線形モデルを用いることができる。なお、各入力特徴量Usはm次元ベクトル、各出力特徴量Ys,iはn次元ベクトルで表されているものとする。
【0067】
・特徴量モデルの例(その1)
F1:Ys,1=A1・Us+b1 (i=1である場合)
Fi:Ys,i=Ai・Us+Ci・Ys,i-1+bi (i>1である場合)
ここで、i≧1に対して、Aiはn×m行列、Ciはn×n行列、biはn次元ベクトルである。
【0068】
・特徴量モデルの例(その2)
F1:Ys,1=NN1(Us) (i=1である場合)
Fi:Ys,i=NNi(Us,Ys,i-1) (i>1である場合)
ここで、i≧1に対して、NNiはニューラルネットワークである。ただし、ニューラルネットワークに限られず、例えば、SVRやランダムフォレスト等といった既知の非線形関数が用いられてもよい。
【0069】
なお、上記の例(その1)では行列Ai、Ci及びn次元ベクトルbiが学習対象のパラメータである。一方で、上記の例(その2)ではニューラルネットワークの学習可能パラメータが学習対象のパラメータである。
【0070】
以下、i=1である場合における特徴量モデルをY1=F1(U)、i>1である場合における特徴量モデルをYi=Fi(U,Yi-1)と表すことにする。ここで、Uは入力特徴量、Yiは出力特徴量を表す。
【0071】
ステップS307:モデル学習部201は、すべての区間iで特徴量モデルFiを作成したか否かを判定する。すなわち、モデル学習部201は、I個の特徴量モデルF1,・・・,FIを作成したか否かを判定する。
【0072】
上記のステップS307ですべての区間iで特徴量モデルFiを作成したと判定された場合、モデル学習部201は、動作を終了する。一方で、上記のステップS307ですべての区間iで特徴量モデルFiを作成したと判定されなかった場合、モデル学習部201は、ステップS308に進む。
【0073】
ステップS308:モデル学習部201は、区間番号iに1を加算して、ステップS305に戻る。すなわち、モデル学習部201は、i←i+1として、ステップS305に戻る。これにより、すべての区間iで特徴量モデルFiが作成されるまで、上記のステップS305~ステップS306が繰り返し実行される。
【0074】
<第二の実施形態に係る簡易出力予測部202の動作例>
第二の実施形態に係る簡易出力予測部202の動作例について、
図13を参照しながら説明する。
図13は、第二の実施形態に係る簡易出力予測部202の動作例を示すフローチャートである。
【0075】
ステップS401:簡易出力予測部202は、
図8のステップS201と同様の処理により、入力時系列u
k(t)に対して前処理を行う。以下、入力時系列u
k(t)は前処理後の時系列データであるものとする。
【0076】
ステップS402:簡易出力予測部202は、
図8のステップS202と同様の処理により、入力時系列u
k(t)から入力特徴量U
kを生成する。
【0077】
ステップS403:簡易出力予測部202は、区間番号iを1に初期化する。すなわち、モデル学習部201は、i←1とする。
【0078】
ステップS404:簡易出力予測部202は、モデル学習部201によって作成された特徴量モデルFiを用いて、入力特徴量Ukから出力特徴量Yk,iを予測する。すなわち、簡易出力予測部202は、i=1である場合はYk,1=F1(Uk)により出力特徴量Yk,1を予測し、i>1である場合はYk,i=Fi(Uk,Yk,i-1)により出力特徴量Yk,iを予測する。
【0079】
ステップS405:簡易出力予測部202は、
図8のステップS204と同様の処理により、出力特徴量Y
k,iから、区間iにおける簡易出力時系列v
k(t)(t∈[T
i-1,T
i))を予測する。すなわち、簡易出力予測部202は、例えば、t=0をt=T
i-1、t=t
endをt=T
iとして上記の数7又は数8を適用し、出力特徴量Y
k,iから簡易出力時系列v
k(t)(t∈[T
i-1,T
i))を予測する。ただし、このとき、簡易出力予測部202は、i=1である場合は区間iにおける出力基準値としてy
0を用いる一方で、i>1である場合は区間iにおける出力基準値としてy
0の代わりにv
k(T
i-1)をそれぞれ用いる。
【0080】
一例として、I=5である場合の各区間iにおける簡易出力時系列v
k(t)(t∈[T
i-1,T
i))の予測方法を
図14に示す。
図14に示すように、区間i毎に、その区間iにおける簡易出力時系列v
k(t)(t∈[T
i-1,T
i))が、出力特徴量Y
k,iから予測される。なお、
図14に示す例では、i=1である場合の簡易出力時系列v
k(t)(t∈[0,T
1))の初期値をy
0、i>1である場合の簡易出力時系列v
k(t)(t∈[T
i-1,T
i))の初期値(つまり、v
k(T
i-1))をy
k,0,iで表している。
【0081】
ステップS406:簡易出力予測部202は、すべての区間iで簡易出力時系列vk(t)(t∈[Ti-1,Ti))を予測したか否かを判定する。すなわち、簡易出力予測部202は、I個の簡易出力時系列vk(t)(t∈[0,T1)),・・・,vk(t)(t∈[TI-1,TI))を予測したか否かを判定する。
【0082】
上記のステップS406ですべての区間iで簡易出力時系列vk(t)(t∈[Ti-1,Ti))を予測したと判定された場合、簡易出力予測部202は、ステップS408に進む。一方で、上記のステップS406ですべての区間iで簡易出力時系列vk(t)(t∈[Ti-1,Ti))を予測したと判定されなかった場合、簡易出力予測部202は、ステップS407に進む。
【0083】
ステップS407:簡易出力予測部202は、区間番号iに1を加算して、ステップS404に戻る。すなわち、簡易出力予測部202は、i←i+1として、ステップS404に戻る。これにより、すべての区間iで簡易出力時系列vk(t)(t∈[Ti-1,Ti))が予測されるまで、上記のステップS404~ステップS405が繰り返し実行される。
【0084】
ステップS408:簡易出力予測部202は、すべての区間iの簡易出力時系列vk(t)(t∈[Ti-1,Ti))を連結する。すなわち、簡易出力予測部202は、各区間[0,T1),・・・,[TI-1,tend)における簡易出力時系列vk(t)を連結することにより、簡易出力時系列vk(t)(t∈[0,tend)を作成する。これにより、時間区間で[0,tend)で連続した軌道で表される簡易出力時系列vk(t)が得られる。
【0085】
[第三の実施形態]
次に、第三の実施形態について説明する。出力時系列に加えて、入力時系列も複数の区間に分割した上で、区間毎に入力特徴量を生成する場合について説明する。
【0086】
なお、第三の実施形態では、主に、第二の実施形態との相違点について説明し、第二の実施形態と同様としてよい構成要素についてはその説明を省略又は簡略化する。
【0087】
<第三の実施形態に係るモデル学習部201の動作例>
第三の実施形態に係るモデル学習部201の動作例について、
図15を参照しながら説明する。
図15は、第三の実施形態に係るモデル学習部201の動作例を示すフローチャートである。
【0088】
ステップS501:モデル学習部201は、
図11のステップS301と同様の処理により、与えられた入力時系列u
s(t)及び出力時系列y
s(t)に対して前処理を行う。
【0089】
ステップS502:モデル学習部201は、
図11のステップS303と同様の処理により、時間区間[0,t
end)を2以上の区間に分割する。
【0090】
ステップS503:モデル学習部201は、
図11のステップS304と同様の処理により、区間番号iを1に初期化する。
【0091】
ステップS504:モデル学習部201は、
図11のステップS305と同様の処理により、区間iにおける出力時系列y
s(t)(t∈[T
i-1,T
i))から出力特徴量Y
s,iを生成する。
【0092】
ステップS505:モデル学習部201は、区間iにおける入力特徴量U
s,iを生成する。すなわち、モデル学習部201は、
図3のステップS103と同様の処理により、区間iにおける入力時系列u
s(t)(t∈[T
i-1,T
i))から入力特徴量U
s,iを生成する。
【0093】
ステップS506:モデル学習部201は、入力特徴量Us,i及び出力特徴量Ys,iから特徴量モデルFiを作成する。すなわち、モデル学習部201は、s=1,・・・,Sに対する入力特徴量Us,i及び出力特徴量Ys,iを用いて、入力特徴量Us,iを特徴量モデルFiに入力したときに出力特徴量Ys,iを精度良く予測できるように、既存の予測モデル作成手法により、特徴量モデルFiを作成する。
【0094】
各特徴量モデルFiとしては、例えば、以下の例(その1)に示す線形モデル又は例(その2)に示す非線形モデルを用いることができる。なお、各入力特徴量Us,iはm次元ベクトル、各出力特徴量Ys,iはn次元ベクトルで表されているものとする。
【0095】
・特徴量モデルの例(その1)
F1:Ys,1=A1・Us,1+b1 (i=1である場合)
Fi:Ys,i=Ai・Us,i+Ci・Ys,i-1+bi (i>1である場合)
ここで、i≧1に対して、Aiはn×m行列、Ciはn×n行列、biはn次元ベクトルである。
【0096】
・特徴量モデルの例(その2)
F1:Ys,1=NN1(Us,1) (i=1である場合)
Fi:Ys,i=NNi(Us,i,Ys,i-1) (i>1である場合)
ここで、i≧1に対して、NNiはニューラルネットワークである。ただし、ニューラルネットワークに限られず、例えば、SVRやランダムフォレスト等といった既知の非線形関数が用いられてもよい。
【0097】
なお、上記の例(その1)では行列Ai、Ci及びn次元ベクトルbiが学習対象のパラメータである。一方で、上記の例(その2)ではニューラルネットワークの学習可能パラメータが学習対象のパラメータである。
【0098】
以下、i=1である場合における特徴量モデルをY1=F1(U1)、i>1である場合における特徴量モデルをYi=Fi(Ui,Yi-1)と表すことにする。ここで、Uiは入力特徴量、Yiは出力特徴量を表す。
【0099】
図15のステップS507~ステップS508は、
図11のステップS307~ステップS308とそれぞれ同様としてよいため、その説明を省略する。
【0100】
<第三の実施形態に係る簡易出力予測部202の動作例>
第三の実施形態に係る簡易出力予測部202の動作例について、
図16を参照しながら説明する。
図16は、第三の実施形態に係る簡易出力予測部202の動作例を示すフローチャートである。
【0101】
ステップS601:簡易出力予測部202は、
図13のステップS401と同様の処理により、入力時系列u
k(t)に対して前処理を行う。以下、入力時系列u
k(t)は前処理後の時系列データであるものとする。
【0102】
ステップS602:簡易出力予測部202は、
図13のステップS403と同様の処理により、区間番号iを1に初期化する。
【0103】
ステップS603:簡易出力予測部202は、
図15のステップS505と同様の処理により、区間iにおける入力時系列u
k(t)(t∈[T
i-1,T
i))から入力特徴量U
k,iを生成する。
【0104】
ステップS604:簡易出力予測部202は、モデル学習部201によって作成された特徴量モデルFiを用いて、入力特徴量Uk,iから出力特徴量Yk,iを予測する。すなわち、簡易出力予測部202は、i=1である場合はYk,1=F1(Uk,i)により出力特徴量Yk,iを予測し、i>1である場合はYk,i=Fi(Uk,i,Yk,i-1)により出力特徴量Yk,iを予測する。
【0105】
ステップS605:簡易出力予測部202は、
図13のステップS405と同様の処理により、出力特徴量Y
k,iから、区間iにおける簡易出力時系列v
k(t)(t∈[T
i-1,T
i))を予測する。すなわち、簡易出力予測部202は、例えば、t=0をt=T
i-1、t=t
endをt=T
iとして上記の数7又は数8を適用し、出力特徴量Y
k,iから簡易出力時系列v
k(t)(t∈[T
i-1,T
i))を予測する。ただし、このとき、簡易出力予測部202は、i=1である場合は区間iにおける出力基準値としてy
0を用いる一方で、i>1である場合は区間iにおける出力基準値としてy
0の代わりにv
k(T
i-1)をそれぞれ用いる。
【0106】
一例として、I=5である場合の各区間iにおける簡易出力時系列v
k(t)(t∈[T
i-1,T
i))の予測方法を
図17に示す。
図17に示すように、区間i毎に、その区間iにおける簡易出力時系列v
k(t)(t∈[T
i-1,T
i))が、出力特徴量Y
k,iから予測される。なお、
図17に示す例では、i=1である場合の簡易出力時系列v
k(t)(t∈[0,T
1))の初期値をy
0、i>1である場合の簡易出力時系列v
k(t)(t∈[T
i-1,T
i))の初期値(つまり、v
k(T
i-1))をy
k,0,iで表している。
【0107】
図16のステップS606~ステップS608は、
図13のステップS406~ステップS606とそれぞれ同様としてよいため、その説明を省略する。
【0108】
以上のように、第三の実施形態では、区間i毎に、入力特徴量Uk,iも用いて出力特徴量Yk,iを予測している。これにより、第二の実施形態と比較して、特徴量モデルFiの予測精度の向上が期待できる。これは、区間が近い入力特徴量ほど出力特徴量に影響を与えやすく、また未来の入力特徴量が過去の出力特徴量に影響を与えないようにして因果律を担保しているためである。
【0109】
[応用例]
上記の第一乃至第三の実施形態に係る時系列予測装置10をプラント監視装置20に組み込んだ場合の応用例について、
図18を参照しながら説明する。
図18は、プラント監視装置20への応用例を説明するための図である。
【0110】
図18に示すように、本応用例では、制御対象プラント30に対して従来制御装置40が実操作量uを出力して制御を行っているものとする。このとき、本応用例におけるプラント監視装置20は、制御対象プラント30から出力される制御量uと従来制御装置40から出力される操作量uとを用いてモデル学習を行って、仮想の入力時系列である仮想操作量系列に対して制御量の簡易時系列を予測する。
【0111】
本応用例におけるプラント監視装置20は、モデル学習部201と、簡易出力予測部202と、計測部203と、表示制御部204と、タイマ205とを有する。これら各部は、例えば、プラント監視装置20にインストールされた1以上のプログラムが、CPU等のプロセッサに実行させる処理により実現される。また、本応用例におけるプラント監視装置20は、学習用データ記憶部206と、特徴量モデル記憶部207と、予測入力用データ記憶部208と、予測出力用データ記憶部209とを有する。これら各記憶部は、例えば、プラント監視装置20が備える補助記憶装置等の記憶領域により実現される。
【0112】
モデル学習部201は、モデル学習時において、学習用データ記憶部206に記憶されている入力時系列us(t)及び出力時系列ys(t)から特徴量モデルを作成する。
【0113】
簡易出力予測部202は、時系列予測時において、特徴量モデル記憶部207に記憶されている特徴量モデルを用いて、予測入力用データ記憶部208に記憶されている入力時系列uk(t)及び出力基準値y0から簡易出力時系列vk(t)を予測する。
【0114】
計測部203は、サンプリング周期Tc毎に、制御対象プラント30から出力された制御量yと、従来制御装置40から出力された操作量uとを計測する。以下、時刻tで計測された制御量y及び操作量uをそれぞれy(t)及びu(t)とも表すことにする。
【0115】
表示制御部204は、予測出力用データ記憶部209に記憶されている簡易出力時系列vk(t)をディスプレイ等の表示装置に出力する。
【0116】
タイマ205は、与えられたサンプリング周期Tc毎に計測部203を動作させる。
【0117】
学習用データ記憶部206は、計測部203によって計測された制御量y(t)の所定の時間幅の時間区間における時系列データを出力時系列ys(t)として記憶する。また、学習用データ記憶部206は、計測部203によって計測された操作量u(t)の当該時間幅の時間区間における時系列データを入力時系列us(t)として記憶する。
【0118】
特徴量モデル記憶部207は、モデル学習部201によって作成された特徴量モデルを記憶する。
【0119】
予測入力用データ記憶部208は、与えられた仮想操作量時系列を入力時系列uk(t)として記憶する。また、予測入力用データ記憶部208は、出力基準値y0を記憶する。
【0120】
予測出力用データ記憶部209は、簡易出力予測部202によって予測された簡易出力時系列vk(t)を記憶する。
【0121】
なお、モデル学習部201は、例えば、学習用データ記憶部206に記憶されている複数の出力時系列ys(t)及び入力時系列us(t)を用いてバッチ的に特徴量モデルを作成してもよいし、出力時系列ys(t)及び入力時系列us(t)を逐次的に用いて特徴量モデルを作成・更新してもよい。また、出力基準値y0は入力として与えられてもよいし、計測部203によって計測された制御量yの現在値が用いられてもよい。
【0122】
例えば、出力基準値y0として制御量yの現在値を用いることにより、上記の構成を有するプラント監視装置20は、仮想操作量時系列が制御対象プラント30に与えられたときに現在から未来の制御量yがどのように変化するか(つまり、プラント応答がどのように変化するか)を表す簡易出力時系列vk(t)を表示させることが可能となる。このため、制御対象プラント30のオペレータ等は、簡易出力時系列vk(t)を参考にして、例えば、制御対象プラント30に対する適切な操作を知ることが可能となる。
【0123】
[実施例]
以下、上記で説明した各実施形態の実施例について説明する。
【0124】
・実施例1
まず、第一の実施形態の一実施例として実施例1について説明する。
【0125】
実施例1では、出力時系列ys(t)を1次元のスカラー値の時系列データ、入力時系列us(t)を2次元のベクトルの時系列データとした。入力時系列us(t)はランダムに変化し、サンプル数は100であるものとする。すなわち、s∈{1,・・・,100}である。
【0126】
また、実施例1では、以下の生成式により仮想の出力時系列を生成し、これを出力時系列y
s(t)とした。
【数9】
ここで、u
s,1(t)はu
s(t)を表す2次元ベクトルの第1要素、u
s,2(t)はu
s(t)を表す2次元ベクトルの第2要素である。また、Tは予め決められた値であり、本実施例ではT=1とした。
【0127】
上記の生成式は、三角関数と指数関数の積や絶対値を含み、またトレンド項も含むため、フーリエ変換や線形モデルには適さない特性を有している。よって、既存の線形手法では予測を行うことが難しい対象であると言える。更に、サンプル数が100しかないため、例えば、Transformer等といった複雑なニューラルネットワークの学習には不十分であると言える。
【0128】
実施例1では、出力特徴量Y
sを以下の5次元ベクトルとした。
【数10】
また、入力特徴量U
sは、上記の数2に示す入力特徴量を簡略化した以下の4次元ベクトルとした。
【数11】
更に、特徴量モデルは、F:Y
s=A・U
s+bで表される線形モデルとした。ここで、Aは5×4の行列、bは5次元ベクトルである。
【0129】
このとき、モデル学習部201は、線形モデル作成手法の1つであるPLS(Partial Least Squares)法を用いて、上記の特徴量モデルFを作成した。なお、PLS法の代わりに、主成分回帰(PCR:principal component regression)等の手法を用いて、上記の特徴量モデルFが作成されてもよい。
【0130】
以下、出力特徴量Y
sを表す5次元ベクトルの第1要素~第5要素をそれぞれY
s,1、Y
s,2、Y
s,3、Y
s,4、Y
s,5とする。このとき、特徴量モデルFの予測精度について、
図19を参照しながら説明する。
図19は、実施例1における特徴量モデルFの予測精度を説明するための図である。なお、
図19に示す例では、縦軸が特徴量モデルFによる予測値、横軸が真値を表している。
【0131】
図19に示すように、Y
s,1は比較的良い精度で予測できており、またY
s,5は1点のみなので正しく予測できている。一方で、それ以外の要素については、精度がばらばらである。
【0132】
また、一例として、2つの入力時系列u
k(t)及びu
k'(t)を用いて、それぞれ簡易出力時系列v
k(t)及びv
k'(t)を予測したときの予測精度について、
図20及び
図21を参照しながら説明する。
図20及び
図21は、実施例1における簡易出力時系列の予測精度を説明するための図である。なお、
図20に示す例では、y
pred(t)=v
k(t)であり、またy
true(t)はy
pred(t)の真値である。同様に、
図21に示す例では、y
pred(t)=v
k'(t)であり、またy
true(t)はy
pred(t)の真値である。
【0133】
図20及び
図21に示すように、入力時系列u
k(t)及びu
k'(t)のいずれでも、簡易出力時系列v
k(t)及びv
k'(t)によって大体の傾向は捉えることができていると言える。
【0134】
・実施例2
次に、第二の実施形態の一実施例として実施例2について説明する。
【0135】
実施例2でも、実施例1と同様の出力時系列y
s(t)及び入力時系列u
s(t)を用いる。また、実施例2では、
図22に示すように、時刻t=0からt=t
endまでの出力時系列y
s(t)を2つの区間に分割している。なお、区間1は時刻0~100、区間2は時刻100~400であり、不均等な区間である。
【0136】
実施例2では、出力特徴量Y
s,iを以下の5次元ベクトルとした。
【数12】
また、入力特徴量U
sは、実施例1と同様に、上記の数2に示す入力特徴量を簡略化した以下の4次元ベクトルとした。
【0137】
更に、特徴量モデルは、以下で表される線形モデルとした。
【0138】
F1:Ys,1=A1・Us+b1
F2:Ys,2=A2・Us+C2・Ys,1+b2
ここで、A1及びA2は5×4の行列、C2は5×5の行列、b1及びb2は5次元のベクトルである。
【0139】
このとき、モデル学習部201は、線形モデル作成手法の1つであるPLS法を用いて、上記の特徴量モデルFi(i=1,2)を作成した。
【0140】
以下、出力特徴量Y
s,iを表す5次元ベクトルの第1要素~第5要素をそれぞれY
s,i,1、Y
s,i,2、Y
s,i,3、Y
s,i,4、Y
s,i,5とする。このとき、特徴量モデルF
iの予測精度について、
図23を参照しながら説明する。
図23は、実施例2における特徴量モデルF
iの予測精度を説明するための図である。なお、
図23に示す例では、縦軸が特徴量モデルF
iによる予測値、横軸が真値を表している。
【0141】
図23に示すように、Y
s,1,1、Y
s,1,3、Y
s,1,4、Y
s,2,2、Y
s,2,3、Y
s,2,4、Y
s,2,5は比較的良い精度で予測できている。一方で、それ以外の要素については、精度がばらばらである。実施例1では比較的精度の良く予測できている出力特徴量の要素は2/5であったのに対して、実施例2では7/10が比較的精度良く予測できている。このため、区間分割によって出力特徴量の予測精度が全体的に向上していると言える。
【0142】
また、一例として、実施例1と同一の2つの入力時系列u
k(t)及びu
k'(t)を用いて、それぞれ簡易出力時系列v
k(t)及びv
k'(t)を予測したときの予測精度について、
図24及び
図25を参照しながら説明する。
図24及び
図25は、実施例2における簡易出力時系列の予測精度を説明するための図である。なお、
図24に示す例では、y
pred1(t)は実施例1で予測した簡易出力時系列、y
pred2(t)は実施例2で予測した簡易出力時系列であり、またy
true(t)はy
pred2(t)の真値である。同様に、
図25に示す例では、y
pred1(t)は実施例1で予測した簡易出力時系列、y
pred2(t)は実施例2で予測した簡易出力時系列であり、またy
true(t)はy
pred2(t)の真値である。
【0143】
図24及び
図25に示すように、実施例2では、実施例1では捉えることができなかった2つのピークのある波形に対しても、それらのピークを捉えた簡易出力時系列が予測できており、実施例1よりも精度の良い予測ができていると言える。
【0144】
[まとめ]
以上のように、第一乃至第三の実施形態に係る時系列予測装置10は、例えば、フーリエ変換等といった既知の線形手法ではモデル化が困難な非線形性のあるプロセスに対しても、比較的少ない学習用データにより精度の良いモデル学習を行うことが可能であり、また比較的精度の良く、かつ、高速に出力時系列を予測することが可能である。
【0145】
なお、応用例でも示したように、第一乃至第三の実施形態に係る時系列予測装置10は、例えば、プラント監視等の分野で必要なるプラント応答予測に適用することが可能である。この場合、出力時系列としては、例えば、温度、圧力、流量、濃度、エネルギー消費量等の時系列データを用いることができる。一方で、入力時系列としては、例えば、電流、電圧、回転数、弁開度、蓄電量、放電量等の時系列データを用いることができる。ただし、これらはいずれも一例であって、これら以外にも、既知のプラントの任意の入力変数の時系列データを入力時系列、任意の出力変数の時系列データを出力時系列として用いることが可能である。また、プラント応答予測以外にも、入力時系列から出力時系列を予測するものであれば、プラント以外の任意の対象の出力時系列を予測する場合にも同様に適用することが可能である。
【0146】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0147】
10 時系列予測装置
20 プラント監視装置
30 制御対象プラント
40 従来制御装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 モデル学習部
202 簡易出力予測部
203 計測部
204 表示制御部
205 タイマ
206 学習用データ記憶部
207 特徴量モデル記憶部
208 予測入力用データ記憶部
209 予測出力用データ記憶部
【要約】
【課題】学習用データが十分でない場合であっても、非線形的な挙動をする対象の精度の良い時系列予測を実現すること。
【解決手段】本開示の一態様による時系列予測装置は、対象から出力される出力変数の時系列データである出力時系列を予測する時系列予測装置であって、前記対象の入力変数の時系列データである第1の入力時系列と、前記第1の入力時系列に対応する第1の出力時系列とを入力として、前記第1の入力時系列の第1の入力特徴量と前記第1の出力時系列の第1の出力特徴量との間の関係をモデル化した特徴量モデルを作成するモデル作成部と、第2の入力時系列と、出力基準値とを入力として、前記第2の入力時系列の第2の入力特徴量から第2の出力特徴量を前記特徴量モデルにより予測し、予測された前記第2の出力特徴量が表す特徴を有し、かつ、前記出力基準値から開始する所定の軌道で表される時系列データを、前記第2の入力時系列に対応する第2の出力時系列として予測する時系列予測部と、を有する。
【選択図】
図2