iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
AI & Data

時間管理大師-時間序列分析終極密技系列 第 13

[Day13]今越紅塵亦悠悠-參透過去,解析未來,時間序列之資料清理概論

  • 分享至 

  • xImage
  •  

時間序列分析

時間序列分析,就是使用現有的資料,來預測未來的發展
時間序列就是每固定隔一段時間就紀錄一次資料的資料序列,因為資料跟時間密不可分,因此常用來預測未來,這樣講可能有點抽象,打個生活中最常見的比方,氣象預報,假如前天的氣溫是26度,昨天是24度,今天是23度,那麼你認為明天溫度最有可能是幾度呢?
A.30
B.22
C.19
我想各位心中都有個底了吧,這個就是最簡單的時間序列分析,通常時間序列都會以表格呈現,像這樣:

Time Temp
2020/09/25 26
2020/09/26 24
2020/09/27 23

幸運的話資料長得像上面那樣,預測就會非常方便,但是很不幸的,資料最常出現以下兩種問題

如果資料中有缺值呢?或者時間間隔不是固定的呢?

在實務上確實很常碰到這種問題,畢竟事情不會總是順著預期發展,這時候就要使用補值的方式了,因為時間序列必須是相同時間間隔來記錄的資料序列,補值的方式有很多,向前填充、向後填充、前後平均、線性插值、二次插值,三次插值、拉格朗日差值等等琳瑯滿目的方法,但以上方法都只僅限於少量缺值的情況下,如果資料真的缺太多,那可能就要當成無效資料了,或者把時間間隔拉長,例如把一周一筆的資料,改成取一個月一筆,在不同的時間間隔之下,時間序列的表現是完全不同的,因此分析時必須進行考慮資料捨取的問題
資料中有缺值範例:

Time Temp
2020/09/25 26
2020/09/26 NAN
2020/09/27 23

如果資料中有不合邏輯的數值呢??

當然是要去除的,不合理的數值會預測出不合理的結果,這類不合邏輯的數值稱為異常值,我們主要觀察的是突然的峰值、突然的低谷和太明顯的趨勢變化,舉個例子,假如我們有一個網站的每小時流量資料,在前天那個網站當機了幾個小時,當時的流量數值直接降為0,然而這些資料對於預測是沒有幫助的,因此必須去除,這是肉眼就能分辨的異常值,那肉眼看不出的異常值則必須使用異常值檢測法,異常值檢測法目標是將所有資料區分為異常/非異常,異常值檢測法有很多種,例如STL分解、分類回歸樹(CART)、指數平滑、3σ原則、神經網路、貝葉斯網路、LOF等等
資料中有異常值範例:

Time Temp
2020/09/25 26
2020/09/26 255
2020/09/27 23

預測未來前必須先解決以上會在資料中出現的問題,這個步驟稱為資料清理,當然資料還有很多種的問題可能會有,而最常見的就是缺值跟異常值問題,我往後幾天會跟各位分享資料清理的部分,會使用許多方便我們進行資料清理的python套件,要記住,只有合理完整的資料,預測的結果才會合理


上一篇
[Day12]時代洪流-python終極指南:最終回,物件導向程式設計特色
下一篇
[Day14]蹉跎錯,消磨過-宗師級資料分析模組!!NumPy
系列文
時間管理大師-時間序列分析終極密技30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言