使用PyTorch计算中位数/中值

本文介绍了统计学中的三个基本概念:中位数、众数和平均数。详细解释了它们的定义、计算方法及应用场景,并通过PyTorch库演示了中位数的不同计算方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、中位数(【统计学】专有名词)

        中位数(Median)又称中值,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数

        其他类似的概念:众数和平均数。

        众数:众数(Mode)是指在统计分布上具有明显集中趋势点的数值,代表数据的一般水平。 也是一组数据中出现次数最多的数值,有时众数在一组数中有好几个。用M表示。一般来说,一组数据中,出现次数最多的数就叫这组数据的众数。例如:1,2,3,3,4的众数是3。但是,如果有两个或两个以上个数出现次数都是最多的,那么这几个数都是这组数据的众数。例如:1,2,2,3,3,4的众数是2和3。还有,如果所有数据出现的次数都一样,那么这组数据没有众数。例如:1,2,3,4,5没有众数。

        平均数:平均数,统计学术语,是表示一组数据集中趋势的量数,是指在一组数据中所有数据之和再除以这组数据的个数。它是反映数据集中趋势的一项指标。解答平均数应用题的关键在于确定“总数量”以及和总数量对应的总份数。平均数又称均值。计算公式:(a1+a2+...+an)/n。

二、中位数、众数、平均数的直观区别

三、第一种计算方式

        利用torch.median()方法计算,代码

import torch

a = torch.tensor([10, 10, 40, 20, 70, 40, 20, 50, 50, 70], dtype=torch.float)
b = torch.tensor([10, 20, 30, 40, 50, 60], dtype=torch.float)
c = torch.tensor([10, 20, 30, 40, 50], dtype=torch.float)

print(a.sort().values, a.median().item())
print(b.sort().values, b.median().item())
print(c.sort().values, c.median().item())

        输出

tensor([10., 10., 20., 20., 40., 40., 50., 50., 70., 70.]) 40.0
tensor([10., 20., 30., 40., 50., 60.]) 30.0
tensor([10., 20., 30., 40., 50.]) 30.0

        在观察值为偶数的情况下,将返回两个中位数中的较低值。

四、第二种计算方式

        利用torch.quantile()方法计算,代码

import torch

a = torch.tensor([10, 10, 40, 20, 70, 40, 20, 50, 50, 70], dtype=torch.float)
b = torch.tensor([10, 20, 30, 40, 50, 60], dtype=torch.float)
c = torch.tensor([10, 20, 30, 40, 50], dtype=torch.float)

print(a.sort().values, a.quantile(q=0.5).item())
print(b.sort().values, b.quantile(q=0.5).item())
print(c.sort().values, c.quantile(q=0.5).item())

        输出

tensor([10., 10., 20., 20., 40., 40., 50., 50., 70., 70.]) 40.0
tensor([10., 20., 30., 40., 50., 60.]) 35.0
tensor([10., 20., 30., 40., 50.]) 30.0

        在观察值为偶数的情况下,将返回两个中位数中的平均值。

五、参考

        中位数_百度百科

        torch.median

        torch.quantile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞机火车巴雷特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值