爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: Aires

[源程序] 超前滞后相关+滑动平均

  [复制链接]

新浪微博达人勋

发表于 2020-11-2 10:11:41 | 显示全部楼层
这,想下载看看,还需要贡献?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-2 10:14:18 | 显示全部楼层
微醉的阳光 发表于 2020-10-30 01:30
corrcoef不能做吧,超前滞后相关吧!貌似只能做相关,超前滞后相关是不是得用xcorr,求教如何使用corrcoe ...

他那种情况就相当于是已经知道超前滞后的周期了,如果那种情况也是可以的,单纯求个相关洗漱了就是~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-3-1 13:51:19 | 显示全部楼层
mark一下。学习
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-8-20 20:07:38 | 显示全部楼层
你好,同为海大校友,请问有无相关的理论知识可以学习一下呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-19 12:11:01 | 显示全部楼层
本帖最后由 MengXC 于 2021-12-19 12:15 编辑
Aires 发表于 2016-8-15 18:19
哦,这样啊,我现在用matlab自带的xcorr函数,你可以查查怎么用

楼主您好!请问您推荐使用的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])

leadlagcorr函数绘图.jpg
xcorr函数绘图.jpg
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-29 20:09:54 | 显示全部楼层
楼主,r物理含义的解释是不是写反了啊?
for tao=0:m-7
   r1(tao+1)=sum((x(1:m-tao).*y(tao+1:m)))/length(x(1:m-tao));
end

% 得超前滞后相关系数
r=[r2,r1];
这是计算的 X超前Y,而r1放在右边了,所以右边的数表示X超前Y。但你程序里写的是Y超前X

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-29 21:07:44 | 显示全部楼层
MengXC 发表于 2021-12-19 12:11
楼主您好!请问您推荐使用的MATLAB自带的xcorr函数做超前滞后相关的显著性检验您是怎么做的呢?
[r,lags ...

楼主是不是把物理含义写反了?
应该是右边的表示X超前Y
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-31 10:04:01 | 显示全部楼层
夜未央 发表于 2021-12-29 21:07
楼主是不是把物理含义写反了?
应该是右边的表示X超前Y

leadlagcorr函数里面作者把注释写反了,前面帖子的回复中很多人提到了这个,我这个注释应该是对的。上面一张图是用MATLAB自带的xcorr函数做的,用的数据是一样的,如果MATLAB自带函数没有问题,我的注释应该也是对的。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-3-9 09:15:50 | 显示全部楼层
感谢分享!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2022-8-23 18:28:17 | 显示全部楼层
谢谢分享,就一个公式,不知道准不准确
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表