octave - Octave中的Box Jenkins自相关
问题描述
我有以下 50 个样本向量:
a =
0.0070398
0.0071569
0.0071597
0.0071614
0.0071254
0.0071286
0.0071043
0.0071640
0.0071707
0.0071813
0.0071288
0.0070965
0.0071268
0.0071027
0.0070675
0.0070540
0.0070033
0.0069686
0.0069367
0.0069110
0.0069406
0.0069742
0.0069297
0.0069140
0.0068838
0.0069168
0.0069261
0.0069110
0.0068610
0.0068222
0.0067937
0.0067714
0.0067458
0.0067084
0.0066542
0.0066503
0.0066675
0.0066913
0.0066844
0.0066897
0.0066587
0.0066329
0.0066484
0.0066282
0.0066080
0.0065814
0.0065367
0.0065021
0.0064948
0.0064713
我想计算向量的自相关。我写了 Box Jenkins 公式如下:
并在 Octave 中实现了该功能:
function autocorr(y, tau)
y_bar = mean(y);
T = length(y);
# NUMERATOR
numerator = 0;
for t = (tau + 1):T
numerator += (y(t)-y_bar)*(y(t-tau)-y_bar);
endfor
# DENOMINATOR
denominator = 0;
for t = 1:T
denominator += (y(t)-y_bar)**2;
endfor
retval = numerator/denominator # NOTE THAT 1/T IS PRESENT IN BOTH NUMERATOR AND DENOMINATOR
endfunction
现在,如果我这样做:
octave:41> autocorr(a,1)
retval = 0.94683
我得到 0.94683 而不是 1。
- 期望 1 是否正确?
- 可以做些什么来减少 Octave 中的错误?
- Octave 中是否有任何可用的函数/包来计算这个?
解决方案
推荐阅读
- visual-studio-code - 在设置中将“useCodeSnippetsOnFunctionSuggest”设置为true。函数自动完成后JSON不完成括号
- iterator - WSO2 迭代消息并将消息发送到消息存储
- python - 如何检查方法Python中是否存在实例属性
- node.js - MongoDB 在获取大量文档时性能下降
- discord - discord.js,机器人没有更新公会的数量
- git - git解决develop和release分支冲突时develop只能通过pull请求修改
- angular - 多项目角度 tsconfig 中的路径
- go - 用于声明字符串默认值的sql struct标签语法
- c# - 使用 System.Text.Json 自定义反序列化
- odoo - 如何将树视图的 group_by 中的总和标题更改为 min?