首页 > 编程知识 正文

自相关系数计算,matlab计算相关系数

时间:2023-05-04 16:07:39 阅读:270794 作者:1470

1. np.correlate函数 numpy.correlate(a, v, mode='valid')

计算序列a,v的互相关。

如果需要计算一个序列,它和自己延迟(lag)的序列的相关性,可以使用以下代码:

def autocorrelation(x,lags):#计算lags阶以内的自相关系数,返回lags个值,分别计算序列均值,标准差n = len(x)x = numpy.array(x)result = [numpy.correlate(x[i:]-x[i:].mean(),x[:n-i]-x[:n-i].mean())[0]/(x[i:].std()*x[:n-i].std()*(n-i)) for i in range(1,lags+1)]return result

或者:

y = train['quantity']x = np.arange(len(train))yunbiased = y-np.mean(y)ynorm = np.sum(yunbiased**2)acor = np.correlate(yunbiased, yunbiased, "same")/ynorm# # use only second halfacor = acor[int(len(acor)/2):]fig = plt.figure(figsize = (10,6))plt.xlabel('Lag', fontsize=15)plt.ylabel('ACF', fontsize=15)plt.plot(acor)plt.show()

参考:

Python Numpy 计算自相关系数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。