2016-09-16 8 views
0

burstsパッケージでバースト検出を試みました。私は時系列でスパイクを見つけたいので、これをやっています。バーストパッケージを使用して時系列のバーストを見つける方法R

私はkleinberg(ts)を行うと、それは言う:

Error in kleinberg(ts) : 
    Input cannot contain events with zero time between! 

時系列がある:

Time Series: 
Start = 1 
End = 120 
Frequency = 1 
    [1] 5 5 5 5 5 14 4 8 11 11 11 4 7 3 10 7 13 6 3 3 6 9 9 12 6 6 9 3 9 
[30] 6 12 3 3 3 6 9 6 3 3 4 6 6 6 3 6 7 9 9 6 6 15 9 21 9 9 9 9 12 
[59] 6 12 3 3 17 9 9 9 9 12 3 12 3 3 13 13 3 7 6 6 6 9 10 3 7 6 16 3 9 
[88] 9 9 17 12 9 9 19 20 13 13 16 17 11 14 20 15 14 100 70 20 15 26 44 20 19 8 38 14 15 
[117] 11 6 19 21 

私が興味ある特定の時系列のためのdput(ts)の出力が

structure(c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 
0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 2L, 4L, 9L, 100L, 
78L, 21L, 13L, 15L, 12L, 11L, 9L, 9L, 7L, 8L, 5L, 6L, 6L, 6L, 
6L, 4L, 3L, 3L, 3L, 2L, 3L, 3L, 2L, 3L, 2L, 3L, 3L), .Tsp = c(1, 
120, 1), class = "ts") 
です
+0

'ts <-ts(1:120、frequency = 1)'を使うとうまく動作します。出力を追加することもできます(例: 'dput(ts)'を使用してください。 – epo3

+1

@ epo3私は 'dput(ts)'に出力を供給しました。 – ogogmad

答えて

2

kleinbergは次のvaが必要です変更する予定は、function codeを参照してください。あなたの時系列では、あなたは同じ数字のシリーズを持っている場合があります。

kleinberg(unique(ts))を使ってみるとうまくいきました。

また、ランダムに生成された時系列を使用して、kleinberg()はうまく働いた:

ts2 <- as.ts(rnorm(1000,mean=1,sd=10)) 
plot(ts2) 
burst <- kleinberg(ts2) 
plot(burst) 

enter image description here

TwitterのAnomalyDetectionそれはデフォルトの形式でkleinbergはあなたが必要なものを与えない可能性がありますが、あなたが見つけるかもしれません便利なパッケージ。

関連する問題