Python 如何讓特征值滯后一行
看代碼吧~
# 加載庫 import pandas as pd # 데이터프레임을 만듭니다. dataframe = pd.DataFrame() # 模擬數(shù)據(jù) dataframe["dates"] = pd.date_range("1/1/2001", periods=5, freq="D") dataframe["stock_price"] = [1.1,2.2,3.3,4.4,5.5] dataframe.head() # 讓值滯后一行 dataframe["previous_days_stock_price"] = dataframe["stock_price"].shift(1) dataframe.head() dates stock_price previous_days_stock_price 0 2001-01-01 1.1 NaN 1 2001-01-02 2.2 1.1 2 2001-01-03 3.3 2.2 3 2001-01-04 4.4 3.3 4 2001-01-05 5.5 4.4
補充:怎樣用python畫超前滯后先關(guān)圖
想要獲取更多Python學習資料,了解更多關(guān)于Python的知識,可以加Q群630390733踴躍發(fā)言,大家一起來學習討論吧!
超前滯后相關(guān)是什么
想看兩個時間序列是否相關(guān),最簡單的方法就是求二者的相關(guān)系數(shù),但是在大氣、海洋等科學問題的研究中,往往一個過程的響應(yīng)并不是實時的,可能當a過程發(fā)生以后一段時間b過程才會發(fā)生,這樣的關(guān)系往往不是同時期的相關(guān)系數(shù)可以表現(xiàn)的。
超前滯后相關(guān)就是為了看兩個過程的發(fā)生演變是否在時間的先后上有一定的相關(guān)性。
舉個例子:
有a、b兩個時間序列,長度都是十二個月,直接求相關(guān)系數(shù)就是簡單的同期相關(guān)。
如果a的1-11月對b的2-12月做相關(guān)系數(shù),就是a對b超前1個月的相關(guān);拿a的2-12月對b的1-11月做相關(guān)則稱之為a對b的滯后1月相關(guān),以此類推,就能求出n個月的超前滯后相關(guān),畫圖出來就是沿0月(同期)正負各n月。
摘自黃嘉佑的書《氣相統(tǒng)計分析與預(yù)報方法》,第三版,17頁
python中的實現(xiàn)
需要輸入兩個時間序列,結(jié)果為data1對data2的超前滯后相關(guān)系數(shù)的序列
from scipy.stats import pearsonr import numpy as np #超前滯后相關(guān) def leadlagcor(data1,data2,n): #data1和data2為兩個時間序列,n設(shè)置做多少個時間步長的超前滯后 a=-n b=-a c=b*2+1 x=np.arange(-n,n+1,1) r=np.zeros((c,1)) p=np.zeros((c,1)) for i in range(c): if i<(b): r[n-i],p[n-i]=pearsonr(data1[:(len(data1)-i)], data2[i:]) else: r[i],p[i]=pearsonr(data1[x[i]:], data2[:len(data1)-x[i]]) return r
附贈一個可視化程序
def leadlagcor_plot(data1,data2,n): #data1和data2為兩個時間序列,n設(shè)置做多少個時間步長的超前滯后 r=leadlagcor(data1,data2,n)#調(diào)用上面寫的函數(shù)做超前滯后相關(guān) x=range(-n,n+1,1) fig = plt.figure() ax = fig.add_subplot(111) ax.plot(x,r,'k--',linewidth=0.8) ax.axhline(0, color='k') b=ax.bar(x,np.squeeze(r),color='red') for bar,height in zip(b,r): if height<0: bar.set(color='blue') print('cor_max:',np.max(r),'\n','cor_min:',np.min(r)) plt.savefig('%s.jpg') plt.show()
畫出來的結(jié)果就是這樣啦,有更好的寫法和例圖也歡迎分享~
祝大家科研順利,身心健康!
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python PyAutoGUI模塊控制鼠標和鍵盤實現(xiàn)自動化任務(wù)詳解
這篇文章主要介紹了Python PyAutoGUI模塊控制鼠標和鍵盤實現(xiàn)自動化任務(wù),結(jié)合實例形式詳細分析了pyautogui模塊的安裝、導入以及針對鼠標與鍵盤的各種常見響應(yīng)操作實現(xiàn)技巧,需要的朋友可以參考下2018-09-09Pytorch數(shù)據(jù)類型與轉(zhuǎn)換(torch.tensor,torch.FloatTensor)
這篇文章主要介紹了Pytorch數(shù)據(jù)類型轉(zhuǎn)換(torch.tensor,torch.FloatTensor),之前遇到轉(zhuǎn)為tensor轉(zhuǎn)化為浮點型的問題,今天整理下,我只講幾個我常用的,對Pytorch數(shù)據(jù)類型轉(zhuǎn)換相關(guān)知識感興趣的朋友一起看看吧2023-02-02