微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

跨时间暗淡每个网格单元的线性回归

如何解决跨时间暗淡每个网格单元的线性回归

我是 xarray 和机器学习方面的新手。

所以我有 xarray 数据集如下:

<xarray.Dataset>
Dimensions:    (latitude: 721,longitude: 1440,time: 72)
Coordinates:
  * time       (time) datetime64[ns] 1950-01-01 1951-01-01 ... 2021-01-01
  * longitude  (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75
  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
Data variables:
    z          (time,latitude,longitude) float32 49654.793 49654.793 ... 49654.793

现在我想对跨时间维度的每个网格应用线性回归,然后我想从原始值中删除回归值以消除趋势。下面是一个示例网格的示例。

y = np.array(jan.z[:,700,700]) #single grid with all time
x = (np.arange(1950,len(y)+1949)).reshape(-1,1) #72 time for x axis which will remain same for all grid

reg = LinearRegression().fit(x,y)

pred = reg.predict(x)
y = (y - (pred - y))

在这只是一个网格,我有这样的 721*14000 网格,所以 for 循环不会是最优化的方法,是否有更优化的方法或一些直接的函数可以在 xarray 中这样做?我试图寻找类似的东西,但我找不到可以解决我的问题的东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。