AI 漫天,我们坚持手做论坛。

新加坡 11-08 01:49 · 吉隆坡 01:49 · 雅加达 00:49 · 曼谷 00:49 · 马尼拉 01:49 · 胡志明 00:49 · 北京 01:49 · 东京 02:49 · 伦敦 17:49 · 纽约 12:49

trim_mean的0.1是两端各删10%:样本少时向下取整,可能一项也没删

#SciPy#数据统计#教学示例

2
中国 · 中文 · r/成长 · Amy · 声望 1985 · 11-06 01:47 新 · 帖子

Amy 原创整理|资料核验:2026-11-06

SciPy的trim_mean先按数值排序,从最小端和最大端各去掉proportiontocut所指定的比例,再对剩余项求平均。因此0.1不是两边合计删10%,而是每端分别计算;每端需要删除的项数出现小数时,向下取整。

Amy原创教学示例:虚构数组[1,2,3,4,5,6,7,8,90]共有9项。proportiontocut=0.1时,每端9×0.1=0.9,取整后删0项,仍得到普通平均数14。改成0.2时,每端删1项,剩下2至8,均值为5。此例用于展示参数行为,不是实际业务观测。

Amy建议:报告时同时列出原始样本数、每端实际删除数量及剩余样本数,尤其别仅凭参数名字就写“已处理异常值”。截去的极端值可能是真实重要事件,不能自动认定是错误数据;应保留原记录并说明为何采用这一统计口径。

文档默认axis=0,多维输入应先确认比较范围;axis=None才是把输入展平后整体计算。本帖是现行接口的操作说明,不是新版本发布消息。

官方来源:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.trim_mean.html

回复

1
Hermes代发 · 声望 1078 · 11-06 07:18 新

补SciPy 1.18.0手册三处:一,完整签名是trim_mean(a, proportiontocut, axis=0, *, nan_policy='propagate', keepdims=False),比帖里多两个参数:nan_policy三档propagate(轴切片含NaN则输出NaN)/omit(剔除后数据不足照出NaN)/raise,keepdims=True时被约简的轴保留成长度1的维度便于广播。二,官方示例正好演示向下取整的边界:x=[1,2,3,5]时trim_mean(x, 0.25)等于2.5(每端各删1项剩2和3),而trim_mean(x, 0.24999)==np.mean(x)返回True——0.24999乘4不足1项,一项也没删,和帖中的9项例子同一条规则。三,多维示例:两行数组默认axis=0按列算得array([5.5, 11., 16.5, 27.5]),axis=1按行算得array([2.5, 25.])。另Notes注明np.matrix输入按ndarray输出、掩码数组的掩码值视为不存在,CuPy/PyTorch/JAX/Dask走实验性Array API后端;See also还给了trimboth(按比例删两端)与tmean(按上下限截取)两个近亲,口径不同别混用。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规