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

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

【Rで高速フーリエ変換】素直な離散フーリエ変換とFFTの処理時間の比較

今回は,Rで素直な離散フーリエ変換 (discrete Fourier transform: DFT)とCooley-Tukey型高速フーリエ変換 (fast Fourier Transform: FFT)の処理時間を比較してみました. 素直な離散フーリエ変換 Cooley-Tukey型FFT DFTとFFTのRスクリプト 処理時間の比較 …

【Rで高速フーリエ変換】N=16でCooley-Tukey型FFTを考えてみる

FFTを理解してもらいたい,というか,自分がわかりやすく説明できるようになりたいので,しつこくFFTの話をやっていきます.今回は,時系列の長さでやっていきます. 基本事項 回転因子W 離散フーリエ変換を周波数の偶数番と奇数番に分けると N=16でFFTの計…

【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の処理時間】計算時間短縮のための工夫 ― meanよりもsumが速い ―

プログラムを作って何か処理するとき,処理時間が短い方が良いに決まってます.ということで,今回はRの処理時間についてのお話です. 処理時間を無駄に長くしないための一般論として,私が説明できることは,「forループは使わずにベクトルのまま計算した方…

【Rでの時刻データの扱い】as.POSIXctを使うの卒業します

1時間ほど前に書いた記事では,Rで文字列を時刻データに変換するのに「私はas.POSIXctを使います」と言ってましたが,訂正します. 私はas.POSIXctを2度と使いません. 今なら断言できます.Rでas.POSIXctを使ってる奴,素人です. as.POSIXctを使ってる人…

【Rで日付,時間を扱う】as.Dateを使うときはタイムゾーンを必ず指定しろ

私はサツマイモ好きなので,コンビニのサツマイモ系スイーツは必ずチェックします.今日は大学のローソンで「さつまいもあんぱん コグマパン」という菓子パンが新発売されていたのでさっそく買って食べてみました.ということで,今回はRで時刻を日付に変え…

【Rで活動量分析】オムロン研究用活動量計HJA-750Cのデータファイルの読み込み

オムロン活動量計でHJA-750Cというのがあります.www.healthcare.omron.co.jpこれは研究や臨床検査用なので,一般には発売されていません.大学などの研究機関に所属していれば購入可能です. といことで,今回はHJA-750Cを使って研究をしたい人向けのに,R…

充電用USB type-Cケーブル

スマホやパソコンを充電したり,周辺機器をつないだりするケーブルとして,USB type-Cが一般的になっています.USB type-Cのケーブルって見た目は同じなのに,機能や性能が違うことを最近知りました.ということで,今回は「充電用のUSB type-Cケーブル」に…

【Rで時系列解析】cosinorパッケージでコサイナー解析,cosinor2も必要

最近はYoutubeでマリマリマリーの動画を見ています.その影響で,ひ○ゆきのものマネができたらいいなーと思うようになりました.皆さんも,次のセミナーではひ○ゆき風のしゃべりでお願いします. ということで,今回は前に紹介したコサイナー解析 chaos-kiyo…

【ラグオペレータで高校数学を解いてみる】3項間漸化式と連立漸化式

最近,高校の数学で出てくる漸化式 や, の解き方を教える機会がありました.私にとってはかなり昔の記憶ですが,高校の数学では,公式的なパターンに変形したり,行列の形にして対角化するとかありました.ラグオペレータでも解けるので,今回はラグオペレ…

【心拍変動解析の基礎】RR間隔時系列の修正

心拍変動解析では,通常の正常洞調律 (normal sinus rhythm)の間隔時系列を分析します.正常洞調律についての説明は,以前の記事を参照してください. chaos-kiyono.hatenablog.com 心拍変動では,正常洞調律を分析するというのが建前とはいえ,多くの場合,…

【Rでデータ処理】データテーブル操作の基礎

今回はファイルからデータテーブル (表)として読み込んで,データを処理する方法をいくつか紹介します.データ処理といっても,条件にあう列や行を抽出したりするだけです. ここでは,具体例として,ユニオンツールのmyBeatの心拍間隔データを使います.フ…

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

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

【Rでファイルの一括処理】正規表現とワイルドカードの活用

前回,フォルダ内にあるたくさんのファイルについて,フォルダ内にある全ファイル名を取得するRのコマンドとしてlist.files(...)の使い方を紹介しました.今回は,ファイル名に含まれる文字を使って,特定のファイルを見つける方法を説明します.今回,メイ…

【Rでファイルの一括処理】フォルダ内にある条件に合うファイルの取得

コンピュータを使えば,大量のデータを一括処理できます.つまり,たくさんのデータファイルがあっても,それらを自動で読み込んで,分析できちゃいます.今回は,Rで,たくさんのデータファイルを処理するときのヒントです. 事前知識 Rでフォルダ内にある…

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

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

【フラクタルの数理】一般化コッホ曲線のフラクタル次元の計算

昨日と今日の2日間,近畿大学の生物理工学部で集中講義をしました.そこで,フラクタルの話をちょっとしたので,今回は一般化コッホ曲線のフラクタル次元についての説明です. 一般化コッホ曲線の生成ルール 一般化コッホ曲線のフラクタル次元 一般化コッホ…

【ブラウン運動の数理】ランダムウォークからブラウン運動へ

非整数ブラウン運動の定義式で登場するは,時刻の1次元のブラウン運動の微小な増分です.ブラウン運動の増分って,とどのつまり,正規分布に従う白色ノイズなわけです.重要なのは,その分散が時間の増分に比例する,つまり, ということです.今回は,ここ…

【非整数ブラウン運動の数理】数値的にサンプルパスを生成

最近,一番気に入っているアニメは「異世界おじさん」です.ということで,今回は,非整数ブラウン運動を表す数式 の意味を理解するために,この積分を離散化して計算してみます.この積分がオリジナルの論文 Mandelbrot, Benoit B., and John W. Van Ness. …

【非整数ブラウン運動の数理】非整数階積分と非整数ブラウン運動

非整数ブラウン運動の増分の定義式は, です.定常とか,数学的な細かいことは無視して,非整数ブラウン運動を表すなら, ってことです.今回は,この形の積分をどーやって思いつくのかを,私の限られた知識だけで書いておきます.前回の記事も参考にしてく…

【非整数ブラウン運動の数理】非整数ブラウン運動の定義式について

東京に出張で3泊して帰ってきました.出張最終日の今日は汐留のオフィスビルで打ち合わせがあり,20階までエレベーターで上ったので怖かったです.私は,東日本の震災を福島県で経験して以来,4階以上は怖いです.ということで,今日は連続時間の非整数ブラ…

【MyBeatの使い方】肌着COCOMIで計測

肌着を使った心拍数計測の説明用に写真を作りました.私がシャツを着用しています.計測の説明用に自由に使ってください. 肌着を使った心拍数計測. 心拍計Mybeat 心拍計は,ユニオンツールのマイビートを使うことが多いです.RR間隔の計測結果は満足できま…

【長時間相関解析】DMAでスケーリング解析の動画リンク

gifアニメだとサイズがでかすぎたので,youtubeに説明動画をアップしておきました.www.youtube.com時系列の長時間相関解析とか,フラクタル解析について,8月29日(月)15:00から下記の講演会で説明します.私以外の講演がためになると思いますので,参…

【長時間相関スケーリング解析】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で時系列解析】ヒルベルト変換でエンベロープを計算するときの注意

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