- 积分
- 8254
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-12-28
- 最后登录
- 1970-1-1
|
本帖最后由 taiyang 于 2024-12-2 16:32 编辑
- <div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: Consolas, "Courier New", monospace; line-height: 19px; white-space: pre;">
- </div>
复制代码 def autocorrelation2(x, max_lag):
"""
计算样本时间序列的自相关系数
参数:
x (numpy array): 时间序列数据
max_lag (int): 最大滞后数,一般建议取为 n/3 到 n/10
返回:
autocorr (numpy array): 各滞后数下的自相关系数数组
"""
n = len(x)
mean_x = np.mean(x) # 均值
s = np.std(x, ddof=0) # 标准差
autocorr = np.zeros(max_lag + 1)
for j in range(max_lag + 1):
autocorr[j] = np.sum((x[:n-j] - mean_x) * (x[j:] - mean_x)) / ((n - j) * s**2)
return autocorr
可以直接算一下 |
|