爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11403|回复: 4

[源程序] periodogram加显著性检验

[复制链接]

新浪微博达人勋

发表于 2020-2-6 21:48:15 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
MATLAB的函数periodogram可以算出傅里叶功率谱,但是这个函数本身没法画显著性检验的线。看了下Wilks那本统计书,只要加一行命令就能标出显著性了。代码如下:

clc,clear,close all;fclose all;
%%  读入数据
fid=fopen('haikou2010.dat');
data=fread(fid,'single');fclose(fid);
%%  计算傅里叶谱及显著性
data=zscore(data);                                  % % 我都是用的标准化变量,请标准化
[Pxx,f]=periodogram(data,[],[],1,'power');          % % 频率请根据数据做修改
alpha=autocorr(data);alpha=alpha(2);                % % 滞后1时刻自相关,alpha=0则为白噪音
rednoise95=5.991*(1-alpha^2)./(length(data)*(1+alpha^2-2*alpha*cos(2*pi*f)));
                        % % 显著性检验就这一行代码
                        % % 注意如果上面的频率不是1,最后的cos(2*pi*f)要做相应修改
                        % % 卡方右尾分位数 95%对应着5.991,可以换成4.605(90%)或者9.210(99%)
%%  画图
figure,hold on;box on;
plot(1./f,Pxx,'-k','linewidth',2);
plot(1./f,rednoise95,'--r','linewidth',1.5);
set(gca,'xscale','log','xtick',[1 2 10 20 100],'xdir','reverse',...
    'fontsize',16,'ytick',0:0.1:0.4);
xlabel('Period (day)','fontweight','bold');
ylabel('Power','fontweight','bold');
title('Power Spectrum','fontweight','bold');
axis([1 100 0 0.4])

乔老师教的我们气候统计,就找了她的一篇文章作为验证(Qiao Y, Zhang C, Jian M. Role of the 10–20-day oscillation in sustained rainstorms over Hainan, China in October 2010[J]. Advances in Atmospheric Sciences, 2015, 32(3): 363-374.)。对比结果如下
Qiao2015AAS.png

另外,Aires前辈早就写过一个帖子讲功率谱(http://bbs.06climate.com/forum.php?mod=viewthread&tid=14978)。我也对比过了,结果很接近。

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-2-21 16:30:23 | 显示全部楼层
学习了!!数据标准化,怎么样才算标准化呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-2-21 16:56:06 | 显示全部楼层
bbs 发表于 2020-2-21 16:30
学习了!!数据标准化,怎么样才算标准化呢?

zscore就是标准化了啊。减去均值,除以标准差。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-2-26 07:43:38 | 显示全部楼层
多谢多谢!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2022-8-28 21:35:03 | 显示全部楼层
您好,请问这个fs=1怎么理解呢,查资料看说是采样频率,对于咱们气象方面的,如果是日数据,这个fs是=1吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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