【文献】
中野直人ほか,時系列データに対する確率微分方程式モデルの統計的係数決定公式と軌道の予測可能性について,数理解析研究所講究録,日本,2014年09月,第1919巻,39−60ページ,https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/223373/1/1919-05.pdf
(58)【調査した分野】(Int.Cl.,DB名)
前記係数決定部で決定された係数と各項との積の線形和を、前記入力時系列データの支配方程式として出力する支配方程式出力部をさらに備える請求項1に記載のデータ分析装置。
前記項は、時間または空間に対する微分項の他、時間、空間または物理量のべき乗項、時間、空間または物理量の関数項、あるいは前記項同士の積をとった積項を含む請求項1に記載のデータ分析装置。
前記支配方程式を離散化して解いた解と、前記入力時系列データとの比較結果に基づいて、前記支配方程式を評価する支配方程式評価部をさらに備える請求項1に記載のデータ分析装置。
前記支配方程式の項は、時間または空間に対する微分項の他、時間、空間または物理量のべき乗項、時間、空間または物理量の関数項、あるいは前記項同士の積をとった積項を含む請求項9に記載のデータ分析方法。
【発明を実施するための形態】
【0009】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、第1実施形態に係るデータ分析装置の構成を示すブロック図である。
図1において、データ分析装置には、端末3Aが設けられている。端末3Aは、データ記憶媒体1、外部出力部2および表示部4に接続されている。端末3Aには、時系列データ取得部11、項別時系列データ作成部12、線形和生成部13、係数決定部14および支配方程式出力部15が設けられている。
【0011】
時系列データ取得部11は、時系列データ21を取得する。この時系列データ21は、時刻tごとの関数f(t)で表される波形20をデジタル化したデジタルデータで表すことができる。時系列データ取得部11は、データ記憶媒体1から過去の計測データを時系列データ21として取得するようにしてもよいし、外部出力部2からリアルタイムの計測データを時系列データ21として取得するようにしてもよい。
【0012】
項別時系列データ作成部12は、時系列データ21に基づいて、時系列データ21の支配方程式の項として想定される微分項を含む項別の時系列データ22を作成する。時系列データ22の項は、時間または空間に対する微分項の他、時間、空間または物理量のべき乗項、時間、空間または物理量の関数項、あるいは項同士の積をとった積項を含んでいてもよい。線形和生成部13は、時系列データ22の時刻tごとに各項と係数A
1〜A
m(mは正の整数)との積の線形和の正値23を生成する。なお、線形和の正値23は、線形和の自乗をとった値でもよいし、線形和の絶対値をとった値でもよい。係数決定部14は、時系列データ21が対象とする時間区間または空間区間内の線形和の正値23の合計値が設定値以下になるかまたは0に近づくように各項の係数A
1〜A
mを決定する。支配方程式出力部15は、係数決定部14で決定された係数A
1〜A
mと各項との積の線形和を、時系列データ21の支配方程式として出力する。
【0013】
時系列データ取得部11で取得された時系列データ21は、項別時系列データ作成部12に送られる。項別時系列データ作成部12は、時系列データから時間に対する一次微分、2次微分、時間のべき乗、物理量のべき乗、或いは各項の積の時系列データ22を表形式で作成する。
【0014】
例えば、項別時系列データ作成部12は、以下のような項を予め準備することができる。
(A1)時系列の一次関数、二次関数、三次関数および四次関数
(A2)関数fのべき乗式f, f
2 ,f
3, ・・・, f
10
(A3)点xのべき乗式x, x
2 ,x
3, ・・・, x
10
(A4)点xの関数:sin(Cx), cos(Cx), e
Cx, ・・・
(A5)上記(A1)〜(A4)の各項の積をとった積項
なお、(A4)中のC(定数)は、遺伝的アルゴリズムで振り、最適値を出すことができる。この時、時系列データ21の支配方程式の項として想定される全ての項を予め準備することができる。これらの項は、ライブラリとして予め保持することができる。
【0015】
そして、各時刻に対して以下の時系列データ21が与えられたものとする。
時刻 :(t
0, t
1, t
2, t
3, ・・・, t
N)
時系列データ:(f
0, f
1, f
2, f
3, ・・・, f
N)
ただし、Nは2以上の整数である。ここで、時間間隔をΔとすると、i番目の時刻における一次微分は(数式1)、二次微分は(数式2)で与えることができる。
【0018】
三次以上の微分についても同様に、時間間隔Δとデータfiを用いて表すことができる。
ここで、時系列データ(f
0, f
1, f
2, f
3, ・・・, f
N)が一次微分、二次微分、・・に依存する微分方程式を満足するものとする。この時、線形和生成部13は、一次微分を基準にすると、時系列データ22の各項と係数A
1〜A
mとの積の線形和は、以下の(数式3)で与えることができる。
【0020】
次に、線形和生成部13は、例えば、(数式3)で与えられる線形和を自乗することにより線形和を正値に変換し、誤差e
iを算出する。誤差e
iは、以下の(数式4)で与えることができる。
【0022】
係数決定部14は、時間(t
0, t
1, t
2, t
3, ・・・, t
N)を通じて(数式4)で与えられる誤差e
iの合計値を算出することにより、誤差Eを算出する。誤差Eは、以下の(数式5)で与えることができる。
【0024】
そして、係数決定部14は、(数式5)で与えられる誤差Eを、設定値以下になるかまたは0に近づくように誤差Eの各項の係数A
1〜A
mを決定する。支配方程式出力部15は、これらの係数A
1〜A
mと各項との積の線形和を、時系列データ21の支配方程式として出力する。
【0025】
これにより、時系列データ21から、その支配方程式を求めることが可能となり、時系列データ21が表す物理現象を解釈することが可能となる。また、異なる複数の時系列データ21が得られた時に、それらの時系列データ21に同一の物理現象が反映されているのか、異なる物理現象が反映されているのかを解釈することができ、異なる時系列データ21間の関連性を容易に判断することが可能となる。
【0026】
図2は、第2実施形態に係るデータ分析装置の構成を示すブロック図である。
図2の構成では、
図1の端末3Aの代わりに端末3Bが設けられている。端末3Bには、
図1の係数決定部14としてガウスザイデル法適用部16が設けられている。ガウスザイデル法適用部16は、ガウスザイデル法に基づいて連立方程式を数値的に解くことにより、(数式5)の誤差Eの各項の係数A
1〜A
mを決定する。(数式5)の誤差Eを最小にするには、以下の(数式6)を満足する係数A
1〜A
mを決定すればよい。
【0028】
例えば、係数A
1の場合、(数式6)から以下の(数式7)および(数式8)を求めることができる。
【0031】
係数A
2以下についても同様に求めると、係数A
1〜A
mについての一連の連立一次方程式を得ることができる。この連立一次方程式を解くことにより、(数式5)の誤差Eを最小にする係数A
1〜A
mを決定することができ、時系列データ21の背後にある支配方程式を求めることができる。
【0032】
一般に、n次連立方程式は、以下の(数式9)で与えることができる。
【0034】
ただし、a
ijはn×n行列である。求めるべき係数はx
jである。(数式9)を数値的に解くには、ガウスザイデル法を用いることができる。ガウスザイデル法は収束計算であり、一般に、以下の(数式10)の漸化式で与えることができる。
【0036】
簡単な事例として3次元連立方程式の場合は、以下の(数式11)で与えることができる。
【0038】
この場合、各x
1、x
2、x
3は、以下の(数式12)、(数式13)および(数式14)の漸化式で与えることができる。
【0042】
収束計算では、許容誤差をx(i+1)−x(i)<10
−6などと設定し、その許容誤差を満足するまで(数式12)、(数式13)および(数式14)の計算を繰り返すことができる。
【0043】
ここで、時系列データ21の支配方程式の係数A
1〜A
mの算出にガウスザイデル法を用いることにより、支配方程式を精度よく求めることが可能となる。
【0044】
なお、上述した第2実施形態では、係数A
1〜A
mの算出にガウスザイデル法を用いる方法について説明したが、ガウスザイデル法以外の連立方程式を数値的に解く方法で係数A
1〜A
mを算出するようにしてもよい。
【0045】
図3は、第3実施形態に係るデータ分析装置の構成を示すブロック図である。
図3の構成では、
図1の端末3Aの代わりに端末3Cが設けられている。端末3Cには、
図1の係数決定部14として遺伝的アルゴリズム適用部17が設けられている。遺伝的アルゴリズム適用部17は、係数A
1〜A
mの候補を遺伝子で表現した個体を複数用意し、適応度の高い個体を優先的に選択して組み換えおよび突然変異などの操作を繰り返しながら係数A
1〜A
mを探索する。
【0046】
遺伝的アルゴリズムは、概ね以下の手順で行われる。
・STEP-A1:適切な目的関数を設定する。本実施形態では、(数式5)の誤差Eの項の数となる。
・STEP-A2:「現世代」および「次世代」と呼ばれる二つの集合を準備する。各集合にはM(Mは2以上の整数)個の個体が準備される。
・STEP-A3:「現世代」集合に、初期値として乱数にてM個の個体を与える。
・STEP-A4:「現世代」の各個体の目的関数に対する適応度を評価する。
・STEP-A5:以下の(B1)〜(B3)の操作をある確率で行い、その結果を「次世代」として保存する。
(B1)複製:現状の個体の遺伝子をそのまま用いる。
(B2)交叉:二つの個体を選択し、遺伝子の組み換えを行う。
(B3)突然変異:選択した一つの個体の遺伝子に変化を与える。
・STEP-A6:「次世代」集合の個体数がM個生成されるまで、(B1)〜(B3)の操作を繰り返す。個体数がM個になった時点で「次世代」を新しい「現世代」として入れ替える。
・STEP-A7:上記の「現世代」→「次世代」→「現世代」→・・・の操作を最大世帯数設定値回数まで繰り返す。最終的な「現世代」の中で、目的関数に対する適応度が最も高いものを解とする。
【0047】
第1実施形態では、項の係数A
1〜A
mを相対的に比較し、係数A
1〜A
mの小さいものを消去していた。一方、この遺伝的アルゴリズムを用いると、(数式5)で与えられる誤差Eを最小とし、支配方程式中の項の個数を最小とするように目的関数を設定することにより、誤差Eを最小化するととともに、相対的に係数A
1〜A
mの小さい項を自動的に削除することができる。これにより、時系列データ21から求められる支配方程式に含まれる項の数を最小化でき、よりシンプルな解を求めることができる。
【0048】
なお、項の係数A
1〜A
mのうち、その値が他の係数に比べて著しく小さい場合(例えば、1/100以下の場合)、遺伝的アルゴリズム以外の最適化商法により、その係数の係る項を省略するようにしてもよい。
【0049】
第1実施形態から第3実施形態を組み合わせた場合、以下のアルゴリズムにより時系列データ21の背後にある支配方程式を求めることができる。
(C1)時系列データ:時間:(t
0, t
1, t
2, t
3, ・・・, t
N)、データ:(f
0, f
1, f
2, f
3, ・・・, f
N)を与える。
(C2)時系列データから一次微分、二次微分、三次微分、・・・、f、f
2など、時系列データの支配方程式に想定される項を作成する。
(C3)遺伝的アルゴリズムにより、(C2)から想定される項の組み合わせを作成する。
(C4)各項に係数A
1〜A
mを割り振り、ガウスザイデル法で係数A
1〜A
mを求める。
(C5)遺伝的アルゴリズムでトータル誤差が最小になる項の組合せを見つける。
(C6)求まった遺伝的アルゴリズムの結果を元に、微分方程式の数値計算をし、確認をする。
なお、遺伝的アルゴリズムは、多目的とし、目的関数を「誤差最小」および「項数最小」とする。
【0050】
図4は、第4実施形態に係るデータ分析装置の構成を示すブロック図である。
図4の構成では、
図1の端末3Aの代わりに端末3Dが設けられている。端末3Dには、支配方程式離散化部18および支配方程式評価部19が
図1の構成に追加されている。支配方程式離散化部18は、支配方程式出力部15から出力された支配方程式を離散化する。支配方程式評価部19は、支配方程式を離散化して解いた解と、時系列データ21との比較結果に基づいて支配方程式を評価する。
以下、支配方程式を数値的に離散化する方法を具体的に説明する。一般的には、支配方程式のモデル式は、以下の(数式15)で与えることができる。ただし、C
1、C
2、・・・は定数である。
【0052】
(数式15)は、以下の(数式16)のまとめることができる。
【0054】
本アルゴリズムでは、誤差eの合計を最小にするように各項の定数を決定する。この時、決定した項および定数の妥当性を検証するには、逆に微分方程式を適切な初期条件の元に解いて、時系列データ21と比較検証する必要がある。
以下、その解き方について示す。
微分の点iにおける一次微分の離散式を、以下の(数式17)で定義する。微分の点iにおける二次微分の離散式を、以下の(数式18)で定義する。
【0057】
三次以上の微分の離散式についても同様に求める。これを踏まえて、具体的なアルゴリズムを以下に示す。
・STEP-B1:決定した項の内の微分の最大次数を求める。
・STEP-B2:最大次数以下の項で(数式16)の誤差eを表す。
例えば、微分方程式が一次微分のみの場合は、(数式16)の誤差eは以下の(数式19)となる。
【0059】
(数式17)の一次微分の離散式を(数式19)に代入することで、以下の(数式20)が得られる。
【0061】
(数式20)を変形することで、以下の(数式21)が得られる。
【0063】
この時、初期条件が1つ与えられれば、(数式21)を解くことができる。支配方程式評価部19は、(数式21)の解を時系列データ21と比較することにより、支配方程式を評価することができる。より次数の高い微分式の場合も同様の手順で解くことができる。
【0064】
図5は、第5実施形態に係る電力潮流解析装置の構成を示すブロック図である。
図5の構成では、
図4の端末3Dの代わりに端末3Eが設けられている。端末3Eには、
図1の項別時系列データ作成部12として潮流解析用項別時系列データ作成部32が設けられている。潮流解析用項別時系列データ作成部32は、時系列データ21に基づいて、電力系統の潮流方程式に係る項別の時系列データ22を作成する。
【0065】
時系列データ取得部11は、外部出力部2を介し、電力系統の模式
図13を取得することができる。この時、時系列データ取得部11は、電力系統の模式
図13から、ノードiから系統に流入する電流値およびノードiの電圧値を取得することができる。
【0066】
電力系統の潮流方程式において、一般にノードiにおける電力方程式は、以下の(数式22)で与えることができる。また、ノードiから系統に流入する電流は、以下の(数式23)で与えることができる。ただし、ドットは複素数、バーは複素共役を表す。
【0069】
ただし、P
iは有効電力(ノードiから系統に流入する向きを正)、Q
iは無効電力(ノードiから系統に流入する向きを正)、V
mドットは、ノードiに接続される線路mの電圧、Y
imドットは、ノードiに接続される線路mのアドミタンスである。(数式22)および(数式23)から、以下の(数式24)を得ることができる。
【0071】
ここで、時系列データ取得部11は、各時刻tにおけるノードiから系統に流入する電流値およびノードiの電圧値を時系列データ21として取得する。潮流解析用項別時系列データ作成部32は、各時刻tにおけるノードiから系統に流入する電流値およびノードiの電圧値を項別の時系列データ22とする。
【0072】
次に、線形和生成部13は、(数式24)を正値に変換し、ノードiから系統に流入する電流値およびノードiの電圧値を(数式24)に代入することで誤差e
iを求める。次に、係数決定部14は、線形和生成部13で求めた誤差e
iの合計値が設定値以下になるかまたは0に近づくように各線路mのアドミタンスを決定する。
【0073】
この第5実施形態では、第1実施形態から第4実施形態と異なり、電力系統の潮流方程式が予め与えられている。そして、支配方程式出力部15は、係数決定部14で算出された係数を各線路mのアドミッタンスの値として出力する。通常、電力の潮流計算では、アドミタンスは系統から既知の情報として与えられるが、その詳細な値を入手するのが困難であることも多い。この第5実施形態によれば、各ノードiでの電力潮流が与えられれば、電力系統の模式
図31の各線路のアドミタンスを自動的に決定することができ、系統解析に必須な系統における各線路のインピーダンスマップを自動作成することができる。
【0074】
図6は、第6実施形態に係るデータ分析装置に適用可能なハードウェア構成を示すブロック図である。
図6において、データ分析装置100には、プロセッサ101、通信制御デバイス102、通信インターフェース103、主記憶デバイス104および外部記憶デバイス105が設けられている。プロセッサ101、通信制御デバイス102、通信インターフェース103、主記憶デバイス104および外部記憶デバイス105は、内部バス106を介して相互に接続されている。主記憶デバイス104および外部記憶デバイス105は、プロセッサ101からアクセス可能である。
【0075】
また、データ分析装置100の外部には、センサ120が設けられている。センサ120は、入出力インターフェース107を介して内部バス106に接続されている。
【0076】
プロセッサ101は、データ分析装置100全体の動作制御を司るハードウェアである。主記憶デバイス104は、例えば、SRAMまたはDRAMなどの半導体メモリから構成することができる。主記憶デバイス104には、プロセッサ101が実行中のプログラムを格納したり、プロセッサ101がプログラムを実行するためのワークエリアを設けたりすることができる。
【0077】
外部記憶デバイス105は、大容量の記憶容量を有する記憶デバイスであり、例えば、ハードディスク装置やSSD(Solid State Drive)である。外部記憶デバイス105は、各種プログラムの実行ファイルやプログラムの実行に用いられるデータを保持することができる。外部記憶デバイス105には、データ分析プログラム105Aを格納することができる。データ分析プログラム105Aは、データ分析装置100にインストール可能なソフトウェアであってもよいし、データ分析装置100にファームウェアとして組み込まれていてもよい。
【0078】
通信制御デバイス102は、外部との通信を制御する機能を有するハードウェアである。通信制御デバイス102は、通信インターフェース103を介してネットワーク109に接続される。ネットワーク109は、インターネットなどのWAN(Wide Area Network)であってもよいし、WiFiなどのLAN(Local Area Network)であってもよいし、WANとLANが混在していてもよい。
【0079】
入出力インターフェース107は、センサ120から入力されるセンサデータをプロセッサ101が処理可能なデータ形式に変換する。入出力インターフェース107には、ADコンバータを設けるようにしてもよい。
【0080】
データ分析装置100は、ネットワーク109またはセンサ120から時系列データ21を取得し、外部記憶デバイス105に格納することができる。プロセッサ101がデータ分析プログラム105Aを主記憶デバイス104に読み出し、データ分析プログラム105Aを実行することにより、時系列データ21の背後にある支配方程式を求めることができる。
【0081】
この時、データ分析プログラム105Aは、
図1の項別時系列データ作成部12、線形和生成部13、係数決定部14および支配方程式出力部15の機能を実現することができる。
なお、データ分析プログラム105Aの実行は、複数のプロセッサやコンピュータに分担させてもよい。あるいは、プロセッサ101は、ネットワーク109を介してクラウドコンピュータなどにデータ分析プログラム105Aの全部または一部の実行を指示し、その実行結果を受け取るようにしてもよい。
【0082】
図7は、比較例に係るデータ分析装置の構成を示すブロック図である。
図7の構成では、
図1の端末3Aの代わりに端末3Fが設けられている。端末3Fには、時系列データ取得部11、べき乗関数和設定部41、係数決定部42および係数出力部43が設けられている。べき乗関数和設定部41は、時間tのべき乗関数和を設定する。このべき乗関数和は、べき関数による近似関数で時系列データ21を表現する。このべき乗関数和は、係数をA
i、C
i、・・・とすると、以下の(数式25)で与えることができる。
【0084】
係数決定部42は、べき乗線形関数和と時系列データ21の差を最小にするように係数A
i、C
i、・・・を求める。この時、係数決定部42は、遺伝的アルゴリズムを用いることができる。係数出力部43は、係数決定部42で求められた係数A
i、C
i、・・・を出力する。このべき乗線形関数和は、べき関数による近似関数で時系列データ21を表現するものであり、時系列データ21の背後にある支配方程式ではない。