自己相関

自己相関（じこそうかん、英語: autocorrelation）とは、信号処理において時間領域信号等の関数または数列を解析するためにしばしば用いられる数学的道具である。大雑把に言うと、自己相関とは、信号がそれ自身を時間シフトした信号とどれだけ良く整合するかを測る尺度であり、時間シフトの大きさの関数として表される。より正確に述べると、自己相関とは、ある信号のそれ自身との相互相関である。自己相関は、信号に含まれる繰り返しパターンを探すのに有用であり、例えば、ノイズに埋もれた周期的信号の存在を判定したり、 信号中の失われた基本周波数を倍音周波数による示唆に基づき同定するために用いられる。 自己相関は、学問領域によって定義が異なる。分野によっては自己共分散 (autocovariance) と同じ意味に使われる。 統計学において、確率過程の自己相関関数 (autocorrelation function; ACF) は、時系列上の異なる点の間の相関である。時刻 t における値を Xt とする。ここで、t は離散時間過程の整数でも連続時間過程の実数でもよい。Xt の平均を μ, 分散を σ 2 {\displaystyle \sigma ^{2}} としたとき、自己相関関数は次のようになる。 R ( t , s ) = E [ ( X t − μ ) ( X s − μ ) ] σ 2 , {\displaystyle R(t,s)={\frac {E[(X_{t}-\mu )(X_{s}-\mu )]}{\sigma ^{2}}}\,,} ここで、 E {\displaystyle E} は期待値である。分散がゼロであるような場合や無限であるような場合には、この式は適用できない。適用可能な場合、この定義では値の範囲は [ − 1 , 1 ] {\displaystyle [-1,1]} となり、 1 {\displaystyle 1} は完全な相関を表し、 − 1 {\displaystyle -1} は完全な反相関を表す。 Xtが定常過程ならば、自己相関関数は t と s の差分にのみ依存し、1変数の関数として表現できる。そのような場合を表す形式として次の定義がある: R ( k ) = E [ ( X i − μ ) ( X i + k − μ ) ] σ 2 , {\displaystyle R(k)={\frac {E[(X_{i}-\mu )(X_{i+k}-\mu )]}{\sigma ^{2}}}\,,} ここで k は（タイム）ラグ（ | t − s | {\displaystyle |t-s|} ）を表す。 σ 2 {\displaystyle \sigma ^{2}} による正規化を行わない形式もよく使われ、これを「自己相関」とも「自己共分散」とも呼ぶ。長さ n {\displaystyle n} の時系列標本 X1, X2 ... Xn について平均と分散が分かっているとき自己相関関数の近似が以下の式で与えられる。 R ^ ( k ) = 1 ( n − k ) σ 2 ∑ t = 1 n − k [ f ( t ) − μ ] [ f ( t + k ) − μ ] {\displaystyle {\hat {R}}(k)={\frac {1}{(n-k)\sigma ^{2}}}\sum _{t=1}^{n-k}[f(t)-\mu ][f(t+k)-\mu ]} ここで k ∈ N {\displaystyle k\in \mathbb {N} } である。 平均や分散が不明な場合、代わりに標本の平均や標本の分散を使うこともできるが、偏った近似になる。 信号処理においては、上述の正規化を行わない形式が良く使われる。すなわち、平均を引かず、分散で割らない形式である。平均と分散で正規化された自己相関関数は、自己相関係数と呼ばれることがある。 信号 f(t) について、連続自己相関 Rff(τ) は f(t) とそれ自身の連続相互相関の積分で表されることが多い。ここで τ はラグを表す。 R f f ( τ ) = f ¯ ( − τ ) ∗ f ( τ ) = ∫ − ∞ ∞ f ( t + τ ) f ¯ ( t ) d t = ∫ − ∞ ∞ f ( t ) f ¯ ( t − τ ) d t {\displaystyle R_{ff}(\tau )={\overline {f}}(-\tau )*f(\tau )=\int _{-\infty }^{\infty }f(t+\tau ){\overline {f}}(t)\,dt=\int _{-\infty }^{\infty }f(t){\overline {f}}(t-\tau )\,dt} f ¯ {\displaystyle {\bar {f}}} は共役複素数であり、 ∗ {\displaystyle *} は畳み込みである。実関数では f ¯ = f {\displaystyle {\bar {f}}=f} となる。 離散信号 xn でラグ j での離散自己相関は次のようになる。 R x x ( j ) = ∑ n x n x ¯ n − j   . {\displaystyle R_{xx}(j)=\sum _{n}x_{n}{\overline {x}}_{n-j}\ .} これらの定義は二乗可積分あるいは二乗可加算な信号、つまりエネルギーが有限な場合に有効である。永遠に続く信号は確率過程として扱われ、期待値に基づいた別の定義が必要となる。広義定常確率過程での自己相関は次のように定義される: R f f ( τ ) = E [ f ( t ) f ¯ ( t − τ ) ] {\displaystyle R_{ff}(\tau )=E\left[f(t){\overline {f}}(t-\tau )\right]} R x x ( j ) = E [ x n x ¯ n − j ] {\displaystyle R_{xx}(j)=E\left[x_{n}{\overline {x}}_{n-j}\right]} 定常的でない過程では、これらは t または n の関数となる。 エルゴード的でもある過程では、期待値の代わりに時間平均の極値を使うことができる。エルゴード過程の自己相関は以下のようにも表される: R f f ( τ ) = lim T → ∞ 1 T ∫ 0 T f ( t + τ ) f ¯ ( t ) d t {\displaystyle R_{ff}(\tau )=\lim _{T\rightarrow \infty }{1 \over T}\int _{0}^{T}f(t+\tau ){\overline {f}}(t)\,dt} R x x ( j ) = lim N → ∞ 1 N ∑ n = 0 N − 1 x n x ¯ n − j {\displaystyle R_{xx}(j)=\lim _{N\rightarrow \infty }{1 \over N}\sum _{n=0}^{N-1}x_{n}{\overline {x}}_{n-j}} これらの定義は定常的かつエルゴード的でない過程であっても、周期関数に適用して意味のある結果を得られるという利点がある。 一方、永遠に続く信号について短期間の自己相関解析を行うという方法もある（類似の手法として短時間フーリエ変換がある）。 多次元の自己相関も同様に定義される。例えば、3次元での二乗可加算な離散信号の自己相関は次のように定義される。 R ( j , k , ℓ ) = ∑ n , q , r ( x n , q , r ) ( x n − j , q − k , r − ℓ ) . {\displaystyle R(j,k,\ell )=\sum _{n,q,r}(x_{n,q,r})(x_{n-j,q-k,r-\ell }).} 信号から平均値を引いてから自己相関関数を求めた場合、その関数を自己共分散関数と呼ぶのが一般的である。 以下では、1次元自己相関の特性のみを扱う。2次元以上の特性は1次元の特性から容易に導くことができる。 自己相関の基本特性は R(i) = R(−i) という対称性である。これは定義から容易に証明できる。連続の場合、f が実関数であれば自己相関は偶関数である。 R f ( − τ ) = R f ( τ ) {\displaystyle R_{f}(-\tau )=R_{f}(\tau )\,} f が複素関数であるとき、その自己相関はエルミート関数である。 R f ( − τ ) = R f ∗ ( τ ) {\displaystyle R_{f}(-\tau )=R_{f}^{*}(\tau )\,} 連続自己相関関数は原点でピーク値となり、実数値となる。つまり、任意のラグ τ について | R f ( τ ) | ≤ R f ( 0 ) {\displaystyle |R_{f}(\tau )|\leq R_{f}(0)} である。これはコーシー・シュワルツの不等式から導かれる。離散の場合も同様である。 周期関数の自己相関も周期的であり、元の関数と同じ周期である。 全く相関のない2つの関数（相互相関が任意の τ について常にゼロ）の総和の自己相関は、各関数の自己相関の総和である。 自己相関は相互相関の特殊例であり、相互相関の全特性を備えている。 ホワイトノイズの自己相関は τ = 0 のときにピークが存在し、他の τ では常に 0 となる。これはホワイトノイズの標本群が同じ標本群の時間をずらしたものと全く相関しないことを意味する。 ウィーナー・ヒンチンの定理により、自己相関関数はフーリエ変換経由でスペクトル密度と関連付けられる。 R ( τ ) = ∫ − ∞ ∞ S ( f ) e j 2 π f τ d f {\displaystyle R(\tau )=\int _{-\infty }^{\infty }S(f)e^{j2\pi f\tau }\,df} S ( f ) = ∫ − ∞ ∞ R ( τ ) e − j 2 π f τ d τ . {\displaystyle S(f)=\int _{-\infty }^{\infty }R(\tau )e^{-j2\pi f\tau }\,d\tau .} 実数値関数において、シンメトリックな自己相関関数は実数のシンメトリックな変換を持つ。従って、ウィーナー・ヒンチンの定理は実数のコサインを使って以下のように定義しなおすことができる。 R ( τ ) = ∫ − ∞ ∞ S ( f ) cos ⁡ ( 2 π f τ ) d f {\displaystyle R(\tau )=\int _{-\infty }^{\infty }S(f)\cos(2\pi f\tau )\,df} S ( f ) = ∫ − ∞ ∞ R ( τ ) cos ⁡ ( 2 π f τ ) d τ . {\displaystyle S(f)=\int _{-\infty }^{\infty }R(\tau )\cos(2\pi f\tau )\,d\tau .} 時系列データによる回帰分析では、残差（residual）の自己相関が問題であり、t分布などで係数を推定する際の有意性の推定に偏りを生じさせる。一次自己相関の有無に関する古典的な検定としてダービー・ワトソン統計量がある。高次の自己相関もカバーするより柔軟な検定として Breusch-Godfrey 検定がある。これは補助回帰として、予測モデルとの残差を元の独立変数に回帰させるか、残差の k ラグに回帰させる（ここで k は検定の order）。この補助回帰の最も単純な検定統計量は TR2 となる。ここで、T は標本数、R2 は決定係数である。自己相関がないという仮定の下で、この統計量は自由度 k のカイ二乗分布に漸近的に近づく。 自己相関の応用として光学自己相関器による光のスペクトル測定や超短時間のレーザーパルスの測定などがある。 同様に、光学において電磁場のコヒーレンス度を求めるために正規化自己相関と相互相関が使われる。 信号処理において、音楽のうなりやパルサーの周波数といった繰り返し事象に関する情報を調べるために自己相関を用いる。 ^ Spectral analysis and time series, M.B. Priestley (London, New York : Academic Press, 1982) ^ a b Patrick F. Dunn, Measurement and Data Analysis for Engineering and Science, New York: McGraw–Hill, 2005 ISBN 0-07-282538-3 相互相関 光学自己相関 R言語 - 統計解析言語。自己相関分析ほか多くの統計関数を標準装備したフリーウェア。『モデル式』でモデル記述や当てはめが容易。他アプリケーションのファイル取込やODBC接続対応。FDA公認。CRANなる仕組で世界の膨大なソフトを無償利用可能。可視化機能に優れ、日本語対応。マルチプラットフォーム。 Rの基本パッケージ中の時系列オブジェクト一覧　 Autocorrelation Eric W. Weisstein、MathWorld Autocorrelation articles in Comp.DSP (DSP usenet group).