- 积分
- 37747
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-10-23
- 最后登录
- 1970-1-1
![[用户6857231968] 粉丝数:1 微博数:22 新浪微博达人勋](source/plugin/sina_login/img/light.png)
|
发表于 2021-12-19 12:11:01
|
显示全部楼层
本帖最后由 MengXC 于 2021-12-19 12:15 编辑
楼主您好!请问您推荐使用的MATLAB自带的xcorr函数做超前滞后相关的显著性检验您是怎么做的呢?
[r,lags] = xcorr(x,y,9,'normalized');% 'normalized' 和 'coeff'两个参数得到的结果是一样的。
xcorr函数能得到相关系数,不过没有显著性检验。
1.您编写的leadlagcorr函数里的显著性检验值(r_jian)能不能借用给xcorr函数使用,[r,r_jian]=leadlagcorr(x,y,alpha)。%显著性alpha,取0.05,0.01
2.小样本的数据您的函数与xcorr的结果有些偏差是怎么回事呢
例如:
创建向量 x 和向量 y,后者是 x 右移 5 个元素的结果。计算并绘制 x 和 y 的超前滞后先关。理论上在 x 和 y 的元素完全匹配的滞后值 (-5) 处,出现最大峰值,即x超前y 5单位(或者说y滞后x 5个单位)相关系数最大。
n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y,9,'normalized');
%'normalized' 和 'coeff'两个得到的结果是一样的。
% [c1,lags1] = xcorr(x,y,9,'coeff');
[r,r_jian]=leadlagcorr(x,y,0.05);
%绘图进行比较
stem(lags,c);%xcorr结果结果绘图,显示x超前y 5个单位相关系数为1
%使用leadlagcorr函数计算结果绘图,leadlagcorr函数计算时相关系数左右翻转了
% r:求得的超前滞后相关系数,得到的结果中,左面的数表示y比x超前(x比y滞后),右边的数表示y比x滞后(x比y超前)。
figure
stem(lags,r);%结果也显示x超前y 5个单位相关系数为1(
plot(lags,r_jian)
plot(lags,[0-r_jian])
|
|