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

如何有效地校正Xarray数据集的偏度

如何解决如何有效地校正Xarray数据集的偏度

我正在研究CDS API,我有兴趣实现最好的方法,在该方法中,我可以首先找出Xarray DataSet的特定DataArray的偏斜度。然后在同一DataArray上应用任何合适的转换(例如Box Cox)。请注意,DataArray为2D格式(经度和纬度)

问题是:

  1. scipy偏斜方法提供2D数组中每个元素的偏斜度。我了解理想情况下它应该像这样工作,但是我正在寻找的是整个2D DataArray的偏斜值。

  2. 我想应用Box Cox以及Xarray DataArray上可用的任何其他转换,但是它们似乎只接受一维数组。如何以最有效的方式对2D或更高维数组实现相同的功能

我目前正在尝试做的是这样:

import xarray as xr
import scipy.stats as stats

ds = xr.open_dataset("datasets.nc")
tp = ds['tp']

tp = stats.Boxcox(tp)

我期望的是转换后没有扭曲的数据。 是否有直接的方法,例如我要尝试的方法?如果没有,我在这里想念什么?

如果我尝试直接在数据数组'tp'上使用Boxcox,则会收到此错误(参考上面第二点):

---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-8-bbb0bad8d4d5> in <module>()
----> 1 tp_Boxcox = stats.Boxcox(tp)
      2 tp_Boxcox

/usr/local/lib/python3.6/dist-packages/scipy/stats/morestats.py in Boxcox(x,lmbda,alpha)
   1034     x = np.asarray(x)
   1035     if x.ndim != 1:
-> 1036         raise ValueError("Data must be 1-dimensional.")
   1037 
   1038     if x.size == 0:

ValueError: Data must be 1-dimensional.

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