爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9017|回复: 2

[程序设计] 关于时间序列对含nan变量场做线性回归的问题

[复制链接]

新浪微博达人勋

发表于 2021-8-9 20:46:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 welswww 于 2021-8-9 20:50 编辑

大家好,第一次发帖,请多关照!

我的问题描述:
我想利用一个变量场(维度为time×空间,空间=llon×llat,llon和llat分别为经纬度的长度,含nan)对某一时间序列指数进行线性回归。
这是个二维矩阵,这个矩阵的nan值分布不是固定的,比如slp,不像sst是陆地永远没有值而海洋有值,slp在某个空间点可能这个时刻有值,下个时刻又为nan。也就是说不管哪个空间点的时间序列,总是会有nan值。

我参考了Aires大神的程序:【新提醒】分享做回归分析的程序——单序列对含NaN的空间场做回归-编程作图-气象家园_气象人自己的家园 (06climate.com),向上面说的,前辈是针对陆地为nan进行编写的,但我想回归的对象不符合这个条件。

然后我查看了matlab里自带的回归函数regress,从第65行开始:
% Remove missing values, if any
wasnan = (isnan(y) | any(isnan(X),2));
havenans = any(wasnan);
if havenans
   y(wasnan) = [];
   X(wasnan,:) = [];
   n = length(y);
end

程序对缺省值设为空再进行回归,所以含有nan值似乎是可行的,但是可能会造成该空间点的可信度/精度不高。

所以我想我能不能取出变量场不全为nan的点的时间序列进行线性回归,算出每个点的系数,再得出回归的场值?这样的方法是可靠的吗?或许有其他的方法?

才疏学浅,希望有前辈慷慨解囊,谢谢!

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

新浪微博达人勋

发表于 2021-8-10 11:20:32 | 显示全部楼层
regress就是可以的 你想找出不全是nan的进行回归 regress就符合你的要求 因为如果全是nan 那么返回的系数将是nan
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-8-10 20:19:23 | 显示全部楼层
wjy_ecnu 发表于 2021-8-10 11:20
regress就是可以的 你想找出不全是nan的进行回归 regress就符合你的要求 因为如果全是nan 那么返回的系数将 ...

感谢回复!还想请教一两个问题:

1、将含nan值的因变量(场值)引入regress中会对回归的效果造成影响吗?因为数据在前期(很长的时间序列)某些点的缺测值实在很多

2、我的时间序列指数是标准化的,我的变量场(因变量)是异常场,那我的变量场也需要处理成标准场吗?要求出回归场,我的理解是每个格点的系数乘以时间序列指数,得出的回归场是三维的(lon,lat,time),那么(lon,lat,1,)指的就是第一模态对应的回归场,是这样的吗?

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

使用道具 举报

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

本版积分规则

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

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

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