ケィオスの時系列解析メモランダム

時系列解析,生体情報学,数学・物理などの解説です.

【時系列解析の基礎】自己共分散母関数 Autocovariance-Generating Function

時系列解析の教科書として有名なHamiltonの本 "Time series analysis (Princeton university press)"の3.6節に登場する「自己共分散母関数 (Autocovariance-Generating Function)」についての補足説明です.自己共分散母関数は,母関数と名前がついているからには,簡単な手続きで自己共分散を計算できるはず,と思われますが,どうやって自己共分散を計算するのか...,その説明がなかなかみつかりません.インターネット上でも,「どうやって計算すればいいの?」

time series - How to retrieve information of autocovariance from autocovariance generating function? - Cross Validated

という質問を見かけますが,答えは書いてありません.上記のリンクにある質問では「先生は \displaystyle{
k
}微分して,0を代入する」と説明したけど,間違っているよね!と書いてあります.確かに間違いです.

ということで,答えを考えてみます.

自己共分散母関数から自己共分散を求める式

 まずは,答えを示しておきます.

\displaystyle{
\begin{aligned}
\gamma_j & = \frac{1}{i 2 \pi} \oint_{|z|=1} g_{Y} (z) \, z^{-(j+1)} d z
\end{aligned}
}

ここで,\displaystyle{
\gamma _ j
} はラグ \displaystyle{
j
} の自己共分散,\displaystyle{
g _ {Y} (z)
} は自己共分散母関数,\displaystyle{
i
}虚数単位です.自己共分散母関数は,微分して0を代入するタイプの母関数ではありません.

 上の式で自己共分散を求められるか,確認してみます.自己共分散母関数の中身は,

\displaystyle{
\begin{aligned}
g_{Y} (z) & = \cdots + \frac{\gamma_{-2}}{z^{2}} +  \frac{\gamma_{-1}}{z} +  \gamma_{0}+ \gamma_{1}\, z + \gamma_{2}\, z^{2} + \cdots = \sum_{j=-\infty}^{\infty} \gamma_j \, z^{j}
\end{aligned}
}

です.ここでは,自己共分散がラグ (時間差)のみに依存することが仮定されていますので,

\displaystyle{
\begin{aligned}
\gamma_{-j} = \gamma_{j}
\end{aligned}
}

です.ですので,

\displaystyle{
\begin{aligned}
g_{Y} (z) & = \sum_{j=-\infty}^{\infty} \gamma_j \, z^{-j}
\end{aligned}
}

と考えても同じです.この場合は,

\displaystyle{
\begin{aligned}
\gamma_j & = \frac{1}{i 2 \pi} \oint_{|z|=1} g_{Y} (z) \, z^{j-1} d z
\end{aligned}
}

を使えば,自己共分散が計算できます.

 積分の計算では,複素積分のコーシーの積分定理と留数定理を知っていれば,

\displaystyle{
\oint_{|z|=1} \frac{1}{z^n}\, d z= \begin{cases}2 \pi i & (n=1) \\ 0 & (n \neq 1)\end{cases}
}

となることがわかります.意味がわからなければ,以下のリンクにある記事を参考にしてください.

【複素関数の積分】(2)留数定理 - ケィオスの道具としての数学

\displaystyle{
\gamma _ j
} は定数なので,上の式を使えば,

\displaystyle{
\begin{aligned}
\frac{1}{i 2 \pi} \oint_{|z|=1} \gamma_j \, d z & = 0 \\
\frac{1}{i 2 \pi} \oint_{|z|=1} \frac{\gamma_j}{z} \, d z & = \gamma_j \\
\frac{1}{i 2 \pi} \oint_{|z|=1} \frac{\gamma_j}{z^m} \, d z & = 0 \quad (m \ge 2) \\
\frac{1}{i 2 \pi} \oint_{|z|=1} \gamma_j \, z^m \, d z & = 0 \quad (m \ge 0) \\
\end{aligned}
}

となります.つまり,\displaystyle{
\frac{1}{z}
} の係数だけ残して,他はゼロにするだけです.

例として具体的に計算してみれば,\displaystyle{
j=0
} のとき

\displaystyle{
\begin{aligned}
\frac{1}{i 2 \pi} \oint_{|z|=1} g_{Y} (z) \, z^{-(0+1)} d z & = \frac{1}{i 2 \pi} \oint_{|z|=1} \left\{  \cdots + \frac{\gamma_{-1}}{z} +  \gamma_{0}+ \gamma_{1}\, z + \cdots  \right\} \, z^{-1} d z\\
& = \frac{1}{i 2 \pi} \oint_{|z|=1} \left\{  \cdots + \frac{\gamma_{-1}}{z^2} +  \frac{\gamma_{0}}{z}+ \gamma_{1} + \cdots  \right\}\, d z\\
& = \gamma_0
\end{aligned}
}

\displaystyle{
j=1
} のとき,

\displaystyle{
\begin{aligned}
\frac{1}{i 2 \pi} \oint_{|z|=1} g_{Y} (z) \, z^{-(1+1)} d z & = \frac{1}{i 2 \pi} \oint_{|z|=1} \left\{  \cdots + \frac{\gamma_{-1}}{z} +  \gamma_{0}+ \gamma_{1}\, z + \cdots  \right\} \,  z^{-2}d z\\
& = \frac{1}{i 2 \pi} \oint_{|z|=1} \left\{  \cdots + \frac{\gamma_{-1}}{z^3} + \frac{\gamma_{0}}{z^2}+ \frac{\gamma_{1}}{z} + \cdots  \right\}\, d z\\
& = \gamma_{1} 
\end{aligned}
}

となり,正しく自己共分散が求められます.

ということで,最初に示した式

\displaystyle{
\begin{aligned}
\gamma_j & = \frac{1}{i 2 \pi} \oint_{|z|=1} g_{Y} (z) \, z^{-(j+1)} d z
\end{aligned}
}

で,自己共分散母関数から個々の自己共分散を計算できそうです.

実際の応用では,自己回帰過程や移動平均過程などの差分方程式から,自己共分散母関数 \displaystyle{
g _ {Y} (z)
}を求める必要があります.この計算も,公式的に求められるということで,理論的な枠組みがすっきりするわけです.

何で周回積分で自己共分散が出てくるの?

 この式

\displaystyle{
\begin{aligned}
\gamma_j & = \frac{1}{i 2 \pi} \oint_{|z|=1} g_{Y} (z) \, z^{-(j+1)} d z
\end{aligned}
}

は,どうやって導くのでしょうか?  

 答えは,「自己共分散母関数 \displaystyle{
g _ {Y} (z)
} を使ってパワースペクトルを表し,ウィーナー・ヒンチンの定理を使って自己共分散を計算する」ということです.

 自己共分散母関数 \displaystyle{
g _ {Y} (z)
} を使ってパワースペクトル \displaystyle{
S _ Y(f)
} を表せば,

\displaystyle{
S_Y(f) = \left. g _ {Y} (z) \right|_{z=\exp \left(- i 2 \pi f \right)} = g _ {Y} \left( e^{-i 2\pi f}\right)
}

です.

 ウィーナー・ヒンチンの定理により,パワースペクトル \displaystyle{
S _ Y(f)
} を使って,自己共分散 \displaystyle{
\gamma _ j
} を表せば,

\displaystyle{
\gamma_j = \int_{-\frac{1}{2}}^{\frac{1}{2}} S_Y(f) \, e^{i 2 \pi f j} d f 
}

ここから,\displaystyle{
z=e^ {- i 2 \pi f}
} と置換積分すれば,

\displaystyle{
\begin{aligned}
\gamma_j &= \int_{-\frac{1}{2}}^{\frac{1}{2}} g _ {Y} \left( e^{-i 2\pi f}\right) \, e^{i 2 \pi f j} d f \\
&= \int_{\exp(i \pi)}^{\exp(- i \pi)} g _ {Y} \left(z\right) \, z^{-(j+1)} \left(- \frac{1}{i 2 \pi} \right) d z \\
&= \frac{1}{i 2 \pi} \oint_{|z|=1} g_{Y} (z) \, z^{-(j+1)} d z
\end{aligned}
}

となります (上の計算の2行目から3行目で,周回積分の向きを変えています).

おわりに

 弱定常中心主義の時系列解析の教科書は,どれもイマイチのような感じがします.Hamiltonの本 "Time series analysis"は,良い本ですが,今の学生には何がポイントなのかがわかりにくいと思います.とはいえ,私の理解もまだまだですので,これからも少しずつ説明を書き加えて,理解を深めたいと思います.

関連記事

chaos-kiyono.hatenablog.com

chaos-kiyono.hatenablog.com