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

在 Python 中计算原始矩

如何解决在 Python 中计算原始矩

我想计算数据点列表的前 4 个原始矩,例如 my_list = [34.0,35.0,39.0,43.0,46.5,48.5,50.0,51.5,52.5]

我知道 scipy.stats.moment 但它似乎只计算中心矩:

scipy.stats.moment(a,moment=1,axis=0,nan_policy='propagate')

计算样本均值的第 n 阶矩。

矩是一组点形状的特定定量度量。由于与偏度和峰度的关系密切,所以常用于计算偏度和峰度系数。

我还注意到有 scipy.stats 函数用于偏度或方差:

from scipy.stats import variation,skew
my_list = [34.0,52.5]

print(np.var(my_list))
print(variation(my_list))

print(skew(my_list))

>>> 44.0246913580247
>>> 0.14928998626833617
>>> -0.39001327934054053

但是正如您所看到的,numpyscipy 返回的结果非常不同。

这些方法之间有什么区别?找到前 4 个原始矩(均值、方差、偏度、峰度)的最有效方法是什么?

解决方法

使用scipy.stats.describe()

>>> x = [34.0,35.0,39.0,43.0,46.5,48.5,50.0,51.5,52.5]
>>> moments = scipy.stats.describe(x)
>>> moments.mean
44.44444444444444
>>> moments.variance
49.527777777777786
>>> moments.skewness
-0.39001327934054053
>>> moments.kurtosis
-1.3564638918570706

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