1

R の動物園オブジェクトに対して、非規則的な時間ステップで自己相関/ラグ分析を実行できますか? もしそうなら、どのように?

ここで見つけた他の唯一の投稿は、定期的な時系列を扱っていました。不規則な時間ステップで取得された一連の観測があります。たとえば(t,y) = (0,2668), (36.62,2723), (42,2723),...

  • t時間単位の時間、および
  • y(カテゴリ*) 観測値です。... *元の投稿から編集

毎日 (ラグ = 24) および毎週 (ラグ = 168) のラグ相関を調べて、特定のカテゴリの観測がこれらのラグ間隔で/近くで繰り返されるかどうかを確認したいと思います。Rでこれを行う方法はありますか?自分のデータ用に Zoo オブジェクトを作成しましたが、これを行う方法に関するドキュメントを見つけることができませんでした。

4

1 に答える 1

2

を使用aggregateして、データを毎日および毎週の間隔に変換し、通常の時系列に対して実行する関数で自己相関を計算できます (たとえば、acf)。例えば:

# make a data set to play with
library(zoo)
ts <- sort(runif(100)*168*3) # 100 observations over 3 weeks
ys <- runif(100)       # y values
z <- zoo(ys, order.by=ts)

# ** convert to daily/weekly. ?aggregate.zoo
# NOTE: can use ts instead of index(z)
z.daily <- aggregate(z,index(z) %/% 24)    # has 21 elements (one per day)
z.weekly <- aggregate(z,index(z) %/% 168)  # has 3 elements (one per week)

# Now compute correlation, lag 1 (index in z.daily/weekly)
daily.acf <- acf(z.daily, lag.max=1)[1]
weekly.acf <- acf(z.weekly, lag.max=1)[1]

は、日別または週別のすべての発生を合計する日別または週別のデータにaggregate変換します。観測時間の整数部分を 24 で割った値 (つまり、観測日) をz調べる (または 168) ことによって、グループ化を行います。index(z) %/% 24

次に、acf 関数は自己相関を計算します (lag時間ではなく、ベクトルのインデックス上にある)。

私は統計についてあまり詳しくありません。

weekly.acf <- acf(z.daily,lag.max=7)[7]

から自己相関を計算するときとは異なる答えが得られます。これは、遅れが 1 の週次データとは対照的に、遅れが 7 の毎日のz.weeklyデータで自己相関を行っているためです。あなたが欲しいもの。

于 2012-01-23T01:39:56.420 に答える