29

12 か月間に動物が 1 時間ごとに訪れた回数のデータセットがあります。高速フーリエ変換を使用して、循環パターンと周期性を調べたいと考えています。過去に、これには Statistica を使用しました。ただし、R を使用して、スペクトル密度と周期のプロットを取得したいと考えています。Rでこれを行う簡単な方法はありますか? 可能であれば、アクティビティの 12 時間と 24 時間のピークを特定したいと思います。

4

2 に答える 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 に答える