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

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

【Rでピンクノイズ】ピンクノイズ (1/fゆらぎ)の生成方法のまとめ

これまでに,ピンクノイズ (1/fゆらぎ)のサンプル時系列の生成方法について,私が知っているものは,ほぼすべて紹介しました (自己相関関数を指定するものだけ説明してません).今回は,ピンクノイズ (1/fゆらぎ)の生成方法をまとめておきます.

 Rのパッケージを使って,真のピンクノイズ (1/fゆらぎ)を生成できるものを私は知りません.ARFIMAとか,非整数ガウスノイズを生成するパッケージを使っても,ピンクノイズ (1/fゆらぎ)に近いもの止まりです.研究で,ピンクノイズ (1/fゆらぎ)のサンプル時系列を作りたい人もいるでしょうから,参考になればと思います.

1. パワースペクトルの関数形を与えて時系列を生成する方法

 これは,白色ノイズをまず生成し,その白色ノイズの各周波数成分の振幅が,指定したパワースペクトルに従うように変調する方法です.以下の記事で紹介しました.
chaos-kiyono.hatenablog.com
chaos-kiyono.hatenablog.com

2. 非整数差分過程で時系列を生成する方法

 これは,ARFIMA(0, d, 0)もどきの方法で,許されていないdの値d=1を使います.以下の記事で紹介しました.
chaos-kiyono.hatenablog.com

3. 中点変位法で生成する方法

 Rスクリプトは,これが一番単純だと思います.以下の記事で紹介しました.
chaos-kiyono.hatenablog.com

4. 自己共分散 (自己相関)関数を与えて時系列を生成する方法

 これはまだ説明していません.ピンクノイズ (1/fゆらぎ)の自己共分散 (自己相関)関数が,

 C(k) \propto - \log k

となることを利用すれば,以下の記事の方法を使って時系列を生成できます.
chaos-kiyono.hatenablog.com

近いうちに,ピンクノイズ (1/fゆらぎ)の自己共分散 (自己相関)関数について説明したいと思います.

まとめ

 ということで,お勧めの方法は「パワースペクトルの関数形を与えて時系列を生成する方法」です.正直にいって,私は昔,1/fノイズの時系列の生成がうまくいかずに,結構時間を費やしました.問題は,基本をきちんと理解していなかったことです.基本や基礎は大事ですので,興味をもって勉強してください.