最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python與AI分析時間序列數(shù)據(jù)

 更新時間:2022年05月20日 17:14:38   作者:菜鳥教程  
預(yù)測給定輸入序列中的下一個是機器學(xué)習(xí)中的另一個重要概念.本章為您提供有關(guān)分析時間序列數(shù)據(jù)的詳細說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助

簡介

時間序列數(shù)據(jù)表示一系列特定時間內(nèi)的數(shù)據(jù)間隔.如果我們想在機器學(xué)習(xí)中構(gòu)建序列預(yù)測,那么我們必須處理順序數(shù)據(jù)和時間.系列數(shù)據(jù)是順序數(shù)據(jù)的摘要.數(shù)據(jù)排序是序列數(shù)據(jù)的一個重要特征.

序列分析或時間序列分析的基本概念

序列分析或時間序列分析是基于先前觀察到的,在給定輸入序列中預(yù)測下一個.預(yù)測可以是下一個可能出現(xiàn)的任何事情:符號,數(shù)字,次日天氣,下一個語音等.序列分析在股票市場分析,天氣預(yù)報和產(chǎn)品推薦等應(yīng)用中非常方便.

示例

請考慮以下示例來了解序列預(yù)測.這里A,B,C,D是給定值,您必須使用序列預(yù)測模型預(yù)測值E.

安裝實用軟件包

用于時間序列數(shù)據(jù)分析使用Python,我們需要安裝以下軟件包 :

Pandas

Pandas是一個開源的BSD許可庫,提供高性能,易于使用的數(shù)據(jù)結(jié)構(gòu)和Python數(shù)據(jù)分析工具.您可以使用以下命令安裝Pandas :

pip install pandas

如果您使用的是Anaconda并希望使用conda包管理器進行安裝,那么您可以使用以下命令 :

conda install -c anaconda pandas

hmmlearn

這是一個開源的BSD -licensed庫,由簡單的算法和模型組成,用于學(xué)習(xí)Python中的隱馬爾可夫模型(HMM).你可以在以下命令的幫助下安裝它 :

pip install hmmlearn

如果您使用的是Anaconda并希望使用conda包管理器進行安裝,那么您可以使用以下命令 :

conda install -c omnia hmmlearn

PyStruct

這是一個結(jié)構(gòu)化學(xué)習(xí),預(yù)測庫.在PyStruct中實現(xiàn)的學(xué)習(xí)算法具有諸如條件隨機場(CRF),最大邊緣馬爾可夫隨機網(wǎng)絡(luò)(M3N)或結(jié)構(gòu)支持向量機之類的名稱.你可以借助以下命令安裝它 :

pip install pystruct

CVXOPT

它用于基于Python編程語言的凸優(yōu)化.它也是一個免費的軟件包.您可以使用以下命令和減號安裝它;

pip install cvxopt

如果您使用的是Anaconda并希望使用conda軟件包管理器進行安裝,那么您可以使用以下命令 :

conda install -c anaconda cvdoxt

Pandas:處理,切片和從時間序列數(shù)據(jù)中提取統(tǒng)計數(shù)據(jù)

如果您必須使用時間序列數(shù)據(jù),Pandas是一個非常有用的工具.在Pandas的幫助下,您可以執(zhí)行以下 :

  • 使用創(chuàng)建一系列日期pd.date_rangepackage
  • 使用pd.Series包索引帶有日期的pandas
  • 使用ts.resample包進行重新采樣
  • 更改頻率

示例

以下示例顯示您使用以下方式處理和切片時間序列數(shù)據(jù)大熊貓.請注意,這里我們使用的是每月北極濤動數(shù)據(jù),可以從 monthly.ao.index.b50.current.ascii ,可以轉(zhuǎn)換為文本格式供我們使用.

處理時間序列數(shù)據(jù)

對于處理時間序列數(shù)據(jù),您必須執(zhí)行以下步驟 :

第一步涉及導(dǎo)入以下包 :

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

接下來,定義一個函數(shù),它將從輸入文件中讀取數(shù)據(jù),如下面給出的代碼所示 :

def?read_data(input_file):
input_data?=?np.loadtxt(input_file,?delimiter?=?None)

現(xiàn)在,將此數(shù)據(jù)轉(zhuǎn)換為時間序列.為此,請創(chuàng)建我們時間序列的日期范圍.在這個例子中,我們保留一個月的數(shù)據(jù)頻率.我們的文件的數(shù)據(jù)從1950年1月開始.

dates = pd.date_range('1950-01', periods = input_data.shape[0], freq = 'M')

在這一步中,我們在Pandas系列的幫助下創(chuàng)建時間序列數(shù)據(jù),如下圖所示 :

output = pd.Series(input_data[:, index], index = dates)	
return output
if __name__=='__main__':

輸入輸入文件的路徑,如下所示 :

input_file = "/Users/admin/AO.txt"

現(xiàn)在,將列轉(zhuǎn)換為時間序列格式,如下所示 :

timeseries = read_data(input_file)

最后,使用顯示和減去的命令繪制和可視化數(shù)據(jù);

plt.figure()
timeseries.plot()
plt.show()

您將觀察到如下圖所示的圖形 :

切片時間序列數(shù)據(jù)

切片只涉及檢索時間序列數(shù)據(jù)的某些部分.作為示例的一部分,我們僅從1980年到1990年對數(shù)據(jù)進行切片.觀察執(zhí)行此任務(wù)的以下代碼 :

timeseries['1980':'1990'].plot()
? <matplotlib.axes._subplots.AxesSubplot at 0xa0e4b00>
plt.show()

當您運行切片時間序列數(shù)據(jù)的代碼時,您可以將以下圖表視為圖中顯示的是 :

提取來自時間序列數(shù)據(jù)的統(tǒng)計數(shù)據(jù)

如果需要得出一些重要結(jié)論,則必須從給定數(shù)據(jù)中提取一些統(tǒng)計數(shù)據(jù).平均值,方差,相關(guān)性,最大值和最小值是一些此類統(tǒng)計數(shù)據(jù).如果要從給定的時間序列數(shù)據(jù)中提取此類統(tǒng)計數(shù)據(jù),可以使用以下代碼;

平均值

您可以使用mean()函數(shù),用于查找均值,如此處所示 :

timeseries.mean()

然后,您將針對所討論的示例觀察到的輸出是 :

-0.11143128165238671

最大值

您可以使用max()功能查找最大值,如下所示 :

timeseries.max()

然后,您將針對所討論的示例觀察到的輸出是 :

3.4952999999999999

最小值

您可以使用min()函數(shù)查找最小值,如下所示 :

timeseries.min()

然后,您將針對所討論的示例觀察到的輸出是 :

-4.2656999999999998

一次性獲取所有內(nèi)容

如果您想一次計算所有統(tǒng)計數(shù)據(jù),可以使用describe()函數(shù),如下所示 :

timeseries.describe()

然后,您將針對所討論的示例觀察到的輸出是 :

count 817.000000
mean -0.111431
std 1.003151
min -4.265700
25% -0.649430
50% -0.042744
75% 0.475720
max 3.495300
dtype: float64

重新采樣

您可以將數(shù)據(jù)重新采樣到不同的時間頻率.執(zhí)行重新采樣的兩個參數(shù)是 :

時間段

方法

使用mean()重新采樣

您可以使用以下代碼使用mean()重新采樣數(shù)據(jù)方法,這是默認方法 :

timeseries_mm?=?timeseries.resample("A").mean()
timeseries_mm.plot(style?=?'g--')
plt.show()

然后,您可以觀察以下圖表作為重采樣的輸出使用mean() :

Re -sampling with median()

您可以使用以下代碼使用median()方法重新取樣數(shù)據(jù) :

timeseries_mm?=?timeseries.resample("A").median()
timeseries_mm.plot()
plt.show()

然后,您可以觀察下圖作為重新采樣的輸出,其中位數(shù)為() :

滾動平均值

您可以使用以下代碼計算滾動(移動)均值和減去;

timeseries.rolling(window = 12, center = False).mean().plot(style = '-g')
plt.show()

然后,您可以觀察下圖作為滾動的輸出(移動)mean :

通過隱馬爾可夫分析順序數(shù)據(jù)模型(HMM)

HMM是一種統(tǒng)計模型,廣泛用于具有延續(xù)性和可擴展性的數(shù)據(jù),如時間序列股票市場分析,健康檢查和語音反饋gnition.本節(jié)詳細介紹了使用隱馬爾可夫模型(HMM)分析順序數(shù)據(jù).

隱馬爾可夫模型(HMM)

HMM是一個隨機模型這是建立在馬爾可夫鏈概念的基礎(chǔ)上的,該假設(shè)未來統(tǒng)計數(shù)據(jù)的概率僅取決于當前的過程狀態(tài)而不是之前的任何狀態(tài).例如,當擲硬幣時,我們不能說第五次拋擲的結(jié)果將是一個頭.這是因為硬幣沒有任何記憶,下一個結(jié)果不依賴于之前的結(jié)果.

數(shù)學(xué)上,HMM由以下變量和減號組成;

狀態(tài)(S)

它是HMM中存在的一組隱藏或潛在狀態(tài).它由S表示.

輸出符號(O)

它是HMM中存在的一組可能的輸出符號.它由O表示.

狀態(tài)轉(zhuǎn)換概率矩陣(A)

它是從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)的概率狀態(tài).它由A表示.

觀察發(fā)射概率矩陣(B)

它是在特定狀態(tài)下發(fā)射/觀察符號的概率.它用B表示.

先驗概率矩陣(Π)

它是從系統(tǒng)的各種狀態(tài)開始于特定狀態(tài)的概率.它由Π表示.

因此,HMM可以定義為λ=(S,O,A,B,π),

其中,

S = {s1,s2,...,sN}是一組N個可能的狀態(tài),

O = {o1,o2,...,oM}是一組M個可能的觀察符號,

A是N

以上就是Python與AI分析時間序列數(shù)據(jù)的詳細內(nèi)容,更多關(guān)于Python AI分析時間序列的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在python中利用最小二乘擬合二次拋物線函數(shù)的方法

    在python中利用最小二乘擬合二次拋物線函數(shù)的方法

    今天小編就為大家分享一篇在python中利用最小二乘擬合二次拋物線函數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python開發(fā)之list操作實例分析

    python開發(fā)之list操作實例分析

    這篇文章主要介紹了python開發(fā)之list操作方法,結(jié)合實例形式分析了list操作的具體用法與相關(guān)注意事項,需要的朋友可以參考下
    2016-02-02
  • python開發(fā)的自動化運維工具ansible詳解

    python開發(fā)的自動化運維工具ansible詳解

    ansible是新出現(xiàn)的自動化運維工具,基于Python開發(fā),集合了眾多運維工具(puppet、chef、func、fabric)的優(yōu)點,實現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運行命令等功能,這篇文章主要介紹了python開發(fā)的自動化運維工具ansible詳解,需要的朋友可以參考下
    2021-08-08
  • Python繪制線圖之plt.plot()的介紹以及使用

    Python繪制線圖之plt.plot()的介紹以及使用

    在Python中plt.plot是matplotlib庫中的一個函數(shù),用于繪制點和線,并對其樣式進行控制,下面這篇文章主要給大家介紹了關(guān)于Python繪制線圖之plt.plot()的介紹以及使用的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • PyTorch學(xué)習(xí)筆記之回歸實戰(zhàn)

    PyTorch學(xué)習(xí)筆記之回歸實戰(zhàn)

    這篇文章主要介紹了PyTorch學(xué)習(xí)筆記之回歸實戰(zhàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Python pymysql向SQL語句中傳參的多種方法

    Python pymysql向SQL語句中傳參的多種方法

    這篇文章主要介紹了Python-pymysql如何向SQL語句中傳參,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Python抓新型冠狀病毒肺炎疫情數(shù)據(jù)并繪制全國疫情分布的代碼實例

    Python抓新型冠狀病毒肺炎疫情數(shù)據(jù)并繪制全國疫情分布的代碼實例

    在本篇文章里小編給大家整理了一篇關(guān)于Python抓新型冠狀病毒肺炎疫情數(shù)據(jù)并繪制全國疫情分布的代碼實例,有興趣的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • 用vscode開發(fā)python的步驟詳解

    用vscode開發(fā)python的步驟詳解

    這篇文章主要介紹了用vscode開發(fā)python的步驟詳解,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 詳解Python如何實現(xiàn)對比兩個Excel數(shù)據(jù)差異

    詳解Python如何實現(xiàn)對比兩個Excel數(shù)據(jù)差異

    這篇文章主要為大家詳細介紹了Python是如何實現(xiàn)對比兩個Excel數(shù)據(jù)差異的,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-12-12
  • 用Python操作字符串之rindex()方法的使用

    用Python操作字符串之rindex()方法的使用

    這篇文章主要介紹了用Python操作字符串之rindex()方法的使用,是Python入門的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05

最新評論

赣榆县| 会同县| 南通市| 海原县| 金湖县| 巴彦淖尔市| 石嘴山市| 房山区| 铜梁县| 潢川县| 高陵县| 黔南| 泽库县| 东港市| 栖霞市| 花莲市| 河曲县| 丹寨县| 禄丰县| 上饶市| 措勤县| 蓬莱市| 健康| 左云县| 钟山县| 镇康县| 平谷区| 承德市| 玛曲县| 修文县| 咸丰县| 双流县| 抚远县| 龙口市| 德格县| 林甸县| 雷波县| 湘西| 通许县| 哈巴河县| 和田县|