国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

六種有效的時間序列數(shù)據特征工程技術(使用Python)

開發(fā) 前端
在商業(yè)分析中,"時間"是一個核心概念。我們基于時間組件來分析銷售數(shù)據、收入、利潤、增長,甚至進行預測。然而,對于初學者來說,這可能是一個復雜的主題。在處理時間敏感的數(shù)據集時,需要考慮時間序列數(shù)據的多個細微方面。

在商業(yè)分析中,"時間"是一個核心概念。我們基于時間組件來分析銷售數(shù)據、收入、利潤、增長,甚至進行預測。然而,對于初學者來說,這可能是一個復雜的主題。在處理時間敏感的數(shù)據集時,需要考慮時間序列數(shù)據的多個細微方面。

在這個領域,沒有放之四海而皆準的方法。我們不必總是強制使用傳統(tǒng)的時間序列技術,如ARIMA(從經驗中得出這個結論)。在某些項目中,如需求預測或點擊預測,可能需要依賴監(jiān)督學習算法。這就是時間序列特征工程發(fā)揮作用的地方。它有潛力將時間序列模型從一個良好的模型提升為一個強大的預測工具。

在本文中,我們將探討使用日期時間列提取有用信息的各種特征工程技術。

1、時間序列簡介

在深入特征工程技術之前,讓我們先回顧一些基本的時間序列概念。這些概念將貫穿全文,因此提前熟悉它們很有幫助。是什么使時間序列項目區(qū)別于傳統(tǒng)機器學習問題呢?

在時間序列中,數(shù)據以等間隔捕獲,且序列中的每個連續(xù)數(shù)據點都依賴于其先前的值。

讓我們通過一個簡單的例子來理解這一點。如果想預測某公司今天的股票價格,了解昨天的收盤價會有幫助,這是肯定的,如果我們有過去幾個月或幾年的數(shù)據,預測網站的流量會容易得多。

我們還需要考慮另一個因素 - 時間序列數(shù)據可能存在某些趨勢或季節(jié)性。下面這張顯示某航空公司多年來預訂票數(shù)的圖表:

我們可以清晰地看到一個上升趨勢。這類信息可以用于做出更準確的預測。

2、設置時間序列數(shù)據的問題

我們將處理一個有趣的問題來學習時間序列的特征工程技術。

我們有'JetRail'的歷史數(shù)據,這是一種使用先進技術高速運行的公共鐵路交通系統(tǒng)。JetRail的使用量最近有所增加,我們需要根據過去的數(shù)據預測未來7個月JetRail的客流量。

加載數(shù)據集:

import pandas as pd                        
 data = pd.read_csv('Train_SU63ISt.csv')                      
 data.dtypes

這里有兩列 - 這是一個典型的單變量時間序列。日期變量的數(shù)據類型被識別為對象,即它被當作分類變量處理。我們需要將其轉換為DateTime變量。可以使用pandas中的datetime函數(shù)來實現(xiàn)這一點:

import pandas as pd                        
 data = pd.read_csv('Train_SU63ISt.csv')                      
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')                        
 data.dtypes

現(xiàn)在已經準備好了數(shù)據,讓我們探討可以從這個變量中提取的不同特征。在介紹每種特征工程技術時,將討論該技術可能有用的不同場景。

注意:本文中使用了一個簡單的時間序列問題來演示不同的特征工程技術。只要存在日期時間列,就可以在自選的數(shù)據集上應用這些技術。

3、日期相關特征

如果你熟悉預測特定產品銷售的任務。我們就可以根據歷史數(shù)據分析工作日和周末的銷售模式,獲取關于日、月、年等的信息可能對預測值有重要意義。

我們的任務是預測未來7個月內每小時使用JetRail的人數(shù)。 這個數(shù)字在工作日可能會較高,而在周末或節(jié)假日期間可能會較低。因此一周中的具體日期(工作日或周末)或月份將是重要的因素。

在Python中提取這些特征相對簡單:

import pandas as pd  
 data = pd.read_csv('Train_SU63ISt.csv')  
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')  
   
 data['year']=data['Datetime'].dt.year  
 data['month']=data['Datetime'].dt.month  
 data['day']=data['Datetime'].dt.day  
   
 data['dayofweek_num']=data['Datetime'].dt.dayofweek    
 data['dayofweek_name']=data['Datetime'].dt.weekday_name  
   
 data.head()

4、 時間相關特征

如果有時間戳,就可以提取更細粒度的特征。例如可以確定記錄數(shù)據的一天中的具體小時或分鐘,并比較營業(yè)時間和非營業(yè)時間的趨勢。

如果能夠從時間戳中提取'小時'特征,就可以對數(shù)據進行更深入的分析。JetRail的客流量是在早晨、下午還是晚上更高,或者可以使用該值來計算整周的平均每小時客流量,即上午9-10點、10-11點等時間段(貫穿整周)使用JetRail的人數(shù)。

提取基于時間的特征與提取日期相關特征的方法類似。可以首先將列轉換為DateTime格式,然后使用.dt訪問器。以下是在Python中的實現(xiàn)方法:

import pandas as pd  
 data = pd.read_csv('Train_SU63ISt.csv')  
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')  
   
 data['Hour'] = data['Datetime'].dt.hour  
 data['minute'] = data['Datetime'].dt.minute  
   
 data.head()

同樣可以從日期列中提取多種特征。以下是可以生成的特征的完整列表:

5、滯后特征

在處理時間序列問題時,有一個關鍵點,可以利用目標變量進行特征工程!

考慮這樣一個場景 —正在預測一家公司的股票價格。那么前一天的股票價格對做出預測很重要,對吧?換句話說,t時刻的值極大地受到t-1時刻值的影響。這些過去的值被稱為滯后,所以t-1是滯后1,t-2是滯后2,依此類推。

import pandas as pd  
 data = pd.read_csv('Train_SU63ISt.csv')  
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')  
   
 data['lag_1'] = data['Count'].shift(1)  
 data = data[['Datetime', 'lag_1', 'Count']]  
 data.head()

我們?yōu)樾蛄猩闪藴笠惶卣鳌5珵槭裁催x擇滯后一?為什么不是五或七?這是一個值得思考的問題。

我們選擇的滯后值應該基于個別值與其過去值的相關性。

如果序列呈現(xiàn)每周趨勢,即上周一的值可以用來預測這周一的值,那么創(chuàng)建七天的滯后特征可能更合適。

還可以創(chuàng)建多個滯后特征!假設想要從滯后1到滯后7的特征則可以讓模型決定哪個是最有價值的。例如訓練一個線性回歸模型,它會為滯后特征分配適當?shù)臋嘀兀ɑ蛳禂?shù)):

import pandas as pd  
 data = pd.read_csv('Train_SU63ISt.csv')  
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')  
   
 data['lag_1'] = data['Count'].shift(1)  
 data['lag_2'] = data['Count'].shift(2)  
 data['lag_3'] = data['Count'].shift(3)  
 data['lag_4'] = data['Count'].shift(4)  
 data['lag_5'] = data['Count'].shift(5)  
 data['lag_6'] = data['Count'].shift(6)  
 data['lag_7'] = data['Count'].shift(7)  
   
 data = data[['Datetime', 'lag_1', 'lag_2', 'lag_3', 'lag_4', 'lag_5', 'lag_6', 'lag_7', 'Count']]  
 data.head(10)

確定相關性顯著的滯后有多種方法。例如可以使用ACF(自相關函數(shù))和PACF(偏自相關函數(shù))圖。

  • ACF: ACF圖衡量時間序列與其滯后版本之間的相關性
  • PACF: PACF圖衡量時間序列與其滯后版本之間的相關性,但在消除了已由中間比較解釋的變異之后

對于我們的例子,這里是ACF和PACF圖:

from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
 plot_acf(data['Count'], lags=10)
 plot_pacf(data['Count'], lags=10)

偏自相關函數(shù)顯示與第一個滯后高度相關,與第二個和第三個滯后的相關性較低。自相關函數(shù)顯示緩慢衰減,這表明未來值與其過去值有很強的相關性。

需要注意的是 — 移動的次數(shù)等于數(shù)據中減少的值的數(shù)量。這樣在開始處看到一些包含NaN的行。這是因為第一個觀察沒有滯后值。在訓練模型時,需要從訓練數(shù)據中移除這些行。

6. 滾動窗口特征

在上一節(jié)中,我們討論了如何使用前面的值作為特征。

那么,如何根據過去的值計算一些統(tǒng)計量呢?這種方法被稱為滾動窗口法,因為每個數(shù)據點的窗口都是不同的。

下面這個動圖很好地解釋了這個概念:

由于這看起來像是一個隨每個新數(shù)據點滑動的窗口,使用這種方法生成的特征被稱為"滾動窗口"特征。

現(xiàn)在需要考慮的問題是 — 如何在這里進行特征工程?讓我們從簡單的開始。將選擇一個窗口大小,計算窗口內值的平均值,并將其用作特征。下面是在Python中的實現(xiàn):

import pandas as pd  
 data = pd.read_csv('Train_SU63ISt.csv')  
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')  
   
 data['rolling_mean'] = data['Count'].rolling(window=7).mean()  
 data = data[['Datetime', 'rolling_mean', 'Count']]  
 data.head(10)

類似地,可以考慮計算選定窗口內的總和、最小值、最大值等作為特征。

在時間序列中,近期性是一個重要因素。越接近當前日期的值通常包含更多相關信息。

因此我們可以使用加權平均值,給予最近的觀察值更高的權重。數(shù)學上,過去7個值在時間t的加權平均值可以表示為:

w_avg = w1(t-1) + w2(t-2) + . . . . + w7*(t-7)

其中,w1>w2>w3> . . . . >w7。

7、擴展窗口特征

這是滾動窗口技術的一個高級版本。在滾動窗口中,窗口的大小是固定的,而窗口隨時間推移而滑動。因此只考慮最近的一組固定數(shù)量的值,忽略了更早的數(shù)據。

擴展窗口特征的核心思想是考慮所有過去的值。

下圖展示了擴展窗口函數(shù)的工作原理:

每一步窗口的大小都會增加一個單位,因為它考慮了序列中的每個新值。這可以在Python中使用expanding()函數(shù)輕松實現(xiàn)。讓我們使用相同的數(shù)據來編寫代碼:

import pandas as pd  
 data = pd.read_csv('Train_SU63ISt.csv')  
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')  
   
 data['expanding_mean'] = data['Count'].expanding(2).mean()  
 data = data[['Datetime','Count', 'expanding_mean']]  
 data.head(10)

8、領域特定特征

這是特征工程的精髓所在。

對問題陳述有深入理解,對最終目標有清晰認識,以及對可用數(shù)據有充分了解,這些都是為模型設計有效的領域特定特征的關鍵。

讓我們通過一個例子來深入探討這一點。

以下是零售商提供的多個商店和產品的數(shù)據。我們的任務是預測產品的未來需求。可以考慮various characteristic,如lag特性或過去值的平均值等。

但是,讓我們思考一個問題 — 在整個數(shù)據集中從滯后1到滯后7構建滯后特征是否真的合適?

顯然不是。不同的商店和產品的需求模式可能有顯著差異。在這種情況下,我們可以考慮基于商店-產品組合來創(chuàng)建滯后特征。 此外,如果我們了解產品特性和市場趨勢,將能夠生成更準確、更有針對性的特征。

不僅如此,對領域和數(shù)據的深入理解還將幫助我們更好地選擇滯后值和窗口大小。基于領域知識,可能能夠引入外部數(shù)據集,為模型增添更多價值。

例如,可以考慮以下問題:銷售是否受當天天氣的影響?銷售是否會在國定假日期間出現(xiàn)顯著變化?如果是,那么可以利用外部數(shù)據集,將節(jié)假日信息作為一個特征納入模型。

時間序列的驗證技術

我們討論的所有特征工程技術都可以用來將時間序列問題轉化為監(jiān)督機器學習問題。完成這一步后,就可以應用線性回歸和隨機森林等機器學習算法。但在進入模型構建過程之前,還有一個關鍵步驟需要注意 — 為時間序列創(chuàng)建合適的驗證集。

對于傳統(tǒng)的機器學習問題,我們通常隨機選擇數(shù)據子集作為驗證集和測試集。但在時間序列問題中,每個數(shù)據點都依賴于其過去的值。如果我們隨機打亂數(shù)據,我們可能會在未來數(shù)據上訓練模型,而用過去的數(shù)據進行預測,這顯然是不合理的。

在處理時間序列問題時,關鍵是要仔細構建驗證集,保持數(shù)據的時間順序。

讓我們?yōu)槲覀兊膯栴}創(chuàng)建一個驗證集。首先需要檢查擁有的數(shù)據跨度:

import pandas as pd  
 data = pd.read_csv('Train_SU63ISt.csv')  
 data['Datetime'] = pd.to_datetime(data['Datetime'],format='%d-%m-%Y %H:%M')
 data['Datetime'].min(), data['Datetime'].max(), (data['Datetime'].max() -data['Datetime'].min())
 (Timestamp('2012-08-25 00:00:00'), Timestamp('2014-09-25 23:00:00'), Timedelta('761 days 23:00:00'))

我們有大約25個月的數(shù)據。保留最后三個月的數(shù)據用于驗證,使用剩余的數(shù)據進行訓練:

data.index = data.Datetime
 Train=data.loc['2012-08-25':'2014-06-24']
 valid=data.loc['2014-06-25':'2014-09-25']  
 Train.shape, valid.shape
 ((16056, 3), (2232, 3))

很好!我們現(xiàn)在已經準備好了訓練集和驗證集。可以使用這些特征工程技術,并在這些數(shù)據上構建和評估機器學習模型了。

總結

時間序列分析常被視為一個具有挑戰(zhàn)性的主題。這是可以理解的,因為在處理日期和時間組件時涉及許多復雜的因素。但一旦掌握了基本概念并能夠熟練運用特征工程技術,將能夠更加得心應手地處理時間序列項目。

在本文中,我們討論了一些可以用來處理時間序列數(shù)據的實用技術。通過使用這些特征工程技術,可以將時間序列問題轉化為監(jiān)督學習問題,并構建有效的回歸模型。

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2024-09-29 16:26:15

2022-01-11 18:21:11

存儲技術數(shù)據

2021-12-10 13:08:31

數(shù)據倉庫BI數(shù)據存儲

2019-10-12 01:10:09

物聯(lián)網無線技術IOT

2021-07-29 09:00:00

Python工具機器學習

2025-05-19 00:02:00

數(shù)據脫敏加密算法數(shù)據庫

2018-07-23 15:35:17

機器學習特征工程技能數(shù)據科學

2010-06-13 11:28:39

UML序列圖

2018-09-04 10:24:35

網絡流量提取工具

2011-03-31 14:53:13

數(shù)據中心節(jié)能

2025-08-07 02:11:00

2019-09-02 11:14:08

隔離虛擬機操作系統(tǒng)

2022-12-05 16:38:48

Python統(tǒng)計信息預測模型

2023-06-01 16:45:11

React開發(fā)JavaScript

2023-08-15 15:44:55

React開發(fā)

2023-09-06 08:00:00

ChatGPT數(shù)據分析

2017-06-26 10:35:58

前端JavaScript繼承方式

2023-08-26 20:51:25

Python函數(shù)代碼

2022-05-25 09:55:40

數(shù)據重復提交Java

2011-06-07 09:36:18

點贊
收藏

51CTO技術棧公眾號

亚洲综合另类| 久久99精品国产麻豆婷婷洗澡| 日韩一区二区免费高清| 最新日本视频| 中文字幕不卡的av| 女人被男人躁得好爽免费视频| 一本色道久久综合| 国产日韩中文在线| 免费欧美激情| 欧美一区二区三区免费视| 国产一区二区三区国产精品| 亚洲欧美色婷婷| 成人美女大片| 亚洲欧洲中文天堂| 麻豆视频在线观看免费网站黄| 日韩三级视频在线看| 黄色网页在线免费观看| 欧美嫩在线观看| 欧美成人视屏| 日韩一卡二卡三卡国产欧美| 日韩另类在线| 日韩成人av网址| 黄色亚洲网站| 中文在线资源观看视频网站免费不卡 | 天堂av中文在线观看| 日韩免费电影网站| 中文字幕在线观看播放| 日韩西西人体444www| 欧美人与禽猛交乱配| 亚洲电影免费观看| 欧美一区国产| 久久久精品在线观看| 日韩激情综合| 青青久久av北条麻妃黑人| 成人婷婷网色偷偷亚洲男人的天堂| 国产精品嫩草影院久久久| 一区二区电影在线观看| 久久精品日韩精品| 国产一区二区三区观看| 青青草成人免费在线视频| 国产欧美日产一区| 最新地址在线观看| 宅男在线国产精品| 天堂√中文最新版在线| 日韩午夜在线视频| 伊人久久大香线蕉| 成人一区二区三区四区| 毛片一区二区三区| 国产极品尤物在线| 亚洲成人在线网站| 91麻豆免费在线视频| 亚洲欧美中文另类| 日韩影视在线观看| 久久久久久久久四区三区| 国产精品香蕉一区二区三区| 四虎黄色影院| 在线不卡中文字幕播放| 91精品国产色综合久久不卡粉嫩| 国产精品久久视频| 久久亚洲色图| 污污视频网站免费观看| 日韩亚洲第一页| 欧美91看片特黄aaaa| 黑人精品xxx一区一二区| 成人免费在线观看视频网站| 亚洲国产小视频在线观看| 亚洲福利精品| 免费黄网站在线观看| 国产激情综合五月久久| 国产精品久久免费看| 国产精品美女久久久久| 欧洲金发美女大战黑人| 91精品国产综合久久精品app| 少妇精品久久久一区二区三区 | 欧美成免费一区二区视频| 超级污的网站| 欧美最猛性xxxx| 国产精品国产自产拍高清av| 九色丨蝌蚪丨成人| 黄污网站在线观看| 91色琪琪电影亚洲精品久久| 亚洲精品乱码久久久久久久久| 懂色aⅴ精品一区二区三区| 国产精品中文字幕在线观看| 亚洲综合色噜噜狠狠| 欧美高清免费| 国产二区视频在线播放| 欧美精品一区二区三| 高清成人免费视频| 国产丝袜在线播放| 色一情一乱一伦一区二区三区丨| 亚洲午夜免费电影| 色综合色综合| 亚洲精品免费网站| www555久久| 久久视频免费在线播放| 91亚洲精华国产精华精华液| 最猛黑人系列在线播放 | 2021国产视频| 亚洲人成免费电影| 久久久噜噜噜久久人人看| 久久77777| 国产原创中文在线观看| 欧美大胆在线视频| 久久er99热精品一区二区| 视频二区欧美| 麻豆传媒在线观看| 亚洲自偷自拍熟女另类| 日本一区二区在线免费播放| 懂色av一区二区三区蜜臀| h片在线观看网站| 精品蜜桃一区二区三区| 色欲综合视频天天天| 亚洲高清二区| 精品一二三四| 国产精品青青草| 日韩美女视频在线| 九九九久久久精品| 亚洲男人都懂第一日本| 天天影视久久综合| 成年人黄色在线观看| 国产美女久久精品| 理论片在线不卡免费观看| 91精品国产全国免费观看| 精品亚洲aⅴ乱码一区二区三区| 欧美电影在线观看一区| 色三级在线观看| 九七影院97影院理论片免费| 中文字幕欧美日韩一区二区| 国产玖玖精品视频| 91高清视频免费| 精品亚洲一区二区三区在线观看 | 在线观看av网站永久| 男的插女的下面视频| 国产精华一区| 日本午夜在线亚洲.国产| 91精品国产色综合久久不卡电影| 99这里都是精品| 国产成人精品三级| 9i在线看片成人免费| 18视频在线观看网站| 亚洲欧洲国产精品| 欧美精品日韩少妇| 精品九九在线| 欧美aⅴ在线观看| 国产麻豆精品在线观看| 2020国产精品自拍| 国产精品一区二区不卡| 欧美猛交免费看| 免费观看在线综合| 91九色精品国产一区二区| 国内精品久久久久久久久电影网| 韩日午夜在线资源一区二区| 亚洲第一av网站| 中文天堂在线一区| 国产一级揄自揄精品视频| 成人精品一区二区三区电影免费| 亚洲欧美在线免费观看| www亚洲精品| 国产中文字幕在线看| 国产伦精品一区二区三区视频黑人 | 韩国精品主播一区二区在线观看 | 欧美日韩精品在线播放| 久草热8精品视频在线观看| 亚洲成人中文| 中文一区一区三区免费在线观看| 777午夜精品电影免费看| 在线播放麻豆| 欧美日韩大尺度| 精品人伦一区二区三区 | 国产日韩欧美高清在线| 2018av在线| 成人漫画网站免费| 亚洲一区亚洲二区亚洲三区| 亚洲成a人v欧美综合天堂下载| 久久一区中文字幕| 宅男噜噜噜66国产精品免费| 2018国产在线| 精品视频高清无人区区二区三区| 91精品国产免费久久久久久| 亚洲成人免费在线| 国产一区高清在线| 日本欧美久久久久免费播放网| 精品在线手机视频| 美女网站在线| 99精品视频在线看| 国产精品永久入口久久久| 日韩欧美一级片| 亚洲小说欧美激情另类| 国产精品久久久久久久浪潮网站| 欧美在线观看视频一区二区 | 成人性生交大片免费看96| 久久九九国产视频| 欧美激情论坛| 欧美一级黄色影院| 亚洲人线精品午夜| 久久艹在线视频| 亚洲xxx大片| 日日摸天天爽天天爽视频| 久久频这里精品99香蕉|