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

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

時系列解析

【フーリエ変換】フーリエ級数からフーリエ変換へ

今回はフーリエ変換の話です.ここでは横軸をではなく,にします.理由は,時間とともに変化する信号を考えたいからです. 複素フーリエ級数 フーリエ変換 複素フーリエ級数 周期の周期関数 のフーリエ級数展開は, です.ここで,係数のは, で与えられます…

【Rで確率モデル】疑似乱数の生成

昨日,名古屋に出張しました.新幹線は,コロナ前と比べればまだ空いていますが,海外の旅行者も戻ってきて,席が埋まってきたように感じます.ということで,今回は,Rで乱数を生成するコマンドの整理です.疑似乱数を使って下の図のような,中心極限定理の…

【Rで確率モデル】確率密度関数と確率分布関数

世の中には正規分布とか,指数分布とか,ワイブル分布とかいろいろな分布に従う現象があります.確率的な現象が従う分布の関数形を特定すると,背後にある生成メカニズムを考えるヒントになるので,分布のことを理解しておくと役に立ちます.今回は,Rで確率…

【Rで高速フーリエ変換】バタフライダイアグラムを読む

私は肉まんの白い部分が好きです.ほのかに甘い,あの白い部分だけ食べたいです. ということで,今回は最近のFFTのお話 chaos-kiyono.hatenablog.com の続きです. FFTの説明で,バタフライ演算ってのが登場します.バタフライ演算は下の図のようなバタフラ…

【Rで高速フーリエ変換】2のべき乗の長さの時系列用FFTの実装についての解説

前回,2のべき乗の長さの時系列を,高速に離散フーリエ変換 (FFT)できるアルゴリズムのRスクリプトを作りました (高速じゃないけど). chaos-kiyono.hatenablog.com このFFTアルゴリズムは,Cooley-Tukey型と呼ばれるそうです (知らんけど).今回はこのアル…

【Rで高速フーリエ変換】Rのfftは任意の長さで大丈夫だけど,学習用に基数2のFFTを自作

Rとか,Pythonとかを使って,誰でも簡単に高速フーリエ変換 (fast Fourier transform, FFT)を使える時代になりました.最近コロナで,人と会わなくなって,久しぶりに遠隔会議であった方々が老けたなーと感じることが多くなりました.同様に私も年寄りになっ…

【Rで時系列解析】ハイパス,ローパス,バンドパス:バターワース (Butterworth filter)フィルタのかけ方

信号処理では,時系列に含まれる特定の周波数成分を取り出すために,ローパス (low pass)フィルタとか,ハイパス (high pass)フィルタとか,バンドパス (band pass)フィルタとかを使うことがあります.学生の皆さんには,デジタルフィルタの基礎の理論から実…

【Rで時系列解析】コサイナー解析 (cosinor analysis)

ひさびさに,共同研究でコサイナー解析 (cosinor analysis)を頼まれたので,ポイントをメモっておきます.コサイナー解析というのは,周期的に変化すると思われる時系列に,コサインの波形を当てはめてる分析法です.概日リズムの特徴付けに使われることがあ…

【長時間相関スケーリング解析】DMAの説明用gif動画

Detrending moving average analysis (DMA)の説明用の動画を作っておきました.学会発表などで使ってください. DMAの手順 より本格的なものは,Youtubeにあげておきます. www.youtube.com 実際の分析の方法は,以前の記事を参考にしてください. chaos-kiy…

【信号処理の基礎】微分フィルタの紹介

微分フィルタの紹介です.ここでは,単純な差分フィルタとSavitzky-Golay微分フィルタを比較します. フィルタ長の差分フィルタを と定義しました.フィルタ長は奇数のみ考えます. Savitzky-Golay微分フィルタは,以前の記事を参照してください. chaos-kiy…

【信号処理の基礎】Savitzky-Golay平滑化・微分フィルタの周波数特性

今回は,Savitzky-Golayフィルタの畳込み表現の係数 (下図のピンク図形)と周波数特性の話です. Savitzky-Golay平滑化フィルタ.元の時系列(上段灰色)は,下段の破線にノイズを加えたもの.下段の灰色破線はノイズを加える前の時系列.赤実線(上下両方)…

【信号処理の基礎】デジタルフィルタの周波数特性

デジタルフィルタの周波数特性について説明します. 移動平均とか,差分とか,Savitzky-Golayフィルタとか,そういった計算はこの式 の形で書くことができます.この形でを,に変えるのが,線形のデジタルフィルタです. 例えば,3点の移動平均は,,それ以…

【Rで時系列解析】ヒルベルト変換でエンベロープを計算するときの注意

前回,振動している信号のエンベロープ (包絡線)をヒルベルト変換で求める方法を紹介しました.今回は,この方法がうまくいくための注意事項をいくつか書いておきます. ポイントは, 前処理として,周波数の狭いバンドパスをかけておく あるいは 前処理とし…

【Rで時系列解析】ヒルベルト変換で振動のエンベロープを抽出

振動する時系列の中には,振動の振幅の変化に役立つ情報がある場合があります.例えば,呼吸信号(換気量や気流)は振動します.そのとき,心拍数に影響を与えるのは,振動の周期ではなく,振幅です.ということで,今回はその「振幅」の情報を取り出すため…

【Rで時系列解析】AICで多変量自己回帰過程の次数を決定

今回は,2変量の自己回帰過程 について最小2乗法でパラメタを推定し,AICで次数を決定します.お気楽な"vars"パッケージのVARなどは使いません.計算過程や式を確認できるように,Rスクリプトを書きました.Rスクリプトは一番下に掲載してあります.AICにつ…

【Rで時系列解析】AICを使った自己回帰過程の次数推定

今回は,時系列に対して自己回帰過程をフィットし,最適な次数を決定します.自己回帰過程の次数の推定には,赤池情報量規準 (AIC: Akaike Information Criterion)を使います.AICの導出をここで説明することは,私には難しいのでやりません.でも,計算過程…

【Rで時系列解析】コヒーレンス (coherence)の計算

今回は,コヒーレンス (coherence,あるいは,magnitude-squared coherence)の計算のメモです.コヒーレンスは,2つの時系列間の相関を周波数領域で見る方法です.2つの信号の周波数成分に,線形な入出力関係があれば1に近くなります.なければ0です.とはい…

【Rで時系列解析】最小2乗法で自己回帰過程の当てはめ

観測された時系列に最小2乗法で自己回帰過程を当てはめる計算のメモです.どんな形の過程を仮定しても,基本的な考え方を理解しておけば,係数を求めることができます.楽をしたければ,arとか,varsパッケージなどを使えば良いと思います.しかし,お気楽…

【Rで長時間相関】ARFIMA(0, d, 0)のAR過程近似を数値的に検証

前回に続き,ARFIMA(0, d, 0)を,無限次の自己回帰過程 (AR過程: autoregressive process)で表現する話です.今回は数値実験です. 1. 基本事項:long AR過程表現 2. 数値計算のポイント 3. 数値計算結果 Rスクリプト 前回の記事は,これです. chaos-kiyono…

【確率過程】ARFIMA(0, d, 0)のAR過程近似

長時間相関を示すARFIMA(0, d, 0)を無限次の自己回帰過程 (AR過程: autoregressive process)として近似した形のメモです.これを考えるねらいは,長時間相互相関過程のGranger因果性を調べる方法を検討したいからです.既に,論文があれば教えてください.長…

【Rで時系列解析】Savitzky-Golayフィルタで平滑化

今回はギザギザ,凸凹したデータの平滑化法の一つであるSavitzky-Golayフィルタの紹介です. Savitzky-Golayフィルタの考え方 (2次でスケール5の例):部分区間に多項式をフィットして中央の値を平滑化された値として採用する.実用上は,畳み込み和を使って…

【論文メモ】グレンジャー因果性のオリジナル論文Grainger (1969) : (その2)因果性,フードバック,瞬時的因果性,因果性ラグ

Grainger因果性のオリジナル論文 [Granger, C. W. (1969). Investigating causal relations by econometric models and cross-spectral methods. Econometrica: journal of the Econometric Society, 424-438]に書いてあったことのメモです.前回の続きです…

【論文メモ】グレンジャー因果性のオリジナル論文Grainger (1969) : (その1)パワースペクトルの定義

これまでの人生で,グレンジャー因果性について真剣に取り組んでこなかったので,反省して最近勉強をはじめました.ということで,Graingerのオリジナル論文 [Granger, C. W. (1969). Investigating causal relations by econometric models and cross-spect…

【Rで時系列解析】グレンジャー因果 (Granger causality)の周波数領域表現を数値実験で検証

グレンジャー因果 (Granger causality)のGewekeのアプローチを少しずつ理解していきます.前回の説明の続きで,今回は数値実験をします. chaos-kiyono.hatenablog.com 1. 問題設定 単純な例から考えはじめないと,私には理解できません.一般的な表現を見て…

【時系列解析】グレンジャー因果 (Granger causality)の周波数領域表現

グレンジャー因果 (Granger causality)の評価についてのGewekeのアプローチを理解するために,2変量時系列でその方法をまとめます.2よりも多い変量だと私には難しいので,まず,2変量で考えます.これは,自分の理解を深めるためのメモです.Gewekeの論…

【Rで時系列解析】Rでパワースペクトル推定:心拍変動解析での実際

Rで時系列のパワースペクトルを推定したいとき,もっともお気楽なのは,"spectrum"というコマンドを使うことだと思います.今回は,心拍変動 (RR間隔時系列)のスペクトル解析で"spectrum"コマンドを使った実例を紹介します.ちなみに,例として使用したRR間…

【Rで時系列解析】Rでspectrumを使ったパワースペクトル推定におけるspansの設定(数値デモ)

Rのコマンド"spectrum"のオプション"spans"の設定で,パワースペクトルの推定結果がどうなるかのデモです."spans"が何かは,前回の記事を参考にしてください. chaos-kiyono.hatenablog.com 時系列の生成については,以下の記事を参考にしてください. chao…

【Rで時系列解析】スペクトルウインドーを使ったパワースペクトルの平滑化:Rの"spectrum"での"spans"オプションの意味

今回は,離散フーリエ変換でえられるギザギザなパワースペクトルを,滑らかにする「平滑化」についてです.いろいろ書きたいことはありますが,まずは,Rでお世話になることが多い"spectrum"というコマンドのオプション"spans"について説明します.今回の説…

【Rで時系列解析】相乗対数正規過程に従う非ガウスゆらぎ

自然界で観測される時系列には正規分布に従わないものがたくさんあります.正規分布はガウス分布とも呼ばれるので,正規分布に従わない確率過程は「非ガウス過程」と呼ばれます.時系列であれば,「非ガウス時系列」ですが,私はもっとやわらかい響きが好き…

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

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