爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 31655|回复: 39

[程序设计] 全程原创,献上自己码的奇异谱分析预报m程序

[复制链接]

新浪微博达人勋

发表于 2016-2-1 16:55:33 | 显示全部楼层 |阅读模式

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

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

x
       刚参加工作就遇上年降水量这种中长期预报的问题。以前转模式的,没接触过多少气象统计,matlab刚上手一个多月,所以想趁着机会一方面解决问题,一方面熟练matlab。经过几天恶补和奋战,总算完成程序,全程原创。       虽然还没彻底看懂,不过我还是讲下目前对奇异谱分析的认识吧。这种方法可以从未知内在物理机制的时间序列中提取你所需要的信息,并利用这些信息建立预报模型。该方法的主要手段还是EOF,不过由于是标准化的一维时间变量,故对时间维进行EOF分解,得到特征向量和特征值,取出前几个贡献较大的特征值及其向量,根据最终预报误差最小化原则,利用自回归模型建立对时间权重系数(也即时间主成分T-PC)a^k的p阶预报方程,最后将时间主成分和特征向量结合,重建原序列,并作出预报。
       上图:
1.jpg
2.jpg
3.jpg

       画图刚入门,效果当然是不入大神们法眼了,就不好意思毒害下大家眼睛。图1是对滞后排列的时间序列的协方差阵做EOF后,所有特征值由大到小排列情况,并给出了前若干个特征值的累积方差贡献。图2是重建+预报序列和原序列的对比,红线前的蓝点是重建值,之后的是预报值。图3是预报值实况的拟合。实事求是的讲,效果不怎么好,也不稳定,预报序列的振幅远小于实况,相关系数还行,但slope仅有零点零几,且调整参数后结果可能会有较大差异。首要原因可能是,文献中重建序列的公式不全,未涉及对预报序列的处理,在此我臆测推导了下公式,暂时使用了;另外各项参数也还有可调试的空间;最后,有可能这种方法预报效果本来就不佳,who knows……有待进一步调试。

       压缩包中包括主要的参考文献(还有纸质版吴洪宝老师的《气候变率和预测方法》)、主程序SSA、子函数AR和tendency以及测试数据NEWTRTR。只要保证你的数据格式和测试数据类似,再修改下路径,应该可以正常运行。其中,处理的数据总长度N,滞后长度M,所选特征向量(值)数目K以及向后预报长度Fstep都是可调的,程序中也有相应说明。
       传个压缩包吧,不用重复花钱,本人不缺钱,就稍微讨点贡献,土豪们都是挥金如土的,哪里在乎这点小贡献,对吧?
       再没几天就过年了,最后祝各位坛友新年快乐,步步高升如大圣腾云驾雾,棒扫学习工作中的所有魔障!也祝论坛人气红火,越办越好!
         假期出门玩,可能不会及时回复大家,见谅。
2.jpg

SSA-AR.zip

1.86 MB, 下载次数: 55, 下载积分: 金钱 -5

售价: 2 贡献  [记录]

评分

参与人数 2金钱 +17 贡献 +5 收起 理由
Graking + 2 很给力!
mofangbao + 15 + 5

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2016-2-1 17:05:37 | 显示全部楼层
最后一张图作废,明明编辑的时候已经删掉了,为啥发帖的时候却还在呢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-1 20:14:40 | 显示全部楼层
兹辞一下,闷声发大财
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-2 09:23:12 | 显示全部楼层
顺便点赞,顺便给各位拜早年:D:D
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-10 21:22:53 | 显示全部楼层
哇~~~~matlab不会啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-2 20:14:32 | 显示全部楼层
没有贡献值怎么办?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-2 20:14:43 | 显示全部楼层
没有贡献值怎么办?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-3 11:13:10 | 显示全部楼层
pltt24 发表于 2016-4-2 20:14
没有贡献值怎么办?

多逛论坛多发帖子多学习,总会有的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-3 11:13:13 | 显示全部楼层
pltt24 发表于 2016-4-2 20:14
没有贡献值怎么办?

多逛论坛多发帖子多学习,总会有的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-3 11:38:42 | 显示全部楼层
{:5_213:}{:5_213:}{:5_213:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

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

本版积分规则

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

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

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