時間序列繪圖
在任何資料分析任務中,第一步就是把資料畫出來。圖形能讓你看見資料中的許多特徵,包括型態、異常觀測值、隨時間的變化,以及變數之間的關係。就像資料的型態會決定要用哪一種預測方法一樣,它也會決定哪些圖形最合適。
你可以使用 autoplot() 函式來繪製有分面或無分面的時間圖(facets 會把不同子集顯示在不同面板):
> autoplot(usnim_2002, facets = FALSE)
上面的方法是本課程中多個可接受布林參數的範例之一。T 與 TRUE 都表示「true」,F 與 FALSE 都表示「false」,不過 T 和 F 在你的程式碼中可能被覆寫。因此,在本課程接下來的內容中,你應該只使用 TRUE 與 FALSE 來設定指示值。
你還會在本練習中用到另外兩個函式:which.max() 與 frequency()。
which.max() 用來找出最大值最小的索引位置:
> x <- c(4, 5, 5)
> which.max(x)
[1] 2
若要找出每一單位時間中的觀測次數,請使用 frequency()。回想上一個練習中的 usnim_2002 資料:
> frequency(usnim_2002)
[1] 4
因為本課程會使用 forecast 與 ggplot2 套件,它們已經替你載入到工作環境中,同時也包含上一題的 myts,以及以下 3 個序列(皆可在 forecast 套件中取得):
gold:以美元計價的黃金價格woolyrnq:澳洲毛紗產量資訊gas:澳洲天然氣產量
本練習屬於課程
R 的時間序列預測
練習說明
- 使用
autoplot()並開啟分面,繪製你儲存為myts的資料。 - 將相同資料改成不分面,將相應引數設為
FALSE。發生了什麼變化? - 分別在不同的圖中繪製
gold、woolyrnq、gas這三個時間序列。 - 使用
which.max()找出gold序列中的離群值。是哪一個觀測值? - 對每個品項套用
frequency(),取得每單位時間的觀測次數。以每週資料為例,結果會是 52。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Plot the data with facetting
autoplot(___, facets = ___)
# Plot the data without facetting
___
# Plot the three series
autoplot(___)
___
___
# Find the outlier in the gold series
goldoutlier <- ___(___)
# Look at the seasonal frequencies of the three series
frequency(___)
___
___