簡體   English   中英

自動找到R中時間序列的季節性

[英]Automatically find seasonality of time series in R

我是R中時間序列的新手,如果我有任何錯誤,請更正我。

我每天都有商店中產品庫存的快照。 如果有幫助,您可以將其作為Bestbuy中IPad的數量,然后我去Bestbuy並計數他們倉庫中的所有Ipad :)並記下筆記。

而且我可以監控他們每天售出的iPad數量以及它們何時補充庫存。 我的目標是嘗試進行一些時間序列分析。 首先確定其iPad銷售的趨勢和季節性,然后建立一個突發檢測模型,因此,如果某一天的銷量太低或太高。 我會收到通知。

一些假數據:

library(zoo)
index <- seq(as.Date('2013-01-01'), as.Date('2013-01-31'), by="day")
data <- c(seq(5, 1), seq(15, 1), seq(10, 5), seq(10, 5))
z <- zoo(data, index)
plot(z)

在此處輸入圖片說明

(1)是否有一個方便的函數來計算彼此相鄰的兩天的差額,以便首先獲得其每日銷售額? 負數意味着售出了許多Ipad,正數意味着補貨。

(2)當我嘗試使用分解找到趨勢時,它告訴我:

> decompose(z)
Error in decompose(z) : time series has no or less than 2 periods

然后我意識到我需要確定一個星期可以作為一個好的開始的季節性。 所以我可以做。

plot(decompose(ts(z[,1], frequency=7)))

我知道,我需要修改期限以使其正常運行。 但是,季節性實際上取決於產品而有所不同,我不知道該如何處理。

(3)歡迎就我的想法發表一般評論。 例如,上面的圖基本上顯示出他們幾乎每天都賣出1個便箋本。 然后,我需要以某種方式進行檢測,幾天之后,他們售出了10多種ipad,而我將以之為爆發。 通常,是否還有其他易於使用的R包用於突發檢測? 謝謝

看一下diff()問題的diff() ,這也是注意到“爆發”的一種快速方法。

diff(z)
plot(diff(z))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM