12 か月間に動物が 1 時間ごとに訪れた回数のデータセットがあります。高速フーリエ変換を使用して、循環パターンと周期性を調べたいと考えています。過去に、これには Statistica を使用しました。ただし、R を使用して、スペクトル密度と周期のプロットを取得したいと考えています。Rでこれを行う簡単な方法はありますか? 可能であれば、アクティビティの 12 時間と 24 時間のピークを特定したいと思います。
45350 次
2 に答える
40
次の関数を検討できます。
periodogramパッケージからTSAすぐにピリオドグラムをプロットします。periodogramfromGeneCycleは、周波数と推定パワー スペクトル密度のリストを返します。stats::spectrumこれは、いくつかの特別なオプションが設定された のラッパー関数です。spectrumfromstatsでは、スペクトル密度の推定に使用する方法 (ピリオドグラムまたは自己回帰プロセスの使用) を選択できます。cpgramfromstatsは信頼区間と共に累積ピリオドグラムをプロットします。
すべての詳細については、「?cpgramまたは」を参照してください。関数の名前が一致する場合は、「および」であることに注意してください。?spectrumTSA::periodogramGeneCycle::periodogram
これらの関数の使用方法に関するオンラインの例やチュートリアルも多数あります。の使用法についてはこちらを参照してください。さらに広範なチュートリアルについてはfft、こちらを参照してください。
また、すでにご存じのとおり、特定の時系列はトレンド除去する必要があります。したがって、たとえば、のdiff(x)代わりに使用しxます。そして最後に、12 時間と 24 時間の頻度を識別できるように、時系列の長さは 12 で割り切れる必要があります。たとえば、x[-(1:(length(x) %% 12))]はxトレンド除去された時系列です。
于 2012-12-23T12:58:57.787 に答える
8
spectrumスペクトル密度分析を行うために使用します。fft基本高速フーリエ変換にも使用できます。
于 2012-12-23T11:58:38.133 に答える