(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-01
(45)【発行日】2024-08-09
(54)【発明の名称】放流水質予測装置および放流水質予測方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20240802BHJP
G06Q 50/06 20240101ALI20240802BHJP
C02F 1/00 20230101ALI20240802BHJP
【FI】
G05B23/02 R
G06Q50/06
C02F1/00 V
(21)【出願番号】P 2020117960
(22)【出願日】2020-07-08
【審査請求日】2023-06-19
(73)【特許権者】
【識別番号】000003942
【氏名又は名称】日新電機株式会社
(73)【特許権者】
【識別番号】504255685
【氏名又は名称】国立大学法人京都工芸繊維大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】森本 充
(72)【発明者】
【氏名】黄 嵐
(72)【発明者】
【氏名】竹原 輝巳
(72)【発明者】
【氏名】清滝 和雄
(72)【発明者】
【氏名】大久保 章
(72)【発明者】
【氏名】寶珍 輝尚
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】特開2013-161336(JP,A)
【文献】特開2009-237832(JP,A)
【文献】特開2017-049677(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00ー23/02
(57)【特許請求の範囲】
【請求項1】
下水処理場に設置された複数のセンサから、検出値の時系列データを取得するセンサ情報取得部と、
前記センサ情報取得部によって取得された前記時系列データを学習データとして記憶する学習データデータベースと、
前記センサ情報取得部によって取得された前記時系列データを直近データとして記憶する直近データデータベースと、
前記学習データの中の第1の所定時間分の学習データを学習データセットとし、該学習データセットにフィルタ処理を行う前処理部と、
第2の所定時間後の、放流水質データの値を予測するための予測モデルを、前記前処理部によってフィルタ処理された後の学習データセットから生成するモデル生成部と、
前記直近データに、前記予測モデルを適用することにより、前記放流水質データの値を予測する放流水質予測部とを備え
、
前記前処理部は、前記フィルタ処理で使用する複数のパラメータの組を生成し、当該複数のパラメータの組を用いて前記学習データセットにフィルタ処理を行って複数の学習データセットを作成し、
前記モデル生成部は、前記複数の学習データセットを用いて複数の予測モデルを生成し、
前記前処理部は、前記学習データセットの少なくとも一部の学習データである評価データを前記複数の予測モデルに入力することによって得られる予測値に基づいて、前記フィルタ処理の最適なパラメータの組を抽出する、放流水質予測装置。
【請求項2】
前記モデル生成部は、
前記学習データセットをトレーニングデータとし、
前記第2の所定時間後の、前記放流水質データの実測値を検証データとし、
前記トレーニングデータおよび前記検証データを用いてリカレントニューラルネットワークに学習させることにより予測モデルを生成する、請求項1に記載の放流水質予測装置。
【請求項3】
前記モデル生成部は、前記リカレントニューラルネットワークのハイパーパラメータを変更しながら予測モデルを生成し、
前記放流水質予測装置はさらに、前記学習データセットの少なくとも一部の学習データを評価データとし、前記評価データを前記予測モデルに入力することによって得られる予測値と、前記検証データとの誤差が所定値以下の予測モデルを、前記放流水質予測部に設定するモデル評価部を含む、請求項2に記載の放流水質予測装置。
【請求項4】
下水処理場に設置された複数のセンサから、検出値の時系列データを取得するセンサ情報取得部と、
前記センサ情報取得部によって取得された前記時系列データを学習データとして記憶する学習データデータベースと、
前記センサ情報取得部によって取得された前記時系列データを直近データとして記憶する直近データデータベースと、
前記学習データの中の第1の所定時間分の学習データを学習データセットとし、該学習データセットにフィルタ処理を行う前処理部と、
第2の所定時間後の、放流水質データの値を予測するための予測モデルを、前記前処理部によってフィルタ処理された後の学習データセットから生成するモデル生成部と、
前記直近データに、前記予測モデルを適用することにより、前記放流水質データの値を予測する放流水質予測部とを備え、
前記モデル生成部は、
前記学習データセットをトレーニングデータとし、
前記第2の所定時間後の、前記放流水質データの実測値を検証データとし、
前記トレーニングデータおよび前記検証データを用いてリカレントニューラルネットワークに学習させることにより予測モデルを生成し、
前記モデル生成部は、前記リカレントニューラルネットワークのハイパーパラメータを変更しながら予測モデルを生成し、
さらに、前記学習データセットの少なくとも一部の学習データを評価データとし、前記評価データを前記予測モデルに入力することによって得られる予測値と、前記検証データとの誤差が所定値以下の予測モデルを、前記放流水質予測部に設定するモデル評価部を含み、
前記前処理部は、前記フィルタ処理で使用する複数のパラメータの組を生成し、当該複数のパラメータの組を用いて前記学習データセットにフィルタ処理を行って複数の学習データセットを作成し、
前記モデル生成部は、前記複数の学習データセットを用いて複数の予測モデルを生成し、
前記モデル評価部は、前記評価データを前記複数の予測モデルに入力することによって得られる予測値と、前記検証データとの最大誤差を、前記複数の予測モデル毎に算出し、
前記前処理部は、前記複数の予測モデルごとに算出された最大誤差によって前記複数のパラメータを序列化し、最適化を行うことにより前記フィルタ処理の最適なパラメータの組を抽出する
、放流水質予測装置。
【請求項5】
下水処理場に設置された複数のセンサから、検出値の時系列データを取得するステップと、
前記取得された前記時系列データを学習データとして記憶するステップと、
前記取得された前記時系列データを直近データとして記憶するステップと、
前記学習データの中の第1の所定時間分の学習データを学習データセットとし、該学習データセットにフィルタ処理を行うステップと、
第2の所定時間後の、放流水質データの値を予測するための予測モデルを、前記フィルタ処理された後の学習データセットから生成するステップと、
前記直近データに、前記予測モデルを適用することにより、前記放流水質データの値を予測するステップとを含み、
該学習データセットにフィルタ処理を行うステップにおいて、
前記フィルタ処理で使用する複数のパラメータの組を生成し、当該複数のパラメータの組を用いて前記学習データセットにフィルタ処理を行って複数の学習データセットを作成し、
前記フィルタ処理された後の学習データセットから生成するステップにおいて、
前記複数の学習データセットを用いて複数の予測モデルを生成し、
該学習データセットにフィルタ処理を行うステップにおいて、
前記学習データセットの少なくとも一部の学習データである評価データを前記複数の予測モデルに入力することによって得られる予測値に基づいて、前記フィルタ処理の最適なパラメータの組を抽出する、放流水質予測方法。
【請求項6】
下水処理場に設置された複数のセンサから、検出値の時系列データを取得するステップと、
前記取得された前記時系列データを学習データとして記憶するステップと、
前記取得された前記時系列データを直近データとして記憶するステップと、
前記学習データの中の第1の所定時間分の学習データを学習データセットとし、該学習データセットにフィルタ処理を行うステップと、
第2の所定時間後の、放流水質データの値を予測するための予測モデルを、前記フィルタ処理された後の学習データセットから生成するステップと、
前記直近データに、前記予測モデルを適用することにより、前記放流水質データの値を予測するステップとを含
み、
前記フィルタ処理された後の学習データセットから生成するステップにおいて、
前記学習データセットをトレーニングデータとし、
前記第2の所定時間後の、前記放流水質データの実測値を検証データとし、
前記トレーニングデータおよび前記検証データを用いてリカレントニューラルネットワークに学習させることにより予測モデルを生成し、
前記フィルタ処理された後の学習データセットから生成するステップにおいて、
前記リカレントニューラルネットワークのハイパーパラメータを変更しながら予測モデルを生成し、
さらに、前記学習データセットの少なくとも一部の学習データを評価データとし、前記評価データを前記予測モデルに入力することによって得られる予測値と、前記検証データとの誤差が所定値以下の予測モデルを、前記直近データに適用することにより、前記放流水質データの値を予測するステップを含み、
該学習データセットにフィルタ処理を行うステップにおいて、
前記フィルタ処理で使用する複数のパラメータの組を生成し、当該複数のパラメータの組を用いて前記学習データセットにフィルタ処理を行って複数の学習データセットを作成し、
前記フィルタ処理された後の学習データセットから生成するステップにおいて、
前記複数の学習データセットを用いて複数の予測モデルを生成し、
前記直近データに適用することにより、前記放流水質データの値を予測するステップにおいて、
前記評価データを前記複数の予測モデルに入力することによって得られる予測値と、前記検証データとの最大誤差を、前記複数の予測モデル毎に算出し、
該学習データセットにフィルタ処理を行うステップにおいて、
前記複数の予測モデルごとに算出された最大誤差によって前記複数のパラメータを序列化し、最適化を行うことにより前記フィルタ処理の最適なパラメータの組を抽出する、放流水質予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、下水処理場の複数のセンサからの時系列データに基づいて、放流水質を予測する技術に関する。
【背景技術】
【0002】
下水処理場の放流水質を予測する技術として、下記の特許文献1に開示された発明がある。この特許文献1は、水処理設備等のプラント設備の監視対象量を予測する技術に関する。
【0003】
一次予測部は、データ群、基準年間平均モデルおよび基準季節別平均モデルを用いて、ニューラルモデル、重回帰モデル、およびクラスタリングモデルを含む年間平均一次予測モデル群および季節別平均一次予測モデル群を生成する。そして、年間平均一次予測モデル群および季節別平均一次予測モデル群を用いて各予測モデルの監視対象量の予測値を予測結果データとして算出する。
【0004】
二次予測部は、稼働実績データ(年間実績データおよび季節別実績データ)を用いて基準二次予測モデルを生成する。そして、基準二次予測モデル、予測結果データおよび稼働実績データを用いて、監視対象量の年間および季節別の平均値を予測するための二次予測モデルを生成する。
【0005】
最後に、二次予測部は、監視対象予測値(予測結果データ)に重みを付与し、重みが付与された複数の監視対象量をノードとするニューラルネットワークを用いて監視対象量の予測値を算出する。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2013-161336号公報(2013年8月19日公開)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1には、下水処理場の複数のセンサからの時系列データに含まれる異常データを除去する技術については記載されていない。
【0008】
本発明の一態様は、下水処理場の複数のセンサからの時系列データに含まれる異常データを除去することが可能な放流水質予測装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明の一態様に係る放流水質予測装置は、下水処理場に設置された複数のセンサから、検出値の時系列データを取得するセンサ情報取得部と、センサ情報取得部によって取得された時系列データを学習データとして記憶する学習データデータベースと、センサ情報取得部によって取得された時系列データを直近データとして記憶する直近データデータベースと、学習データの中の第1の所定時間分の学習データを学習データセットとし、学習データセットにフィルタ処理を行う前処理部と、第2の所定時間後の、放流水質データの値を予測するための予測モデルを、前処理部によってフィルタ処理された後の学習データセットから生成するモデル生成部と、直近データに、予測モデルを適用することにより、放流水質データの値を予測する放流水質予測部とを備える。
【0010】
また、上記の課題を解決するために、本発明の一態様に係る放流水質予測方法は、下水処理場に設置された複数のセンサから、検出値の時系列データを取得するステップと、取得された時系列データを学習データとして記憶するステップと、取得された時系列データを直近データとして記憶するステップと、学習データの中の第1の所定時間分の学習データを学習データセットとし、学習データセットにフィルタ処理を行うステップと、第2の所定時間後の、放流水質データの値を予測するための予測モデルを、フィルタ処理された後の学習データセットから生成するステップと、直近データに、予測モデルを適用することにより、放流水質データの値を予測するステップとを含む。
【発明の効果】
【0011】
本発明の一態様によれば、下水処理場の複数のセンサからの時系列データに含まれる異常データを除去することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態に係る放流水質予測装置の概略構成を示す機能ブロック図である。
【
図2】前処理部によって加工された後の学習データの一例を示す図である。
【
図3】放流水質データにおける定常時データおよび非定常時データを説明するための図である。
【
図4】予測モデル生成部の処理手順を説明するためのフローチャートである。
【
図5】モデル生成部によって使用されるRNNのハイパーパラメータの調整項目例を示す図である。
【
図7】非定常時データが正しく予測できていない場合を示す図である。
【
図8】非定常時データが正しく予測できている場合を示す図である。
【
図9】前処理部の処理手順を説明するためのフローチャートである。
【
図10】フィルタの各パラメータの最適化を説明するためのフローチャートである。
【
図11】フィルタの各パラメータの最適化を模式的に示す図である。
【
図12】非定常時データ変更部の処理手順を説明するためのフローチャートである。
【
図13】学習データのサンプリングを説明するための図である。
【
図14】非定常時データの数を増やす方法を説明するための図である。
【
図15】非定常時データの数を増やす他の方法を説明するための図である。
【
図16】非定常時データの初期の抽出データを示す図である。
【
図17】非定常時データの数を減らす方法を説明するための図である。
【
図18】
図12に示す非定常時データ変更部の処理を模式的に示す図である。
【
図19】放流水質予測部の処理手順を説明するためのフローチャートである。
【
図20】放流水質データの予測を模式的に示す図である。
【
図21】非定常時データの数を増減しなかった場合のCODの実測値と放流水質予測部によって予測されたCODの予測値とを示すグラフである。
【
図22】非定常時データの数を増減した場合のCODの実測値と放流水質予測部によって予測されたCODの予測値とを示すグラフである。
【
図23】放流水質予測装置を実現するためのコンピュータの構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
【0014】
(放流水質予測装置100の構成)
図1は、本発明の一実施形態に係る放流水質予測装置100の概略構成を示す機能ブロック図である。放流水質予測装置100は、センサ情報取得部101と、学習データデータベース102と、予測モデル生成部103と、直近データデータベース104と、放流水質予測部105と、出力部106とを含む。
【0015】
図示していないが、下水処理場には、ポンプ揚水量、返流流量、送気量、混合浮遊物濃度(MLSS(Mixed Liquor Suspended Solid))、溶存酸素濃度(DO(Dissolved Oxygen))、COD(Chemical Oxygen Demand)、TN(Total Nitrogen)(全窒素)、TP(Total Phosphorus)(全リン)などのデータ(検出値)を計測するためのセンサが設置されている。これらのセンサからのデータが、放流水質予測装置100に逐一送られる。
【0016】
COD、TNおよびTPは、下水処理場の放流水質を示す指標として知られている。そこで、以下、COD、TNおよびTPのそれぞれを計測する3つのセンサから送られるデータを放流水質データと呼ぶ。他方、上記3つのセンサ以外のセンサから送られるデータをセンサ情報データと呼ぶことにする。
【0017】
センサ情報取得部101は、センサ情報データおよび放流水質データを取得し、これらのデータに時間情報データ(年、月、日、曜日/祝日、および時刻)を付与して学習データを生成する。以下の説明において、センサ情報取得部101は、1分毎にセンサ情報データおよび放流水質データを取得することとするが、これに限定されるものではない。
【0018】
学習データデータベース102は、センサ情報取得部101によって生成された学習データを、学習に必要な期間、たとえば、1年以上の期間分だけ順次記憶する。
【0019】
予測モデル生成部103は、前処理部103aと、非定常時データ変更部103bと、モデル生成部103cと、モデル評価部103dと、モデル変更部103eとを備えている。前処理部103aは、学習データデータベース102に蓄積されている学習データを、学習できる形式になるように加工する。
【0020】
図2は、前処理部103aによって加工された後の学習データの一例を示す図である。それぞれの学習データは、5項目の時間情報データ(年、月、日、曜日/祝日、および時刻)と、15項目のセンサ情報データ(ポンプ揚水量、返流流量、送気量、混合浮遊物濃度、および溶存酸素濃度など)と、3項目の放流水質データ(COD、TN、およびTP)とを含む。
【0021】
図3は、放流水質データにおける定常時データおよび非定常時データを説明するための図である。警報レベルは、放流水質データが悪化して運転変更等の対処が必要となる閾値である。定常時データは、放流水質データが警報レベル未満である時間のデータである。また、非定常時データは、放流水質データが警報レベルを超える時間のデータである。
【0022】
放流水質の定常時データと非定常時データとのバランスが良い(全期間の放流水質データに対して非定常時データの割合がある程度大きい)場合、放流水質の定常時データと非定常時データとが高い精度で予測できる。しかし、非定常時データの割合が小さい場合、定常時データの予測精度は高いが、非定常時データの予測精度が低くなる。
【0023】
非定常時データ変更部103bは、前処理部103aによって生成された学習データの中から非定常時データを抽出し、非定常時データの割合に応じて非定常時データの数を増減することにより学習データを変更する。この非定常時データ変更部103bの詳細は、後述する。
【0024】
モデル生成部103cは、非定常時データ変更部103bによって変更された学習データを用いて所定の更新周期ごとに再学習を行い、下水処理場の運転変更に対応した予測モデルを生成する。このモデル生成部103cの詳細は、後述する。
【0025】
モデル評価部103dは、モデル生成部103cによって生成された予測モデルを評価し、評価誤差が目標誤差以下であれば、その予測モデルが十分に学習していると判断する。このモデル評価部103dの詳細は、後述する。
【0026】
モデル変更部103eは、放流水質予測部105が予測処理を実行中であるか否かを判定する。予測処理を実行中でなければ、モデル変更部103eは、モデル生成部103cによって生成された予測モデルを最新の予測モデルとして更新する。
【0027】
直近データデータベース104は、センサ情報取得部101によって生成された学習データを予測に必要な期間、たとえば、1時間以上の期間分だけを順次記憶する。すなわち、直近データデータベース104は、1時間以上の最新の学習データを直近データとして常に記憶している。
【0028】
放流水質予測部105は、前処理部105aと、予測処理部105bと、後処理部105cとを備える。前処理部105aは、直近データデータベース104に蓄積されている直近データを、予測できる形式になるように加工する。
【0029】
予測処理部105bは、前処理部105aによって生成された直近データおよびモデル変更部103eによって更新された予測モデルを用いて、所定時間後(例:数時間後)の放流水質を予測する。詳細は後述する。以下では、当該所定時間が、2.5時間である場合を主に例示する。本明細書では、この所定時間を「第2の所定時間」とも称する。
【0030】
後処理部105cは、予測処理部105bによって予測された放流水質を、出力可能な形式に変換する。
【0031】
出力部106は、放流水質予測部105によって生成された各種情報を、下水処理場の図示しない制御装置、表示装置などに出力する。
【0032】
(予測モデル生成部103の処理手順)
図4は、予測モデル生成部103の処理手順を説明するためのフローチャートである。まず、前処理部103aは、学習データデータベース102に蓄積されている学習データを取得する(ステップS1)。そして、前処理部103aは、学習データの欠測値の補間および異常値の除去を行う(ステップS2)。
【0033】
ここで、欠測値とは、センサの点検等により計測値が正しく出力されていないときの値を意味する。また、異常値とは、センサの故障等により異常となっている値を意味する。これらは、たとえば、一定の範囲から値が外れているか否かによって判断される。このステップS2の処理の詳細は、後述する。
【0034】
次に、非定常時データ変更部103bは、前処理部103aによって前処理が行われた後の学習データの中の非定常時データの割合を算出する。そして、非定常時データ変更部103bは、非定常時データの割合が所定値となるように、非定常時データの数を増減して学習データを変更する(ステップS3)。このステップS3の処理の詳細は、後述する。
【0035】
次に、モデル生成部103cは、非定常時データ変更部103bによって変更された後の学習データを用いて、複数の学習データセットを作成する。
図2に示すように、太線によって囲まれた24時間(1440点)分の学習データを1つの学習データセットとする。そして、1点(1行)下にずらした24時間分の学習データを次の学習データセットとする。このように、1点(1行)ずつ下にずらした学習データセットを順次作成してゆく。本明細書では、この学習データセットの時間を「第1の所定時間」とも称する。
【0036】
以下、24時間(1440点)分の学習データを1つの学習データセットとして説明するが、これは一例であって、それ以外の時間(点数)分の学習データを学習データセットとしてもよい。
【0037】
そして、モデル生成部103cは、予測モデルを作成する。本実施形態においては、時系列データを処理するために好適な回帰型ニューラルネットワーク、たとえば、リカレントニューラルネットワーク(Recurrent Neural Network)(以下、RNNと呼ぶ。)の学習手法を用いることとし、現行のハイパーパラメータを用いて予測モデルを作成する。
【0038】
図5は、モデル生成部103cによって使用されるRNNのハイパーパラメータの調整項目例を示す図である。ハイパーパラメータは、学習データセットの時間、エポック数、最適化関数、重み減衰係数、学習率の乗数、学習率の更新間隔、およびノード数などを含む。モデル生成部103cは、これらハイパーパラメータの値を順次調整しながら予測モデルを生成する。
【0039】
ハイパーパラメータの各項目は、
図5の右側に示すように調整範囲が決められており、これらの値に変更することが可能である。したがって、ハイパーパラメータの各項目の調整範囲のすべての組み合わせで予測モデルを作成することができる。なお、ハイパーパラメータは、
図5に示す項目に限られるものではなく、これ以外に層数、潜在変数の数、活性化関数等を含んでいても良い。
【0040】
モデル生成部103cは、
図5に示すハイパーパラメータの各項目の値を選択してRNN構造に適用することにより、パラメータの調整を行う。そして、RNNの機械学習手法、たとえば、BPTT(Back Propagation Through Time)法を適用し、調整したハイパーパラメータを使用して予測モデルを作成する(ステップS4)。
【0041】
また、RNNでは、過去の中間層出力を反映することが必ずしも容易ではないことが知られている。そこで、この問題を改善するために、LSTM(Long Short Term Memory)と呼ばれるネットワークを利用することも可能である。LSTMでは、RNNの中間層出力に対して、記憶期間の長さの概念が導入されているため、遠い過去の出力の影響を保持できる。
【0042】
また、GRU(Gated Recurrent Unit)という手法を用いることも可能である。GRUでは、入力ゲートと忘却ゲートとが更新ゲートとして、1つのゲートに統合されている。GRUによれば、長いステップ前の出来事の特徴の記憶を維持しやすくなる。
【0043】
次に、モデル生成部103cは、複数の学習データセットをトレーニングデータ、検証データおよび評価データに分割する。そして、モデル生成部103cは、トレーニングデータと検証データとを用い、ステップS4において作成された予測モデルで学習および検証を行い、予測値が学習データの実測値に近づくようにネットワークのパラメータを調整する(ステップS5)。
【0044】
この学習および検証について、再び
図2を参照しながら、詳細に説明する。モデル生成部103cは、
図2の太線によって示す学習データセットをトレーニングデータとし、2.5時間後のCODの値を検証データとする。そして、モデル生成部103cは、ステップS4において作成された予測モデルの入力層にトレーニングデータを設定し、出力層の検証データとして2.5時間後のCODの値を設定する。モデル生成部103cは、所定の学習手法(BPTT法、LSTM法、またはGRU法など)を用いて再学習を行うことにより、予測モデルを更新する。なお、検証データは、学習データセットの中の最新の時刻の学習データから2.5時間後のCODの値とする。
【0045】
図6は、予測モデルの生成を模式的に示す図である。学習データ201として学習データセットの各行の23項目(時間情報データ5項目+センサ情報データ15項目+放流水質データ3項目)がRNN層の入力層に入力され、2.5時間後のCODの値が検証データとして出力層に設定される。なお、入力層に入力されるのは時間情報データ5項目+センサ情報データ15項目の合計20項目だけであってもよい。
【0046】
RNN層202は、回帰型ニューラルネットワークであり、中間層の時間経過を考慮しなければならない。このため、RNN層202に、そのまま誤差逆伝播(BP)法を適用することができない。そのため、RNN層を、中間層出力を介して時間方向に展開することにより全結合層203を作成し、BP法が適用できる形式の予測モデル204を作成する。いわゆる、BPTT法が適用できるようにする。また、上述のLSTM法またはGRU法などの学習手法を用いるようにしてもよい。
【0047】
この予測モデル204に学習データ201の各行の項目を順次入力して予測値を計算し、予測値が検証データ(2.5時間後のCODの実測値)に近づくように、BPTT法などを用いてパラメータ(重み、バイアス)を調整することにより学習を行う。そして、学習データセットの行をずらしながら順次再学習を行ない、予測モデル204を更新する。
【0048】
図6の例では、CODを学習する場合について記載している。但し、TNの値を学習する場合であれば、2.5時間後のTNの実測値を検証データとして学習すればよい。あるいは、TPを学習する場合であれば、2.5時間後のTPの実測値を検証データとして学習すればよい。また、放流水質データの上記3項目(COD、TN、およびTP)を一度に学習するのであれば、これら3項目の実測値を検証データとして学習すればよい。
【0049】
また、上記の例では、所定時間が「2.5時間」である場合を例示している。但し、所定時間はこれに限定されず、任意の時間であってもよい。
【0050】
次に、モデル評価部103dは、評価データを用い、ステップS5において調整した予測モデルで予測を行う。モデル評価部103dは、予測値と実測値との評価を行う(ステップS6)。ここでは、モデル評価部103dは、予測値と実測値との差(絶対値)を誤差として計算し、最大誤差を評価誤差として保存する。
【0051】
また、モデル評価部103dは、実測値が非定常時データである場合、予測値が正しく非定常時データとなっているか否かを判断する。そして、正確に非定常時データとして予測できた箇所数を、全ての非定常時データの箇所数で割った値を予測正解率として算出する。
【0052】
図7は、非定常時データが正しく予測できていない場合を示す図である。
図7においては、1箇所の非定常時データに、4点の非定常時データが含まれている場合を示している。モデル評価部103dは、予測データが全て定常時データとなっているため、不正解であると判断する。なお、〇は正しく予測できている箇所、×は正しく予測できていない箇所を示している。
【0053】
図8は、非定常時データが正しく予測できている場合を示す図である。
図8においても同様に、1か所の非定常時データに、4点の非定常時データが含まれている場合を示している。モデル評価部103dは、予測データの1点以上を非定常時データと予測しているため、正解であると判断する。
【0054】
このように、モデル評価部103dは、連続している非定常時データを1箇所の非定常時データとみなし、その予測データが正解か否かを判断し、正解であった非定常時データの箇所数を算出する。そして、正解であった非定常時データの箇所数を、全ての非定常時データの箇所数で割った値を予測正解率とする。
【0055】
なお、評価データとして、24時間の学習データセットの入力項目を全て用いてもよい。但し、学習データセット内の最も新しい時刻から数時間分の入力項目を抽出し、それを評価データとするようにしてもよい。
【0056】
次に、モデル評価部103dは、評価誤差が目標誤差以下であるか否かを判定する(ステップS7)。目標誤差とは、あらかじめ決められた値であり、予測モデル204が十分に学習しているか否かを判定するための値である。
【0057】
評価誤差が目標誤差よりも大きければ(ステップS7,No)、ステップS9に処理が進む。また、評価誤差が目標誤差以下であれば(S7,Yes)、モデル評価部103dは、予測正解率が目標正解率以上であるか否かを判定する(ステップS8)。予測正解率が目標正解率よりも小さければ(S8,No)、ステップS9に処理が進む。
【0058】
ステップS9において、モデル評価部103dは、予測処理部105bの更新回数が2回目以上であるか否かを判定する(ステップS9)。予測処理部105bの更新回数が2回目以上であれば(S9,Yes)、モデル評価部103dは、所定の更新時間を超えているか否かを判定する(ステップS10)。この所定の更新時間とは、十分な時間を経過しても評価誤差が小さくならなければ処理を終了するための時間であり、たとえば、数日程度の時間として設定される。
【0059】
所定の更新時間を超えていれば(ステップS10,Yes)、モデル評価部103dは、現在の学習データでは目標誤差以下であり、かつ目標正解率以上の予測モデル204を作成することができないと判断し、予測モデル204の更新を行なわずに処理を終了する(ステップS11)。
【0060】
また、所定の更新時間を超えていなければ(ステップS10,No)、モデル生成部103cおよびモデル評価部103dは、ステップS4に戻ってS4~S8の処理を繰り返すことになる。ここで、モデル生成部103cは、第1の設定時間だけ待った後に、ステップS3以降の処理を行う。この第1の設定時間は、1回の学習に必要な時間であり、データ量によっても異なるが、たとえば半日または1日の時間として設定される。
【0061】
モデル生成部103cおよびモデル評価部103dがステップS4~S8を繰り返すことにより、
図5に示す様々な組み合わせのハイパーパラメータの予測モデル204を順次作成し、作成した予測モデル204を用いて学習データセットの学習を順次行ない、予測モデル204を順次更新してゆくことになる。
【0062】
予測正解率が目標正解率以上であれば(ステップS8,Yes)、モデル評価部103dは、予測モデル204をモデル変更部103eに保存する(ステップS12)。この予測モデル204は、ハイパーパラメータの様々な組み合わせで生成された予測モデルの中で、最適に近い予測モデルであると言える。
【0063】
次に、モデル変更部103eは、放流水質予測部105が予測処理を実施中であるか否かを判定する(ステップS13)。放流水質予測部105が予測処理を実施中であれば(ステップS13,Yes)、モデル変更部103eは、第2の設定時間毎に放流水質予測部105の状態を確認する。この第2の設定時間とは、放流水質予測部105が1回の予測処理を実施するのに必要な時間であり、たとえば、数分程度の時間として設定される。
【0064】
放流水質予測部105が予測処理を実施中でなければ(ステップS13,No)、モデル変更部103eは、予測処理部105bが使用する予測モデル204を最新の予測モデル204に更新し(ステップS14)、処理を終了する。
【0065】
なお、所定の更新時間、第1の設定時間および第2の設定時間は任意の値が設定可能であり、下水処理場に設置されているセンサの数の変更および学習データのデータ量の変更等に応じて適切な値を設定するものとする。
【0066】
図9は、前処理部103a(
図4のステップS2)の処理手順を説明するためのフローチャートである。この処理は、学習データセットにフィルタ処理を行うことにより学習データに含まれる異常データを除去するものである。
【0067】
まず、前処理部103aは、学習データ内に欠測値がある場合、前後の時間の学習データの同じ項目の値を用いて、当該欠測値を補間する。または、前処理部103aは、前週の同じ曜日の同じ時刻の同じ項目の値を用いて、当該欠測値を補間してもよい(S61)。そして、前処理部103aは、補間した学習データに時間情報データを追加する(S62)。
【0068】
次に、前処理部103aは、最適化するフィルタのパラメータの個数Nを取得する(S63)。パラメータの個数Nは、適用するデジタルフィルタによって異なるが、本実施形態においてはローパスフィルタの1種であるバターワースフィルタを用いるものとする。バターワースフィルタのパラメータは、通過帯域周波数Fp、そのゲインGp、阻止帯域周波数Fs、およびそのゲインGsの4つである(N=4)。以下、バターワースフィルタの場合について説明するが、これ以外のデジタルフィルタを用いてもよい。
【0069】
次に、前処理部103aは、事前に設定した最適化するフィルタの各パラメータの最大値(Maxi)および最小値(Mini)を取得する(S64)。ここで、i=1,2,…,Nであり、バターワースフィルタの場合はN=4となる。
【0070】
次に、前処理部103aは、最適化するフィルタのパラメータ毎の最大値(Maxi)および最小値(Mini)の範囲内で、ランダムな数値の組み合わせをN+1通り設定する(S65)。このランダムなパラメータの組み合わせを、P1=(Fp1,Gp1,Fs1,Gs1)、P2=(Fp2,Gp2,Fs2,Gs2)、…、P5=(Fp5,Gp5,Fs5,Gs5)とする。
【0071】
次に、前処理部103aは、パラメータの組Pj(j=1,2,…,N+1)を用いて学習データセットにフィルタ処理を行い、5つの学習データセットを作成する。そして、モデル生成部103cが、ハイパーパラメータを用いて作成した予測モデルに対して、5つの学習データセットのそれぞれを用いて学習を行い、5つの予測モデルを作成する(S66)。なお、最初に用いる学習データセットは、上述と同様に、例えば、24時間分の学習データである。また、モデル生成部103cは、予め作成した最適なハイパーパラメータを用いて予測モデルを作成するものとする。
【0072】
次に、モデル評価部103dは、モデル生成部103cによって学習された5つの予測モデルのそれぞれに対して評価データを入力し、算出された予測値と実測値との差の絶対値(誤差)を5つの予測モデル毎に算出する。そして、モデル評価部103dは、5つの予測モデル毎に誤差の最大値を求める。ここで、各予測モデルの誤差の最大値を求める関数を、目的関数fとする。また、実測値は、上述と同様に、例えば、2.5時間後のCOD(TN,TP)の値である。
【0073】
前処理部103aは、モデル評価部103dによって求められた誤差の最大値f(P1),f(P2),…,f(PN+1)を用いて5つのパラメータの組を序列化する(S67)。ここで、序列化された後の各パラメータの組の誤差の最大値は、f(P1)≦f(P2)≦f(P3)≦f(P4)≦f(P5)となる。mを、最適化を行う際の繰り返し回数(1≦m)とすると、m回目の序列化された後のパラメータの組は、P1
(m)、P2
(m)、P3
(m)、P4
(m)、P5
(m)となる。これらのパラメータの組をそれぞれ点と呼ぶことにし、この時の点P1
(m)を最良点B(m)、点P4
(m)を第2最悪点V(m)、点P5
(m)を最悪点W(m)と呼ぶことにする。
【0074】
最後に、前処理部103aは、最良点B(m)、第2最悪点V(m)、および最悪点W(m)を用いて各パラメータの最適化を行う(S68)。本実施形態においては、最適化手法として、例えば、ネルダー・ミード法を用いることにするが、これに限定されるものではなく、最急降下法、遺伝アルゴリズム等であってもよい。
【0075】
図10は、フィルタの各パラメータの最適化(
図9のステップS68)の処理手順を説明するためのフローチャートである。なお、mの初期値は0として説明する。まず、前処理部103aは、m=m+1を算出し、点W
(m)以外の4つの点P
j
(m)(j=1,2,3,4)を用いて重心
(m)を求める(S71)。
【0076】
【0077】
次に、前処理部103aは、線分W(m)G(m)を2:1に外分する点R(m)を求める(S72)。
【0078】
R(m)=2G(m)-W(m) …(2)
次に、前処理部103aは、R(m)およびB(m)のそれぞれに対応するパラメータの組を作成する。そして、モデル生成部103cは、R(m)およびB(m)のそれぞれに対応する予測モデルを作成する。そして、モデル評価部103dは、R(m)およびB(m)のそれぞれに対応する予測モデルを評価することにより、それぞれの誤差の最大値f(R(m))およびf(B(m))を算出する。以下、この一連の処理を、単に「目的関数fの値を算出する」と記載することにする。
【0079】
前処理部103aは、f(R(m))がf(B(m))以下であるか否かを判定する(S73)。f(R(m))がf(B(m))以下であれば(S73,Yes)、線分W(m)R(m)を3:2に外分する点E(m)を求める(S74)。
【0080】
E(m)=3G(m)-2W(m) …(3)
次に、f(E(m))の値を算出し、前処理部103aは、f(E(m))がf(R(m))以下であるか否かを判定する(S75)。f(E(m))がf(R(m))以下であれば(S75,Yes)、点W(m)を削除して、点E(m)を加える。そして、W(m)をV(m)に更新し(S76)、ステップS84に処理が進む。また、f(E(m))がf(R(m))よりも大きければ(S75,No)、ステップS77に処理が進む。
【0081】
また、f(R(m))がf(B(m))よりも大きければ(S73,No)、f(V(m))の値を算出し、前処理部103aは、f(R(m))がf(V(m))以下であるか否かを判定する(S78)。f(R(m))がf(V(m))以下であれば(S78,Yes)、ステップS77に処理が進む。
【0082】
ステップS77において、前処理部103aは、点W(m)を削除して、点R(m)を加える。そして、W(m)をV(m)に更新し、ステップS84に処理が進む。
【0083】
また、f(R(m))がf(V(m))よりも大きければ(S78,No)、前処理部103aは、線分W(m)G(m)の中点S(m)を求める(S79)。
【0084】
S(m)=1/2G(m)+1/2W(m) …(4)
そして、f(S(m))およびf(W(m))の値を算出し、前処理部103aは、f(S(m))がf(W(m))以下であるか否かを判定する(S80)。f(S(m))がf(W(m))以下であれば(S80,Yes)、前処理部103aは、点W(m)を削除して、点S(m)を加え、ステップS83に処理が進む。
【0085】
また、f(S(m))がf(W(m))よりも大きければ(S80,No)、前処理部103aは、各線分B(m)Pj
(m)の中点Pj
(m)’を求め(j=2,3,4,5)、各点Pj
(m)をPj
(m)’に更新し(S82)、ステップS83に処理が進む。
【0086】
Pj
(m)’=1/2Pj
(m)+1/2B(m) …(5)
ステップS83において、前処理部103aは、目的関数fを用いて各点を序列化し、ステップS84に処理が進む。
【0087】
ステップS84において、前処理部103aは、設定判定式を満たすか否かを判定する。この設定判定式として、例えば、最適化繰り返し回数mが事前に設定した上限qを超えるか否か、最適化時間が事前に設定した上限値を超えるか否か、最良点B(m)が変動しなかった最適化繰り返し回数が事前に設定した上限値を超えるか否か、f(B(m))が事前に設定した閾値を下回るか否か、次式(6)が事前に設定した閾値を下回るか否か、等が挙げられる。
【0088】
【0089】
設定判定式を満たさなければ(S84,No)、ステップS71に戻って以降の処理を繰り返す。また、設定判定式を満たせば(S84,Yes)、前処理部103aは、点B
(m)のパラメータの組み合わせを採用する(S85)。すなわち、前処理部103aは、点B
(m)のパラメータの組み合わせを用いて、最初の学習データセットにフィルタ処理を行い、フィルタ処理後の学習データセットを用いて、
図4のステップS3以降の処理が行われることになる。
【0090】
なお、非定常時データ変更部103bによる非定常時データの変更処理(
図4のステップS3)が不要な場合には、ステップS3の処理を行わずに、ステップS4の処理に進むようにしてもよい。
【0091】
図11は、フィルタの各パラメータの最適化を模式的に示す図である。
図11においては、説明を簡単にするために、N=2(2次元)の場合を示している。G11は、m=1の場合の最良点B
(1)、第2最悪点V
(1)および最悪点W
(1)を示している。
【0092】
G12は、m=2の場合を示しており、
図10に示す処理によって追加された点が最良点B
(2)に、G11に示す最良点B
(1)が第2最悪点V
(2)に、G11に示す第2最悪点V
(1)が最悪点W
(2)に更新され、G11に示す最悪点W
(1)が削除されている。そして、
図10に示す同様の処理が繰り返される。
【0093】
G13は、m=q-1の場合の最良点B(q-1)、第2最悪点V(q-1)および最悪点W(q-1)を示している。qは、mの上限設定値である。
【0094】
G14は、m=qの場合の最良点B
(q)、第2最悪点V
(q)および最悪点W
(q)を示している。このように、
図10に示す処理を上限設定値qまで繰り返すことにより、徐々に誤差が小さくなり、最適なパラメータを求めることができる。
【0095】
図12は、非定常時データ変更部103b(
図4のステップS3)の処理手順を説明するためのフローチャートである。まず、非定常時データ変更部103bは、前処理部103aによって加工された後の1分毎の学習データをサンプリングして、例えば、10分毎の学習データを作成する。
【0096】
非定常時データ変更部103bは、10分毎のデータの中から、センサデータが警報レベルを超える非定常時データを抽出する。そして、非定常時データ変更部103bは、抽出した非定常時データの点数の総数を求め、その総数が全データに占める割合Pを求める(ステップS31)。
【0097】
図13は、学習データのサンプリングを説明するための図である。なお、以下の説明においては、放流水質データの1つであるCODの非定常時データの場合について説明するが、他の放流水質データ(TN,PN)の非定常時データについても同様である。
【0098】
図13は、1分毎のCODのセンサデータを示しており、非定常時データ変更部103bは、10点のセンサデータの中の5点目のセンサデータを抽出する。
図13においては、警報レベルを超えているCODの非定常時データのみを記載しているが、CODの定常時データも同様に、10点のセンサデータの中の5点目のセンサデータを抽出して10分毎のデータを生成する。なお、
図13においては、1分毎のCODのセンサデータをサンプリングデータと記載しており、10分毎のCODのセンサデータを初期の抽出データと記載している。
【0099】
ここで、非定常時データ変更部103bが非定常時データの増減を行う際に使用する事前の設定項目について説明する。PMAXは非定常時データの最大割合を示し、PMINは非定常時データの最小割合を示す。また、μは、非定常時データの割合の増減幅の調整係数を示し、NMINは、非定常時データの割合の最小増減幅を示す。
【0100】
また、P0(k)をk回目の選択時の非定常時データの最小割合とし、P3(k)をk回目の選択時の非定常時データの最大割合とすると、k回目の非定常時データの割合の増減幅N(k)は、μ×(P3(k)-P0(k))となる。
【0101】
非定常時データの最適な割合が、事前に設定された最小割合PMINと最大割合PMAXとの間に存在するという考えに基づき、最適化法(非線形計画法)を用いて非定常時データの最適な割合を求める。
【0102】
非定常時データ変更部103bは、計算回数kに1を代入し(ステップS32)、1回目の最小割合P0(k)にPMINを代入し、1回目の最大割合P3(k)にPMAXを代入し(ステップS33)、k回目の割合の増減幅N(k)にμ×(P3(k)-P0(k))の値を代入する(ステップS34)。
【0103】
次に、非定常時データ変更部103bは、割合P1(k)にP0(k)+N(k)を代入し、割合P2(k)にP3(k)-N(k)を代入する(ステップS35)。そして、非定常時データ変更部103bは、割合がP1(k)となるように非定常時データを増やして学習データセットD1を作成し、割合がP2(k)となるように非定常時データを減らして学習データセットD2を作成する(ステップS36,S37)。このとき、非定常時データ変更部103bは、ステップS31において算出した割合Pに基づいて、非定常時データを増減し、学習データセットD1およびD2を作成するものとする。
【0104】
図14は、非定常時データの数を増やす方法を説明するための図である。
図14に示すように、初期の抽出データの周辺のサンプリングデータには非定常時データが含まれることが多いため、追加の非定常時データを抽出することができる。
図14においては、10点の中の2点目の非定常時データおよび8点目の非定常時データを追加することにより、非定常時データを3倍にする例を示している。
【0105】
図15は、非定常時データの数を増やす他の方法を説明するための図である。
図15に示すように、初期の抽出データの振幅に対して、振幅を1.05倍に増やした非定常時データを作成し、その非定常時データを学習データに追加する。また、初期の抽出データの振幅に対して、振幅を0.95倍に減らした非定常時データを作成し、その非定常時データを学習データに追加する。このようにして、非定常時データの数を3倍に増やすことができる。
【0106】
図16は、非定常時データの初期の抽出データを示す図である。
図16においては、初期の抽出データのサンプリング間隔が1分となっている場合について説明するが、サンプリング間隔が1分よりも長くなっている場合もあり得る。
【0107】
図17は、非定常時データの数を減らす方法を説明するための図である。
図17においては、サンプリング間隔を5分とし、5点の非定常時データ(初期の抽出データ)の中の2点目を抽出する。これによって、非定常時データの数を初期の抽出データの0.2倍に減らすことができる。
【0108】
たとえば、初期の抽出データの数が18万点であり、その中の非定常時データの数が6千点であったとすると、非定常時データを正しく予測するために非定常時データの数を増やす必要がある。上述の非定常時データを増やす方法を用いて、非定常時データの数を2万点追加するとすれば、追加後の全データが20万点となり、追加後の非定常時データが2万6千点となる。その結果、非定常時データの割合が13%となり、非定常時データを正しく予測することができるようになる。
【0109】
次に、モデル生成部103cは、非定常時データ変更部103bによって作成された学習データセットD1を用いて予測モデルM1を作成し、学習データセットD2を用いて予測モデルM2を作成する(ステップS38)。ここでは、モデル生成部103cは、
図5に示すハイパーパラメータ調整項目の中の最適な組み合わせと考えられるハイパーパラメータを用いて予測モデルを作成するものとし、予測モデルの学習および検証を行うことにより予測モデルM1およびM2を更新する。
【0110】
次に、モデル評価部103dは、評価データを用い、ステップS38において作成された予測モデルM1およびM2で予測を行う。モデル評価部103dは、予測モデルM1およびM2のそれぞれの予測値と実測値との評価を行う(ステップS39)。ここでは、モデル評価部103dは、予測モデルM1およびM2のそれぞれの予測値と実測値との差を誤差として計算し、最大誤差を評価誤差として保存する。
【0111】
次に、非定常時データ変更部103bは、予測モデルM1の評価誤差が予測モデルM2の評価誤差以下であるか否かを判定する(ステップS40)。予測モデルM1の評価誤差が予測モデルM2の評価誤差以下であれば(S40,Yes)、非定常時データ変更部103bは、学習データセットD1を一時保存する(ステップS41)。
【0112】
次に、非定常時データ変更部103bは、k+1回目の最小割合P0(k+1)にP0(k)を代入し、k+1回目の最大割合P3(k+1)にP2(k)を代入する(ステップS42)。そして、k+1回目の割合P1(k+1)にP1(k)を代入し、k+1回目の割合P2(k+1)にP2(k)-N(k)の算出値を代入する(ステップS43)。
【0113】
また、予測モデルM1の評価誤差が予測モデルM2の評価誤差より大きければ(S40,No)、非定常時データ変更部103bは、学習データセットD2を一時保存する(ステップS44)。
【0114】
次に、非定常時データ変更部103bは、k+1回目の最小割合P0(k+1)にP1(k)を代入し、k+1回目の最大割合P3(k+1)にP3(k)を代入する(ステップS45)。そして、k+1回目の割合P1(k+1)にP1(k)+N(k)の算出値を代入し、k+1回目の割合P2(k+1)にP2(k)を代入する(ステップS46)。
【0115】
次に、非定常時データ変更部103bは、N(k+1)にμ×(P3(k+1)-P0(k+1))の算出値を代入して更新し(ステップS47)、増減幅N(k+1)が最小の増減幅NMIN以下であるか否かを判定する(ステップS48)。
【0116】
増減幅N
(k+1)が最小の増減幅N
MINよりも大きければ(S48,No)、非定常時データ変更部103bは、計算回数kにk+1の値を代入し(ステップS49)、ステップS36に戻って以降の処理を繰り返す。また、増減幅N
(k+1)が最小の増減幅N
MIN以下であれば(S48,Yes)、非定常時データ変更部103bは、一次保存している学習データセットを採用し(ステップS50)、
図4のステップS4に処理が進む。
【0117】
図18は、
図12に示す非定常時データ変更部103b(
図4のステップS3)の処理を模式的に示す図である。
図18は、横軸を非定常時データの割合、縦軸を評価誤差Eとするグラフ形式で表している。
【0118】
1回目の最適な割合の選択範囲を、最小割合P0(1)(PMIN)から最大割合P3(1)(PMAX)までとし、1回目の増減幅N(1)にμ×(P3(1)-P0(1))の算出値を代入し、割合P1(1)をP0(1)+N(1)とし、割合P2(1)をP3(1)-N(1)とする。このとき、予測モデルM1の評価誤差E1よりも予測モデルM2の評価誤差E2の方が大きいため、最大割合P3(2)に割合P2(1)を代入し、割合P2(2)にP2(1)-N(1)の算出値を代入する。これにより、最大割合P3(2)および割合P2(2)がN(1)だけ中央(左側)に移動する(G1)。
【0119】
次に、2回目の最適な割合の選択範囲を、最小割合P0(2)から最大割合P3(2)までとし、2回目の増減幅N(2)にμ×(P3(2)-P0(2))の算出値を代入する。このとき、予測モデルM1の評価誤差E1よりも予測モデルM2の評価誤差E2の方が小さいため、最小割合P0(3)に割合P1(2)を代入し、割合P1(3)にP1(2)+N(2)の算出値を代入する。これにより、最小割合P0(3)および割合P1(3)がN(2)だけ中央(右側)に移動する(G2)。
【0120】
次に、3回目の最適な割合の選択範囲を、最小割合P0(3)から最大割合P3(3)までとし、3回目の増減幅N(3)にμ×(P3(3)-P0(3))の算出値を代入する。このとき、予測モデルM1の評価誤差E1よりも予測モデルM2の評価誤差E2の方が大きいため、最大割合P3(4)に割合P2(3)を代入し、割合P2(4)にP2(3)-N(3)の算出値を代入する。これにより、最大割合P3(4)および割合P2(4)がN(3)だけ中央(左側)に移動する(G3)。
【0121】
同様の処理を繰り返し、T回目の最適な割合の選択範囲を、最小割合P0(T)から最大割合P3(T)までとし、T回目の増減幅N(T)にμ×(P3(T)-P0(T))の算出値を代入する。このとき、T回目の増減幅N(T)が最小の増減幅NMINよりも小さくなるため、一次保存されている学習データセットが採用される。
【0122】
(放流水質予測部105の処理手順)
図19は、放流水質予測部105の処理手順を説明するためのフローチャートである。まず、前処理部105aは、所定の予測周期毎に直近データデータベース104に蓄積されている直近データを取得する(ステップS21)。前処理部103aは、学習データの前処理を行う。より具体的には、前処理部103aは、学習データ内に欠測値または異常値がある場合には、欠測値の補間または異常値の除去を行う(ステップS22)。なお、欠測値、異常値、それらの値の補間方法および除去方法については、予測モデル生成部103の前処理部103aにおいて説明したものと同様である。
【0123】
なお、
図19に示す処理は、所定の予測周期毎に再度行われる。この所定の予測周期とは、放流水質予測部105が1回の予測処理を実施するのに必要な時間であり、たとえば、数分程度の時間として設定される。この所定の予測周期は、任意の値を設定することが可能であり、学習データのデータ量の変更等に応じて適切な値を設定するものとする。
【0124】
次に、予測処理部105bは、前処理部105aによって前処理された後の直近データを、予測モデル生成部103によって作成された予測モデル204に適用して、2.5時間後の放流水質データ(COD、TN、TP)の値を予測する(ステップS23)。
【0125】
図20は、放流水質データの予測を模式的に示す図である。直近データ205として学習データセットの各行の23項目(時間情報データ5項目+センサ情報データ15項目+放流水質データ3項目)が予測モデル204の入力層に入力される。予測モデル204は、2.5時間後のCODの値を予測し、出力データ206として出力する。
【0126】
同様にして、TNの予測用に作成された予測モデル204を用いて、2.5時間後のTNの値を予測することも可能である。また、TPの予測用に作成された予測モデル204を用いて、2.5時間後のTPを予測することも可能である。
【0127】
最後に、後処理部105cは、予測処理部105bによって予測された放流水質データ(予測結果)に対し、後処理を行う。具体的には、後処理部105cは、予測結果を出力部106が出力可能な形式に変換し(ステップS24)、処理を終了する。
【0128】
(予測結果の一例)
ある下水処理場において放流水質の予測を行った。データ数は4年8か月の1分データ(約245万データ)とし、入力データ種(時間情報データを含む)は20項目とし、出力データ種は3項目(COD、TNおよびTP)とした。また、学習データセットは、23項目(入力データ種+出力データ種)×12時間とした。機械学習手法としては、LSTM法を用いた。
【0129】
図21は、非定常時データの数を増減しなかった場合のCODの実測値と放流水質予測部105によって予測されたCODの予測値とを示すグラフである。縦軸はCODの値を示し、横軸は時刻を示している。このグラフは、1日のCODの実測値および予測値を示しており、非定常時データが正しく予測できていないことを示している。
【0130】
図22は、非定常時データの数を増減した場合のCODの実測値と放流水質予測部105によって予測されたCODの予測値とを示すグラフである。このグラフは、非定常時データが正しく予測できていることを示している。
【0131】
(効果)
以上説明したように、本実施形態に係る放流水質予測装置100によれば、前処理部103aがデジタルフィルタを用いて学習データに含まれる異常データやノイズを除去するようにしたので、質の高い学習データを生成することができ、予測精度の向上を図ることが可能となった。
【0132】
また、放流水質データの予測にRNNを用い、BPTT法、LSTM法、GRU法などの学習手法を適用するようにしたので、1つの予測モデルで放流水質データを予測することが可能となった。
【0133】
また、放流水質データの予測にRNNを用いるようにしたので、下水処理場の運転が変更された場合でも、ハイパーパラメータを変更して予測モデルを作成するだけで対応できるため、予測精度の低下を防止することが可能となった。
【0134】
また、前処理部103aがデジタルフィルタのパラメータを最適化するようにしたので、さらに質の高い学習データを生成することができ、予測精度の向上を図ることが可能となった。
【0135】
また、モデル生成部103cが、様々なハイパーパラメータを用いて予測モデルを作成し、その中で評価誤差が少ない予測モデルを用いて放流水質データの予測を行なうようにしたので、放流水質データを正確に予測することが可能となった。
【0136】
〔ソフトウェアによる実現例〕
放流水質予測装置100の制御ブロック(特にセンサ情報取得部101、予測モデル生成部103、放流水質予測部105および出力部106)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0137】
後者の場合、放流水質予測装置100は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0138】
〔コンピュータの構成例〕
図23は、本発明の一態様に係る放流水質予測装置(例:放流水質予測装置100)を実現するためのコンピュータの構成例を示す図である。このコンピュータは、コンピュータ本体300と、ディスプレイ401と、キーボード402と、マウス403とを含む。使用者は、ディスプレイ401に表示された画面を見ながらキーボード402およびマウス403を操作することにより、コンピュータ本体300を放流水質予測装置として機能させるためのプログラム(以下、放流水質予測プログラムと呼ぶ。)を起動する。
【0139】
コンピュータ本体300は、CPU301と、GPGPU(General-Purpose computing on Graphics Processing Units)302と、ブートプログラム等を記憶するROM303と、実行するプログラム、作業データ等を記憶するRAM304と、ハードディスク305と、DVD(Digital Versatile Disc)ドライブ306と、ネットワークI/F(Interface)307と、メモリポート308と、RTC(Real Time Clock)309とを含み、それぞれ内部バス310に接続されている。
【0140】
GPGPU302は、GPUの演算資源を画像処理以外の目的に応用したものであり、高い処理性能を有しているため、ニューラルネットワーク等の行列演算、最適化問題、暗号解読、音声処理などの幅広い分野で用いられている。
【0141】
放流水質予測プログラムは、DVD406、リムーバブルメモリ405などの記録媒体に記録されており、CPU301の制御により、DVDドライブ306またはメモリポート308を介してハードディスク305にインストールされる。また、放流水質予測プログラムは、公衆回線404およびネットワークI/F307を介してダウンロードされ、ハードディスク305にインストールされても良い。
【0142】
CPU301が、RAM304に記憶される放流水質プログラムを実行し、ネットワークI/F307および公衆回線404を介して下水処理場に設置された複数のセンサからのセンサ情報データおよび放流水質データを受信し、それらのデータにRTC309から取得した時刻情報データを付与して学習データを生成することにより、センサ情報取得部101を実現する。
【0143】
また、CPU301が、RAM304に記憶される放流水質プログラムを実行し、センサ情報取得部101によって生成された学習データをハードディスク305などに逐次記憶することにより、学習データデータベース102および直近データデータベース104を実現する。
【0144】
また、CPU301が、RAM304に記憶される放流水質プログラムを実行し、GPGPU302と共にRNNの学習などを行ない、予測モデル204を生成することにより、予測モデル生成部103を実現する。
【0145】
同様に、CPU301が、RAM304に記憶される放流水質予測プログラムを実行し、GPGPU302と共に直近データ205を予測モデル204に適用した演算を行なって予測データを生成することにより、放流水質予測部105を実現する。
【0146】
また、CPU301が、RAM304に記憶される放流水質予測プログラムを実行し、放流水質予測部105によって生成された各種情報を、ネットワークI/F307および公衆回線404を介して、下水処理場の図示しない制御装置、表示装置などに送信することにより、出力部106を実現する。
【0147】
〔まとめ〕
本発明の態様1に係る放流水質予測装置は、下水処理場に設置された複数のセンサから、検出値の時系列データを取得するセンサ情報取得部と、センサ情報取得部によって取得された時系列データを学習データとして記憶する学習データデータベースと、センサ情報取得部によって取得された時系列データを直近データとして記憶する直近データデータベースと、学習データの中の第1の所定時間分の学習データを学習データセットとし、学習データセットにフィルタ処理を行う前処理部と、第2の所定時間後の、放流水質データの値を予測するための予測モデルを、前処理部によってフィルタ処理された後の学習データセットから生成するモデル生成部と、直近データに、予測モデルを適用することにより、放流水質データの値を予測する放流水質予測部とを備える。
【0148】
本発明の態様2に係る放流水質予測装置は、上記態様1において、モデル生成部は、学習データセットをトレーニングデータとし、第2の所定時間後の、放流水質データの実測値を検証データとし、トレーニングデータおよび検証データを用いてリカレントニューラルネットワークに学習させることにより予測モデルを生成する構成を備えていてもよい。
【0149】
本発明の態様3に係る放流水質予測装置は、上記態様2において、モデル生成部は、リカレントニューラルネットワークのハイパーパラメータを変更しながら予測モデルを生成し、放流水質予測装置はさらに、学習データセットの少なくとも一部の学習データを評価データとし、評価データを予測モデルに入力することによって得られる予測値と、検証データとの誤差が所定値以下の予測モデルを、放流水質予測部に設定するモデル評価部を含む構成を備えていてもよい。
【0150】
本発明の態様4に係る放流水質予測装置は、上記態様3において、前処理部は、フィルタ処理で使用する複数のパラメータの組を生成し、複数のパラメータの組を用いて学習データセットにフィルタ処理を行って複数の学習データセットを作成し、モデル生成部は、複数の学習データセットを用いて複数の予測モデルを生成し、モデル評価部は、評価データを複数の予測モデルに入力することによって得られる予測値と、検証データとの最大誤差を、複数の予測モデル毎に算出し、前処理部は、複数の予測モデルごとに算出された最大誤差によって複数のパラメータを序列化し、最適化を行うことによりフィルタ処理の最適なパラメータの組を抽出する構成を備えていてもよい。
【0151】
本発明の態様5に係る放流水質予測方法は、下水処理場に設置された複数のセンサから、検出値の時系列データを取得するステップと、取得された時系列データを学習データとして記憶するステップと、取得された時系列データを直近データとして記憶するステップと、学習データの中の第1の所定時間分の学習データを学習データセットとし、学習データセットにフィルタ処理を行うステップと、第2の所定時間後の、放流水質データの値を予測するための予測モデルを、フィルタ処理された後の学習データセットから生成するステップと、直近データに、予測モデルを適用することにより、放流水質データの値を予測するステップとを含む。
【0152】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0153】
100 放流水質予測装置
101 センサ情報取得部
102 学習データデータベース
103 予測モデル生成部
103a 前処理部
103b 非定常時データ変更部
103c モデル生成部
103d モデル評価部
103e モデル変更部
104 直近データデータベース
105 放流水質予測部
201 学習データ
204 予測モデル
205 直近データ