本文简要介绍 python 语言中 scipy.stats.mstats.sen_seasonal_slopes
的用法。
用法:
scipy.stats.mstats.sen_seasonal_slopes(x)#
计算季节性 Theil-Sen 和 Kendall 斜率估计器。
Sen 斜率的季节性概括计算 2D 数组的 “season”(列)内所有值对之间的斜率。它返回一个数组,其中包含每个季节的 “within-season” 斜率中位数(每个季节的 Theil-Sen 斜率估计器),并返回所有季节的 within-season 斜率中位数(季节性 Kendall 斜率估计器)。
- x: 类似二维数组
每一列x包含一个季节内因变量的测量值。每个季节的自变量(通常是时间)假设为
np.arange(x.shape[0])
.
- result:
SenSeasonalSlopesResult
实例 返回值是一个具有以下属性的对象:
- intra_slope ndarray
对于每个季节,Theil-Sen 坡度估计器:within-season 坡度的中值。
- inter_slope 浮点数
季节性肯德尔斜率估计器:所有季节within-season 斜率的中位数。
- result:
参数 ::
返回 ::
注意:
季节内的坡度 为:
对于 的不同整数索引对 。
元素
归来的intra_slope数组是中位数 全面的 ;这是季节的 Theil-Sen 坡度估算器 。返回的inter_slope值,更广为人知的名称是季节性肯德尔斜率估计器,是 全面的 .参考:
[1]罗伯特·M·赫希、詹姆斯·R·斯莱克和理查德·A·史密斯。 “月度水质数据趋势分析技术。”水资源研究18.1(1982):107-121。
例子:
假设我们对四个季节中的每个季节的因变量有 100 个观测值:
>>> import numpy as np >>> rng = np.random.default_rng() >>> x = rng.random(size=(100, 4))
我们计算季节性斜率:
>>> from scipy import stats >>> intra_slope, inter_slope = stats.mstats.sen_seasonal_slopes(x)
如果我们定义一个函数来计算一个季节内观测值之间的所有斜率:
>>> def dijk(yi): ... n = len(yi) ... x = np.arange(n) ... dy = yi - yi[:, np.newaxis] ... dx = x - x[:, np.newaxis] ... # we only want unique pairs of distinct indices ... mask = np.triu(np.ones((n, n), dtype=bool), k=1) ... return dy[mask]/dx[mask]
那么
intra_slope
的元素i
是dijk[x[:, i]]
的中位数:>>> i = 2 >>> np.allclose(np.median(dijk(x[:, i])), intra_slope[i]) True
inter_slope
是dijk
返回的所有季节值的中位数:>>> all_slopes = np.concatenate([dijk(x[:, i]) for i in range(x.shape[1])]) >>> np.allclose(np.median(all_slopes), inter_slope) True
由于数据是随机生成的,我们预计所有季节内和跨季节的中位斜率几乎为零,事实上它们是:
>>> intra_slope.data array([ 0.00124504, -0.00277761, -0.00221245, -0.00036338]) >>> inter_slope -0.0010511779872922058
相关用法
- Python SciPy mstats.sem用法及代码示例
- Python SciPy mstats.trim用法及代码示例
- Python SciPy mstats.winsorize用法及代码示例
- Python SciPy mstats.argstoarray用法及代码示例
- Python SciPy mstats.trima用法及代码示例
- Python SciPy mstats.tmin用法及代码示例
- Python SciPy mstats.tmax用法及代码示例
- Python SciPy mstats.kruskalwallis用法及代码示例
- Python SciPy mstats.zscore用法及代码示例
- Python SciPy mstats.zmap用法及代码示例
- Python SciPy mstats.mode用法及代码示例
- Python SciPy mstats.hmean用法及代码示例
- Python SciPy mstats.variation用法及代码示例
- Python SciPy mstats.compare_medians_ms用法及代码示例
- Python SciPy mstats.gmean用法及代码示例
- Python SciPy mstats.pearsonr用法及代码示例
- Python SciPy mstats.kruskal用法及代码示例
- Python SciPy mstats.tmean用法及代码示例
- Python SciPy mstats.mquantiles用法及代码示例
- Python SciPy mstats.count_tied_groups用法及代码示例
- Python SciPy mstats.chisquare用法及代码示例
- Python SciPy mstats.describe用法及代码示例
- Python SciPy mstats.find_repeats用法及代码示例
- Python SciPy matlab.loadmat用法及代码示例
- Python SciPy misc.ascent用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.mstats.sen_seasonal_slopes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。