




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第Python與AI分析時間序列數據目錄簡介序列分析或時間序列分析的基本概念安裝實用軟件包PandashmmlearnPyStructCVXOPTPandas:處理,切片和從時間序列數據中提取統計數據示例處理時間序列數據切片時間序列數據提取來自時間序列數據的統計數據平均值最大值最小值一次性獲取所有內容重新采樣使用mean()重新采樣Re-samplingwithmedian()滾動平均值通過隱馬爾可夫分析順序數據模型(HMM)隱馬爾可夫模型(HMM)狀態(S)輸出符號(O)狀態轉換概率矩陣(A)觀察發射概率矩陣(B)先驗概率矩陣()
簡介
時間序列數據表示一系列特定時間內的數據間隔.如果我們想在機器學習中構建序列預測,那么我們必須處理順序數據和時間.系列數據是順序數據的摘要.數據排序是序列數據的一個重要特征.
序列分析或時間序列分析的基本概念
序列分析或時間序列分析是基于先前觀察到的,在給定輸入序列中預測下一個.預測可以是下一個可能出現的任何事情:符號,數字,次日天氣,下一個語音等.序列分析在股票市場分析,天氣預報和產品推薦等應用中非常方便.
示例
請考慮以下示例來了解序列預測.這里A,B,C,D是給定值,您必須使用序列預測模型預測值E.
安裝實用軟件包
用于時間序列數據分析使用Python,我們需要安裝以下軟件包:
Pandas
Pandas是一個開源的BSD許可庫,提供高性能,易于使用的數據結構和Python數據分析工具.您可以使用以下命令安裝Pandas:
pipinstallpandas
如果您使用的是Anaconda并希望使用conda包管理器進行安裝,那么您可以使用以下命令:
condainstall-canacondapandas
hmmlearn
這是一個開源的BSD-licensed庫,由簡單的算法和模型組成,用于學習Python中的隱馬爾可夫模型(HMM).你可以在以下命令的幫助下安裝它:
pipinstallhmmlearn
如果您使用的是Anaconda并希望使用conda包管理器進行安裝,那么您可以使用以下命令:
condainstall-comniahmmlearn
PyStruct
這是一個結構化學習,預測庫.在PyStruct中實現的學習算法具有諸如條件隨機場(CRF),最大邊緣馬爾可夫隨機網絡(M3N)或結構支持向量機之類的名稱.你可以借助以下命令安裝它:
pipinstallpystruct
CVXOPT
它用于基于Python編程語言的凸優化.它也是一個免費的軟件包.您可以使用以下命令和減號安裝它;
pipinstallcvxopt
如果您使用的是Anaconda并希望使用conda軟件包管理器進行安裝,那么您可以使用以下命令:
condainstall-canacondacvdoxt
Pandas:處理,切片和從時間序列數據中提取統計數據
如果您必須使用時間序列數據,Pandas是一個非常有用的工具.在Pandas的幫助下,您可以執行以下:
使用創建一系列日期pd.date_rangepackage使用pd.Series包索引帶有日期的pandas使用ts.resample包進行重新采樣更改頻率
示例
以下示例顯示您使用以下方式處理和切片時間序列數據大熊貓.請注意,這里我們使用的是每月北極濤動數據,可以從monthly.ao.index.b50.current.ascii,可以轉換為文本格式供我們使用.
處理時間序列數據
對于處理時間序列數據,您必須執行以下步驟:
第一步涉及導入以下包:
importnumpyasnp
importmatplotlib.pyplotasplt
importpandasaspd
接下來,定義一個函數,它將從輸入文件中讀取數據,如下面給出的代碼所示:
def
read_data(input_file):
input_data
=
np.loadtxt(input_file,
delimiter
=
None)
現在,將此數據轉換為時間序列.為此,請創建我們時間序列的日期范圍.在這個例子中,我們保留一個月的數據頻率.我們的文件的數據從1950年1月開始.
dates=pd.date_range('1950-01',periods=input_data.shape[0],freq='M')
在這一步中,我們在Pandas系列的幫助下創建時間序列數據,如下圖所示:
output=pd.Series(input_data[:,index],index=dates)
returnoutput
if__name__=='__main__':
輸入輸入文件的路徑,如下所示:
input_file="/Users/admin/AO.txt"
現在,將列轉換為時間序列格式,如下所示:
timeseries=read_data(input_file)
最后,使用顯示和減去的命令繪制和可視化數據;
plt.figure()
timeseries.plot()
plt.show()
您將觀察到如下圖所示的圖形:
切片時間序列數據
切片只涉及檢索時間序列數據的某些部分.作為示例的一部分,我們僅從1980年到1990年對數據進行切片.觀察執行此任務的以下代碼:
timeseries['1980':'1990'].plot()
matplotlib.axes._subplots.AxesSubplotat0xa0e4b00
plt.show()
當您運行切片時間序列數據的代碼時,您可以將以下圖表視為圖中顯示的是:
提取來自時間序列數據的統計數據
如果需要得出一些重要結論,則必須從給定數據中提取一些統計數據.平均值,方差,相關性,最大值和最小值是一些此類統計數據.如果要從給定的時間序列數據中提取此類統計數據,可以使用以下代碼;
平均值
您可以使用mean()函數,用于查找均值,如此處所示:
timeseries.mean()
然后,您將針對所討論的示例觀察到的輸出是:
-0.11143128165238671
最大值
您可以使用max()功能查找最大值,如下所示:
timeseries.max()
然后,您將針對所討論的示例觀察到的輸出是:
3.4952999999999999
最小值
您可以使用min()函數查找最小值,如下所示:
timeseries.min()
然后,您將針對所討論的示例觀察到的輸出是:
-4.2656999999999998
一次性獲取所有內容
如果您想一次計算所有統計數據,可以使用describe()函數,如下所示:
timeseries.describe()
然后,您將針對所討論的示例觀察到的輸出是:
count817.000000
mean-0.111431
std1.003151
min-4.265700
25%-0.649430
50%-0.042744
75%0.475720
max3.495300
dtype:float64
重新采樣
您可以將數據重新采樣到不同的時間頻率.執行重新采樣的兩個參數是:
時間段
方法
使用mean()重新采樣
您可以使用以下代碼使用mean()重新采樣數據方法,這是默認方法:
timeseries_mm
=
timeseries.resample("A").mean()
timeseries_mm.plot(style
=
'g--')
plt.show()
然后,您可以觀察以下圖表作為重采樣的輸出使用mean():
Re-samplingwithmedian()
您可以使用以下代碼使用median()方法重新取樣數據:
timeseries_mm
=
timeseries.resample("A").median()
timeseries_mm.plot()
plt.show()
然后,您可以觀察下圖作為重新采樣的輸出,其中位數為():
滾動平均值
您可以使用以下代碼計算滾動(移動)均值和減去;
timeseries.rolling(window=12,center=False).mean().plot(style='-g')
plt.show()
然后,您可以觀察下圖作為滾動的輸出(移動)mean:
通過隱馬爾可夫分析順序數據模型(HMM)
HMM是一種統計模型,廣泛用于具有延續性和可擴展性的數據,如時間序列股票市場分析,健康檢查和語音反饋gnition.本節詳細介紹了使用隱馬爾可夫模型(HMM)分析順序數據.
隱馬爾可夫模型(HMM)
HMM是一個隨機模型這是建立在馬爾可夫鏈概念的基礎上的,該假設未來統計數據的概率僅取決于當前的過程狀態而不是之前的任何狀態.例如,當擲硬幣時,我們不能說第五次拋擲的結果將是一個頭.這是因為硬幣沒有任何記憶,下一個結果不依賴于之前的結果.
數學上,HMM由以下變量和減號組成;
狀態(S)
它是HMM中存在的一組隱藏或潛在狀態.它由S表示.
輸出符號(O)
它是HMM中存在的一組可能的輸出符號.它由O表示.
狀態轉換概率矩陣(A)
它是從一個狀態轉換到另一個狀態的概率狀態.它由A表示.
觀察發射概率矩陣(B)
它是在特定狀態下發射/觀察符號的概率.它用B表示.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年5月7日江西事業單位考試A類職業能力傾向測驗試題及答案
- 工業氣體供應與安全應急預案編制合同
- 教育培訓機構股權證書及師資力量整合交接協議
- 兒童早期教育機構加盟合作合同
- 群眾演員參演電視劇拍攝合同書
- 特色烘焙品牌形象保護及合作協議補充條款
- 車載電子產品維修保養與售后服務合同
- 影視后期制作與版權保護與技術支持協議
- 汽車電子領域技術精英股權期權收益共享協議
- 2025至2030年中國平板磁力分選器市場分析及競爭策略研究報告
- 國開(內蒙古)2024年《漢語中的中國文化》形成性考核1-3終結性考核答案
- 血常規教育課件
- 普通飲片車間共線生產風險評估報告
- 建筑總工程師招聘面試題與參考回答(某大型央企)2024年
- 糖尿病視網膜病變護理
- 解讀智能測試用例生成
- 【工程法規】王欣 教材精講班課件 35-第6章-6.1-建設單位和相關單位的安全責任制度
- 獸藥GSP質量管理制度匯編
- 【基于單片機的智能送餐配送車設計與實現(論文)11000字】
- 新教科版小學1-6年級科學需做實驗目錄
- 2024年供電營業規則復習題庫含答案解析
評論
0/150
提交評論