26
モデルを いた センター

モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

����モデルを用いた時系列解析

群馬産業技術センター宋 東烈

����������

���� ����������

���� ����������

Page 2: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

目 次

� はじめに �

� 線形離散時間システム �

��� 線形システム � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��� 連続時間信号と離散時間信号 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��� 連続時間システムと離散時間システム � � � � � � � � � � � � � � � � � � � � � � � � � � �

��� 線形離散時間システム � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� ����モデル �

��� ��モデル � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��� ��モデル � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��� ����モデル � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� ����モデルと状態空間表現、伝達関数の関係 �

��� 連続信号の離散化 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��� 物理モデルに基づいた ����モデルの導出 � � � � � � � � � � � � � � � � � � � � � � �

��� 物理モデルと状態空間表現 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��� 状態空間表現と伝達関数 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

����モデルを用いた時系列解析 ��

�� ����モデルのパラメータ推定 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

���� ��パラメータ推定 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

���� 自己相関関数の計算 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

���� ��パラメータ推定 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

�� 逐次推定法(オンライン推定法) � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

�� 最尤推定法 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

�� 残差の統計量 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

Page 3: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

� はじめに

システムや物理現象の特性を分析するための手法として時系列解析がある。時系列とは、時刻の

変化とともに値が変化するデータの集まりであり、その時系列を統計的に解析する手法が時系列解

析である。時系列解析が分散分析や相関分析などの統計解析と異なるのは、時系列解析には時間の

概念があるという点である。時系列解析で解析の対象となる時系列は、現在のデータの値が過去に

おけるデータの値に影響されるという性質を持っており、データの時間的順序が重要な意味を持っ

ている。また通常、システムや物理現象から観測される時系列データはノイズなどの不確実な要素

を含んでいるため、時系列解析には確率過程の考えが導入される。現在、時系列解析は、工学・経

済学・生物学などにおける様々な現象の解析に用いられている。

時系列解析には大きく分けて二つの手法がある。そのひとつは、既知の物理法則や先見情報など

を用いて解析対象となるシステムや物理現象を数式でモデル化し、その数式に含まれる母数(パラ

メータ)を推定するパラメトリックな解析手法である。もうひとつの手法は、パラメータを推定す

るのではなく時系列のスペクトルを推定するノンパラメトリックな解析手法である。そして、パラ

メータを推定する手法であるパラメトリックな解析手法のひとつが ����モデルによる時系列解

析である。

本稿ではまず、解析対象となる線形離散時間システムや ����モデルの概要について述べ、そ

の次に本稿の本論である ����モデルを用いた時系列解析について述べる。

Page 4: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

� 線形離散時間システム

��� 線形システム

あるシステムに入力 ������ �����をそれぞれ別々に与えたとき、それぞれの入力に対してこのシ

ステムから出力 ������ �����が得られたとする。このシステムに �����と �����を合成した入力であ

る ������� � �������(��� ��は任意の定数)を与えたとき、出力 ������� � �������が得られるなら

ば、このシステムは線形性を有するといい、このシステムを線形システムとよぶ。またこの原理を

重ね合わせの原理(または重畳の理)とよぶ。

現実のシステムや物理現象は非線形要素を含むため、通常、それらの運動や状態は非線形微分方

程式による運動方程式で表される。しかし、非線形微分方程式を解析的に解くのは難しいため、シ

ステムや物理現象の平衡状態ないしは初期状態の近傍を線形微分方程式で近似し、それを解析対象

とする。非線形微分方程式に比べて線形微分方程式は解くのが容易であるので、解析対象が非線形

要素を含む場合にはこのように線形近似を行い、解析対象となるシステムや物理現象を線形システ

ムとして扱うのが普通である。

��� 連続時間信号と離散時間信号

信号の発生時刻が連続時間である信号を連続時間信号とよび、信号の発生時刻が離散時間である

信号を離散時間信号とよぶ。ここで連続時間とは、任意の実数 � � が与えられたとき、���� ��� � �

を満たすような、連続時間に属する時刻 ��� ��が必ず存在する時間をいう。これに対して離散時間

とは、離散時間に属するいかなる時刻 ��� �� に対しても ��� � ��� � � となる実数 � � が存在する

時間をいう。本稿では以後、連続時間を �で表し、離散時間を で表すことにする。

連続時間信号では、任意の時刻 ��� �� の間に無数の時刻が存在し、それぞれの時刻に対して無数

の信号が存在する。一方、コンピュータなどのディジタル信号処理システムは有限の記憶領域しか

持たないため、ディジタル信号処理システムで連続時間信号をそのまま扱うことはできない。そこ

で、ディジタル信号処理システムでは離散時間信号が扱われる。通常、自然界で発生する信号は連

続時間信号であるため、これをディジタル信号処理システムで扱うためには、連続時間信号を一定

間隔ごとにサンプリングして、離散時間信号の系列にしてから処理を行う。

なお、アナログ信号・ディジタル信号とは、信号の大きさが連続であるか離散的であるかによる

分類であって、連続時間信号・離散時間信号とは別の概念である。

��� 連続時間システムと離散時間システム

連続時間信号を入出力とするシステムを連続時間システムといい、離散時間信号を入出力とする

システムを離散時間システムという。ディジタル信号処理システムでは離散時間信号を扱うため、

離散時間システムが制御や同定の対象となる。

��� 線形離散時間システム

線形システムであり離散時間システムでもあるシステムは、線形離散時間システムとよばれる。

以後、特にことわらない限り、システムといえば線形離散時間システムのことを指すものとする。

Page 5: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

� ����モデル

��� ����~�

��� ��モデル

ある時点の出力が、過去の出力の線形結合として得られるシステムがあるとき、このシステムを

表すモデルを ��モデル ��������������� �!�":自己回帰モデル�とよぶ。��モデルは以下の式

で表される。

��� #

�����

������ � � ��� ���

ここで、���は離散時間の時刻 におけるシステムの出力を表す。また ���は任意の定数で、��

モデルの性質を決定するパラメータであることから��パラメータとよばれる。式 ���の場合、過

去 �個の出力が使われているため、これは �次の ��モデル �または �����モデル�とよばれる。

さらに、���は、システムの出力が過去の出力の線形結合で表現しきれない要素を表しており、

予測誤差とよばれる。これは、実際にはシステムの出力が過去�個 �� � ��の出力の線形結合で

あるのに対し、これをモデル化するときに過去 �個の線形結合としたために生じる誤差である。

���に対しては別の見方をすることもできる。すなわち、���をシステムへの入力と考え、時刻

におけるシステムの出力が、過去 �個の出力と時刻 の入力 ���の線形結合として得られると

みなすこともできる。

なお、��モデルで扱う信号は確定的でも確率的でもよいが、特に、��モデルによって出力さ

れる信号が定常確率過程である場合、この出力は ��過程 �自己回帰過程�とよばれる。

��� ��モデル

ある時点の出力が、現在および過去の入力に対するインパルス応答の線形結合として得られるシ

ステムがあるとき、このシステムを表すモデルを��モデル � ���$� ������� �!�":移動平均モ

デル�とよぶ。��モデルは以下の式で表される。

��� #

�����

����� � ���

ここで、���は離散時間の時刻 におけるシステムの入力を表す。また ��は任意の定数で、��

モデルの性質を決定するパラメータであることから��パラメータとよばれる。 ��は��パラ

メータであると同時にシステムのインパルス応答でもある。

なお、��モデルでは時刻 の出力を得るのに時刻 の出力が使えないので ≧ �となっている

が、��モデルでは時刻 の出力を得るのに時刻 の入力が使えるため、≧ となっている。

システムのインパルス応答が有限時間で になる場合、すなわち ��� # �� � ��となる場合、

式 ���は次のように書ける。

��� #

�����

����� � ���

Page 6: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

この場合、時刻 の入力と過去 �個の入力が使われているので、これを �次の��モデル �または

�����モデル�とよぶ。

なお、��モデルで扱う信号は確定的でも確率的でもよいが、特に、入力 �が白色雑音であると

き、��モデルの出力は��過程 �移動平均過程�とよばれる。

��� ����モデル

ある時点の出力が、過去の出力の線形結合と、現在および過去の入力に対するインパルス応答

の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを ����モデル

��������������� ���$� ������� �!�":自己回帰移動平均モデル�とよぶ。����モデルは以下

の式で表される。

��� #

�����

������ � �

�����

����� � ���

�� モデルの場合と同様、システムのインパルス応答が有限時間で になる場合、すなわち

��� # �� � ��となる場合、式 ���は次のように書ける。

��� #

�����

������ � �

�����

����� � ��

式 ��で用いられている定数 ���� ��をそれぞれ ��パラメータ、��パラメータとよび、こ

れらをあわせて ����パラメータとよぶ。式 ��では、����~����までの ��パラメータと � �

~ ��� までの �� パラメータが用いられているので、これを ��� �� 次の ���� モデル �または

������� ��モデル�とよぶ。

なお、����モデルで扱う信号は確定的でも確率的でもよいが、特に、入力 �が白色雑音であ

るとき、����モデルの出力は ����過程 �自己回帰移動平均過程�とよばれる。

Page 7: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

� ����モデルと状態空間表現、伝達関数の関係

��� 連続信号の離散化

��� ����~��

����モデルの式を導出する方法について述べる前に、連続信号の離散化について説明する。

システムの振る舞いを表す微分方程式が連続時間信号を扱うのに対し、����モデルの式では

離散時間信号を扱っているので、導出の途中で連続時間信号から離散時間信号への変換が必要にな

る。連続時間信号を離散時間信号に変換する方法には、インパルス不変法や後退差分法、双一次変

換法などがある。

インパルス不変法とは、物理モデルのインパルス応答 ����をサンプリング周期 � でサンプリン

グすることにより離散時間のインパルス応答 ���を得る方法である。すなわち、次式

��� # ��� � ��

によって離散時間のインパルス応答 ���を得る方法がインパルス不変法である。なお、物理モデ

ルの伝達関数が、次式

���� #

�����

��

�� �����

のように部分分数展開の形で与えられる場合、インパルス応答を求めなくても、離散時間の伝達関

数����を次式によって直接得ることができる。

���� #

�����

��

�� ���� ������

後退差分法とは、物理モデルを表す微分方程式に現れる微分の項を、一次後退差分で置き換える

ことで離散時間信号を得る方法である。後退差分法では、物理モデルの伝達関数 ����が与えられ

たとき、次式

� #�� ���

����

によって離散時間の伝達関数����を得る。

また、双一次変換とは、物理モデルの伝達関数 ����が与えられたとき、次式

� #�

�� �� ���

� � ����� �

によって離散時間の伝達関数����を得る方法である。

上のどの方法を用いても離散時間信号が得られるが、いずれの方法もそれぞれ欠点を持っている。

インパルス不変法は、連続時間信号のインパルス応答 ����の周波数帯域幅が、サンプリング角周波

Page 8: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

数 �� #��

�の半分以下に制限されている �すなわち、サンプリング周期がサンプリング定理を満足

する�場合にしか用いることができない。後退差分法では、もとの連続時間信号の周波数が高くな

るにつれて差分近似の誤差が大きくなり、高周波数領域において離散化の精度が急激に低下すると

いう問題がある。また、双一次変換法は、もとの連続時間信号の周波数が高い場合も用いることが

できるが、もとの連続時間信号の角周波数と変換によって得られた離散時間信号の角周波数の関係

が非線形であるため、変換によって周波数歪みが発生するという問題がある。

ここで、システムの出力信号を測定する際、サンプリング定理を満たすように測定器のサンプリ

ング周波数を任意に設定できるものと仮定し、以後、インパルス不変法を用いて連続信号を離散化

する場合について説明する。なお、他の方法で離散化を行う場合でも、離散化の部分が異なるだけ

で、����モデル導出におけるその他の部分については同じである。

��� 物理モデルに基づいた����モデルの導出

��� ���~�� ��� ����~��

物理モデルを表す微分方程式から����モデルの式を導出する方法について述べる。ここでは、

質量・ばね・ダンパシステムの場合を例にとり、このシステムを表す微分方程式から ����モデ

ルの式を導出する方法を説明する。

質量�の質点、ばね係数 のばね、および減衰係数 �のダンパからなる質量・ばね・ダンパシ

ステムがあり、このシステムに外部からの力 � が作用するものとする。このとき、質点の平衡状態

からの変位を �とすると、このシステムの運動方程式は次の微分方程式で表される。

����

���� �

��

��� � # � ����

変位 �および外力 � が時刻 �の関数であることを明示すると、式 ����は次のようになる。

�������

���� �

�����

��� � # ���� ����

次に、このシステムの伝達関数 ����を求める�。そのためにまず式 ����の両辺をラプラス変換

するが、ここで、関数 ����の 階導関数 ������に関するラプラス変換の公式

��������� # � ���� ����� �� �������� �� � � � � ������� �� ������ � ����

ただし、 ��� # �������

および �� � # � �� � # を利用すると、式 ����の両辺をラプラス変換した結果は次のようになる。

���!��� � ��!��� � !��� # " ��� ����

ただし、!��� # �������� " ��� # �������

システムに働く外力 ����をシステムへの入力とみなし、変位 ����をシステムの出力とみなすと、

このシステムの伝達関数は ���� # !���#" ���で表されるので

���� #!���

" ���#

��� � ��� ���

�伝達関数とは、システムの入出力関係を表す関数である

Page 9: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

となる。さらに、式 ���の右辺を部分分数展開して次式を得る。

���� #��

�� ���

��

�� �����

式 ���にインパルス不変法を適用することにより、このシステムの離散時間の伝達関数

���� #��

�� ���� ����

��

�� ���� ����� はサンプリング周期� ����

を得る。

最後に、式 ����の右辺を整理すると

���� #��� ����� ����

��� ������� ����

�� ����� � ���� ���� � ��������� ���

#�� ���

��� �������

�� ������

�� ���� ���� � ����

�� ������ �

���������

�� ������

��� ��� �# � ����

を得る。これは、������� ��モデルの伝達関数

���� #� � ��

��

�� � ����� � ���������

となっている。

以上を一般化すると、システムを表す ����モデルの導出は

微分方程式の導出 → 伝達関数の導出 → 伝達関数の離散化

という手順で行うことになる。

��� 物理モデルと状態空間表現

�� ����~��

ここでは、物理モデルを表す微分方程式から状態空間表現を導出する方法について述べる。先ほ

どの場合と同じく、質量・ばね・ダンパシステムの場合を例にとり、このシステムを表す微分方程

式から状態空間表現を導出する方法について説明する。

質量・ばね・ダンパシステムを表す微分方程式を再掲する。

����

���� �

��

��� � # � �� �

ここで以下のように、状態変数と呼ばれる媒介変数 ��� �� を定義する。

�� # � ����

�� #���

������

Page 10: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

��� �� を用いると、式 �� �は次のように表される。

����

��� ��� � �� # �

���

��# �

��� �

��� �

�����

Page 11: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

このシステムの入力を � �# ��とし、システムの出力を � �# ��として、式 ����� ����を行列表

現すると、以下のようになる。�%��

%��

�#

��� �

�� �

�����

��

��

���

�� � ����

� #�

� �����

����

ただし、 %�� #���

��� %�� #

���

��とした。

式 ����� ���を、このシステムの状態空間表現といい、式 ����を状態方程式、式 ���を出力方

程式とよぶ。

ここで

! #

���

��

�� %! #

�%��

%��

� #

��� �

�� �

�� � $ #

���

�� � % #

# �� & # �

とすると、式 ����� ���は

%! # �! �$& ���

# %! ����

と書ける。

��� 状態空間表現と伝達関数

�� ����~��

ここでは、状態空間表現と伝達関数の関係について述べる。

まず始めに、伝達関数から状態空間表現を求める。いま、伝達関数 ����が次式で与えられてい

るとする。

���� # �

� ����� � � � �� ��� �

� � ������ � � � �� ���� ��� � �� ����

式 ����は、次の �つの式に分けることができる。

����

&���#

� � ������ � � � �� ���� ������

���

����# �

� ����� � � � �� ��� � �� �

Page 12: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

式 ����より

���� � ����

����� � � � �� �� %�� � ���� # � ����

ここで

�� # ��

%�� # %�� # ��

&�� # %�� # ��

���

������ # %��� # �

とすると、式 ����から次の状態方程式を得る。���������

%��

%�����

%���

%�

��������#

���������

� � � �

� � � � ���

� � �

��� ��� ��� � � � ����

��������

���������

��

�����

���

���������

���������

���

��������� ����

一方、式 �� �より

� # ���� � ���

����� � � � �� � %�� � ��� ����

であるが、これは、状態変数を用いると次のように書ける。

� # ��� � ��� � � � �� ��� � ��� ����

式 ����より、次の出力方程式を得る。

� # � � � � � � � �

���������������

��

�����

���

���

���

��������������

���

すなわち、式 ����の伝達関数から、式 ����の状態方程式および式 ���の出力方程式を得る。

��

Page 13: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

次に、状態空間表現から伝達関数を求める。式 ����� ���を行列表現すると

%! # �! �$& ���

# %! ����

となる。これをラプラス変換すると、次式を得る。

�!��� # �!��� �$&��� ����

��� # %!��� ����

ただし

!��� # ��! �� &��� # ��& �� ��� # �� �

である。

式 ����より

��' ���!��� # $&���

!��� # ��' �����$&��� �' は単位行列� �� �

この!���を式 ����に代入すると

��� # %��' �����$&���

すなわち

���� # ���

&���# %��' �����$ ����

を得る。

��

Page 14: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

� ����モデルを用いた時系列解析

�� ����モデルのパラメータ推定

�� ��パラメータ推定

�� �����アルゴリズムの適用可能性

��� '��~��

(���$��$アルゴリズムは、��モデルのパラメータを推定するアルゴリズムであるが、ここで

は、����モデルの��パラメータを推定するために (���$��$アルゴリズムが適用できることを

示す。

�(���$��$アルゴリズムそのものについては、次の「(���$��$アルゴリズムの解説」で説明する�

時刻 �において、平均値零、分散 (�� の白色雑音系列 ��を ������� ��モデルで表されるシステ

ムに入力した時、システムより観測される時系列信号を �� とする。また、������� ��モデルの

��パラメータを ��� ��� � � � � �� とし、��パラメータを �� �� �� � � � � � とすると、白色雑音系列�� と時系列信号 �� の関係は下式で表される。

�� � ������ � ������ � � � �� ������ # ��� � ����� � ����� � � � �� ����� ����

また、遅延作用素 ��� を用いて

���� # � � ����� � ���

�� � � � �� �����

$��� # � � ���� � ��

�� � � � �� ����

と定義すると、式 ����は

������ # $����� ����

と表され、このシステムの伝達関数����は

���� #$���

��������

と表される。

ここで、ある条件のもとで ������� ��モデルの時系列信号 ��の相関関数)� が、��パラメー

タのみに関係することを示す。まず式 ����の両辺に ���� をかけると

������ � ���������� � � � �� ���������� # ������� � ��������� � � � �� ��������� ���

となる。さらに、式 ���の両辺の時間平均をとると

)� �

�����

��)��� #

�� ��

*���� ����� ���

を得る。ここで、* は期待値である。

��

Page 15: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

さらに、システムのインパルス応答を � とすると、�� と �� の間には

�� #

�� ��

� ���

の関係がある。�� は平均値零、分散 (�� の白色雑音系列であるので、式 ���は

)� �

�����

��)��� #

� � �

�� ��

*���� ����� � � ��

� � � ��

����

と書ける。これは、 � � �のときに ������� ��モデルの時系列信号 �� の相関関数 )� が ��

パラメータにのみ関係していることを表している。

さて、ここまでで、������� ��モデルの時系列信号 ��の相関関数)� が ��パラメータにのみ

関係する条件が示された。すなわち、 � � �のとき

)� �

�����

��)��� # ����

であることが示された。式 ����は ��モデルにおける )�"�*+�",��方程式と同じ形式であるから、

これを用いて ��パラメータを推定することができる。式 ����で # � � �� � � �� � � � � � �とお

くと

������

)� )��� � � � )�������

)��� )� � � � )�������

������

� � ����

)������� )������� � � � )�

�����

��������

�����

��

����� # �

������)���

)���

���

)���

����� ����

となる。これは拡張)�"�*+�",��方程式と呼ばれており、この式を解けば��パラメータが求まる。

しかし、式 ����を計算機でまともに解くのは効率が悪い。式 ����は )�"�*+�",��方程式と同じ形

式であるので、)�"�*+�",��方程式を逐次的に解くためのアルゴリズムである (���$��$アルゴリ

ズムが適用できる。よって (���$��$アルゴリズムを用いて式 ����を逐次的に解くことにする。

�� �����アルゴリズムの解説

��� '���~� �

(���$��$アルゴリズムは、�次の ��パラメータから ���次の ��パラメータを逐次的に求め

るアルゴリズムである。�次の ��パラメータ ���� �+ # �� �� � � � � ��から �� �次の ��パラメー

タ ������ を求める漸化式は以下の通りとなっている。

��

Page 16: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

��� 初期値

�� # �)���#)�

�� # �)���#)�

,� # �� �� ��

�� # ��

�� # ��

��� 漸化式

���� # �)����� �

�����

����� )�������

,�)�

���� # �)����� �

�����

����� )�������

,�)�

,��� # ��� ���������,�

������ # �

��� � �����

�������

������ # �

��� � �����

������� �+ # �� �� � � � � ��

��������� # ����

��������� # ����

漸化式中の ���� は、式 ����の左辺の行列が対称行列でないために (���$��$アルゴリズムで必要

となる補助変数である。また )� # ) � �である。

時系列信号 �� より自己相関関数 )� が求まれば、(���$��$アルゴリズムを用いて �次の ��パ

ラメータ ����� から �次の ��パラメータ �

���� � �

���� � � � � � ����� まで逐次的に求めることができる。

差分方程式が異なる場合の漸化式

��� '���~� �

システムを表す差分方程式が

�� � ������ � ������ � � � � � ������ # ��� � ����� � ����� � � � � � �����

Page 17: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

である場合の (���$��$アルゴリズムの漸化式は以下のようになる。

��� 初期値

�� # �)���#)�

�� # �)���#)�

,� # �� �� ��

�� # ����� # ���

��� 漸化式

���� # �)����� �

�����

����� )�������

,�)�

���� # �)����� �

�����

����� )�������

,�)�

,��� # ��� ���������,�

������ # �

��� � �����

�������

������ # �

��� � �����

������� �+ # �� �� � � � � ��

��������� # �����

��������� # �����

�� 自己相関関数の計算

��� '��~�

自己相関関数)� とパワースペクトル*�� # �!����は、フーリエ変換によって結ばれている。この関係はウィーナーヒンチンの定理とよばれ、

*�� # �)��

)� # ���*���

と表される。

この関係を用いると、次のように自己相関関数が計算できる。

Page 18: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

�� 測定データ対して --.を実施し、測定データのスペクトル!�� � # � �� � � � �を求める。

�� 測定データのパワースペクトル �!���� # !�� �!��を求める。すなわち

��� �!���� � # ����!��� �� � � / �!��� ��

/ � �!���� � #

を計算する。

�� 測定データのパワースペクトル �!���� � # � �� � � � � に対して逆 --.を実施し、測定データの自己相関関数 )� � # � �� � � � � を求める。

�� 以下のように自己相関関数の規格化を行う。

)� # )�#)� � # � �� � � � �

�� ��パラメータ推定

���������モデルの場合を例にとり、��パラメータを推定する方法について述べる。

まず、推定した ��パラメータを、���������モデルを表す以下の式に代入する。

�� � ������ � ������ � ������ � ���� # ��� � ����� � ����� � ����� � �

右辺の ��~���� は観測できないので推定値を用いる必要がある。� # � � �とすると、��の推定値 0��は以下のように求められる �入力信号推定値の算出方法は、オンライン推定法など他の

アルゴリズムでも同様である�。

0�� # ��# �

0�� # ��� � ���� � �0���# �

0�� # ��� � ���� � ���� � �0�� � �0���# �

0�� # ��� � ������ � ������ � ������ � �0���� � �0���� � �0�����# � �� ��

ここで、もし ����パラメータ ��~�� �~ � が理想的な値ならば、

��� � ������ � ������ � ������ � ����� � � �0�� � �0���� � �0���� � 0������� ���

は に近い値となるはずである。そこで、��パラメータ ��~�は固定しておき、��パラメータ

�~ � を変化させていったとき、全ての測定データ �� に対して、��� ��� � ������ � ������ � ������ � ����� � � �0�� � �0���� � �0���� � 0��������� ���

が最小になるような �~ �を求めればよいことになる。 �~ �を解析的に求めることも可能だが、

解析的に解を求めるのは困難な場合が多く、また、真に厳密な値を求める必要はないため、数値計

算手法を用いて近似的に �~ � を求めるのがよい。

��

Page 19: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

�� 逐次推定法(オンライン推定法)

��� '�� �~�

オンライン推定法とは、ある一定数の測定信号をブロック単位で処理するのではなく、新たな測

定信号が得られるたびに、その都度パラメータを計算する方法である。オンライン推定法は、アル

ゴリズムが簡単であるうえ、それなりに精度の高い最尤推定値が得られるため、実用的な手法であ

るといえる。

オンライン推定法では、システムへの入力信号を推定しながらパラメータ推定を行うが、入力信

号の推定値は、ある程度まとまった数の測定信号が得られないと精度が高くならないため、測定信

号の数が多くなければ十分な精度が得られないという欠点がある。

����モデルを

� # ������

����� �

�� ��

�� � � ���

で表し、また、以下のベクトルを定義する。

��� # � ����� � � � ������ ���� � � � � ��� �

�� # � ��� ��� � � � � ��� �� �� � � � � � �

すると、式 ���は

� # ���� � � ���

と表せる。ここで

' #

����

� � �

� �

����

を最小にするパラメータ 0�� を求める。すなわち最小二乗推定は次のように与えられる。

0�� #

�����

�����

��� ����

���� ��

しかしながら、ベクトル �� に含まれる ����� � � � � ���� は測定可能な変量ではないから、その推定値を必要とする。いま 0���� が得られたとすると、式 ���から

0�� # �� � 0�����0�� ���

によって �� の推定値が得られる。ただし

0�� # � ������ � � � ������� 0����� � � � � 0���� �� ���

である。

��

Page 20: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

逐次推定アルゴリズム

0�� # 0���� � �� � �� � 0��� 0���� �0�� # ����0�� �� � 0�

������0�� �

��

�� # �� � 0�� 0��� �����

� � � ���

初期値は

0�� # �

� � # ��  �� は大きな定数�

�注�:一般に、�はできるだけ大きい方がよく、� # � �� � などが用いられるが、実際には-

が適当に大きければ、�の絶対値は 0�� の計算にはあまり影響しない。

��

Page 21: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

�� 最尤推定法

��� '�� ~� �

最尤推定法とは、尤度を、(ある観測データのもとで)最適な推定パラメータが得られる確率と

して(つまり、尤度を未知パラメータの関数とみなし)、尤度を最大にするようなパラメータを探

索する推定手法である。この推定法は、拡張ユール・ウォーカー法やオンライン法に比べて推定精

度は高いが、計算が比較的複雑である。

最尤推定法は、一般に次のような手順で行う。

・尤度関数を作る。すなわち、確率的なモデルを作り、それを数式として定義する。

・尤度関数の最大値を探索することで、パラメータの最尤推定値を計算する。

(注):尤度とは、ある確率論的モデルを仮定しているときに、その観測データが得られる確率

(あるいは確率密度)のことである。簡単にいうと、ある観測データに確率論的モデルがどれくら

い当てはまっているかを確率で表す尺度のことである。

ここでは、次式で表される ����モデルを考え、そのパラメータを最尤推定法で求める方法に

ついて述べる。

� �

�����

����� # � �

�� ��

�� � �

いま、� # � �� � �� �とおくと、尤度関数は

.��� (��� # ���(�� ����� ��� ����� �1�

��

�(��/���

����

と表される。ただし

/��� # ����

��� �� ���

であり、また

(���� # *������ �

� # ���� ��� � � � � ��� �� �� � � � � ��

である。��� �は行列式を表す。式 ���は �のみの関数である。また、その対数をとると、対数尤

度は

0��� (��� # �-

�"�����(����

�"�� ��� � �

�(��/��� ���

であるから、最尤推定は /���を最小にする問題、すなわち

10

1�# �

10

1(��# ���

を解いて得られる。

以下、/��� の計算法とその最小化(パラメータの最尤推定)について述べる。

Page 22: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

/���の計算

/���を評価するためには、���� を計算しなければならない。まず、次のようなベクトルと行列

を導入する。

� # ���� ��� � � � � �� �� ��

�� # ���� ���� � � � � ����� ��� ���� � � � � ������

� #

������������

�� � ���

���� � �

�� ���� � � � �

� � �� � �

� � �

�� ���� � � � �

�����������

� #

������������

� � ���

���� � �

� ��� � � � �

� � �� � �

� � �

� ��� � � � �

�����������

��

簡単のために、初期値は零、すわなち �� # であると仮定する。この仮定は過渡応答を無視す

ることになるから、- が大であれば通常は近似的に容認できるので、実用上はさほど問題を生じな

い。このとき ����モデルは

��� #�� ���

と表せる。したがって �� �# ���� ��� � � � � �� �� �の共分散行列は

*������ � # (���� # *����

� �� ����� �� �

� �

# ���� ���

��� ��

�(�� ���

となる。ゆえに

���� # ���

� ������ �� ���

を得る。このとき式 ���は

/��� # ��� �

��� ���

��� ��

# �����

#����

�� �� �

と表せる。

��

Page 23: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

パラメータの最尤推定(/���の最小化)アルゴリズム

以上のように、/���は非常に簡単になるが、パラメータ �については非線形関数であり、その

最小化は非線形計画問題である。実際

� #������

$������

であるから、/���は �については �次形式であるが、 � については複雑な非線形関数である。こ

こでは、/���の最小化を実行するための繰り返し計算アルゴリズムとして、ガウス・ニュートン

(2����*3�4��$)法を採用すれば

��2� �� # ��2���

����

1�

1�

1�

1��

�������

����

�1�

1�

���������

����

となる。この式 ����のアルゴリズムを実行するには 1�#1�の計算が必要である。これは次のよう

に行える。����モデルは

� #������

$������ ����

である。ここに

������ # � � ����� � � � �� ���

��

$����� # � � ���� � � � �� ��

��

である。したがって

1�

1��#

$�������� � #

$��������

1�

1 #

������

$�������� � #

������

$�������� ����

となる。ここで

1�

1��# ����

1�

1 # �3� ����

と定義すると、�� 3が得られればよいことになる。式 ��������から

� #�

$������ #

�������

3 #������

$������� #

$������

であることから、�� 3はいずれも

������� # �

$�����3 # �

����

のような ��モデルを用いて生成することができる。

以上の考察から、� # ��� � �� �� の最尤推定値を得るためのアルゴリズムは以下のようにまとめ

られる。

��

Page 24: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

�� 初期値 �� � # ���� ��を与える(ここでは、拡張ユール・ウォーカーによって計算する)

�� 初期条件を零(�� # )として、

�� # � �

�����

��� ��� ���

��

+� ���

から ��を生成する。

�� �� を用いて

� # ���

���

��� ��� � ��

# ���

��

+� �� � �

3 # ���

��

+� 3� � ��

から、必要な初期値はすべて として逐次的に �� 3 が計算できる。

�� 上で得た �� 3 を用いて

�� #

����

����� �� #

����

����

�� #

����

���3� � #

����

�3�

�� #

����

3��3�

を計算すれば、

1�

1��#

��

� �

����

�1�

1�#

������

が評価できる。なお、� は �× �正方行列、 は �行 �列の行列、� は �× �正方行列で

ある。また、�� は �行 �列の行列、�� は �行 �列の行列である。

� 式 ����を用いて 0����が得られる。以下、これを繰り返す(手順 �に戻る)。

��

Page 25: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

�� 残差の統計量

�� '�~��

実際に観測されたシステムの出力信号と、����パラメータを用いて計算された推測信号との

差を残差とよぶ。通常、システムの振る舞いに非線形要素が加わってくると、線形システムを前提

とした ����モデルでは表現しきれない部分が増えてくるため、実際に観測された信号と推定信

号との差、すなわち残差は大きくなってくる。

システムの状態を解析するために、残差の値そのものを見てもよいが、残差の統計量を求めれば、

システムの状態を統計的に解析することができる。

ここでは、システムの状態を統計的に解析するために用いる統計量について述べる。

平均

個のデータ ��� ��� � � � � � があるとき、このデータ群の平均 � ��$ または �������� を 5��また

は 4�で表し、次式で定義する。

5� #

����

��

���

平均は、データ群を分布のグラフで表したときのグラフの中心位置を表す。

分散

個のデータ ��� ��� � � � � � があるとき、このデータ群の分散 ������$6�� を (� で表し、次式で

定義する。

(� #

����

��� � 5���

����

分散は、データ群を分布のグラフで表したときのグラフの広がり具合を表す。

標準偏差

個のデータ ��� ��� � � � � � があるとき、このデータ群の標準偏差 ����$!��! !�������$�を (で

表し、次式で定義する。

( #�(� #

���������

��� � 5���

����

標準偏差も分散同様、データ群を分布のグラフで表したときのグラフの広がり具合を表す。

��

Page 26: モデルを用いた時系列解析 - madlabo.com · の線形結合の和として得られるシステムがあるとき、このシステムを表すモデルを モデル $ !

波形率

個のデータ ��� ��� � � � � �があるとき、このデータ群の波形率 �7�� 7�6����を次式で定義する。

波形率 #(

5�����

歪度

個のデータ ��� ��� � � � � � があるとき、このデータ群の歪度 ��,�4$����を次式で定義する。

� #

����

��� � 5���

(��� �

歪度は、データ群を分布のグラフで表したときにグラフがどれだけ左右対称となるかを表してい

る。分布のグラフが左右対称に近いほど歪度は に近くなる。

尖度

個のデータ ��� ��� � � � � � があるとき、このデータ群の尖度 �,��������を次式で定義する。

5 #

����

��� � 5��

(����

尖度は、データ群を分布のグラフで表したときのグラフの尖り具合を表している。データ群が正

規分布のグラフで表される場合、尖度が �になる。尖度が �より大きくなると、分布のグラフは正

規分布と比べてすそが広く中央部が尖った形になる。逆に、尖度が �より小さくなると、分布のグ

ラフはすそが狭く中央部がなだらかな形になる。

参考文献

��� 嶋田有三『わかる制御工学入門』産業図書,� �年

��� 大類重範『ディジタル信号処理』日本理工出版会,� �年

��� 中溝高好『信号解析とシステム同定』コロナ社,����年

��� 小倉久直『確率過程入門』森北出版,� �年

�� ��8ハーベイ『時系列モデル入門』国友直人9山本拓 訳,東京大学出版会,����年

�� 森泰親『制御工学』コロナ社,� �年

��� 永田靖『入門統計解析法』日科技連,� �年