gpt4 book ai didi

Python 如何让特征值滞后一行

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python 如何让特征值滞后一行由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

看代码吧~

# 加载库import pandas as pd​# 데이터프레임을 만듭니다.dataframe = pd.DataFrame()​# 模拟数据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_price0	2001-01-01	1.1	NaN1	2001-01-02	2.2	1.12	2001-01-03	3.3	2.23	2001-01-04	4.4	3.34	2001-01-05	5.5	4.4

补充:怎样用python画超前滞后先关图 。

想要获取更多Python学习资料,了解更多关于Python的知识,可以加Q群630390733踊跃发言,大家一起来学习讨论吧! 。

超前滞后相关是什么

想看两个时间序列是否相关,最简单的方法就是求二者的相关系数,但是在大气、海洋等科学问题的研究中,往往一个过程的响应并不是实时的,可能当a过程发生以后一段时间b过程才会发生,这样的关系往往不是同时期的相关系数可以表现的.

超前滞后相关就是为了看两个过程的发生演变是否在时间的先后上有一定的相关性.

举个例子:

有a、b两个时间序列,长度都是十二个月,直接求相关系数就是简单的同期相关.

如果a的1-11月对b的2-12月做相关系数,就是a对b超前1个月的相关;拿a的2-12月对b的1-11月做相关则称之为a对b的滞后1月相关,以此类推,就能求出n个月的超前滞后相关,画图出来就是沿0月(同期)正负各n月.

Python 如何让特征值滞后一行

摘自黄嘉佑的书《气相统计分析与预报方法》,第三版,17页 。

python中的实现

需要输入两个时间序列,结果为data1对data2的超前滞后相关系数的序列 。

from scipy.stats import pearsonrimport numpy as np #超前滞后相关def leadlagcor(data1,data2,n):	#data1和data2为两个时间序列,n设置做多少个时间步长的超前滞后    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设置做多少个时间步长的超前滞后    r=leadlagcor(data1,data2,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),"","cor_min:",np.min(r))     plt.savefig("%s.jpg")    plt.show()

画出来的结果就是这样啦,有更好的写法和例图也欢迎分享~ 。

祝大家科研顺利,身心健康! 。

Python 如何让特征值滞后一行

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/wj1298250240/article/details/103774116 。

最后此篇关于Python 如何让特征值滞后一行的文章就讲到这里了,如果你想了解更多关于Python 如何让特征值滞后一行的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com