使用Python NumPy的绝对偏差和绝对平均偏差

  • Post category:Python

当我们对一组数据进行分析时,通常需要了解数据的分布情况以及离散程度。其中离散程度可以通过绝对偏差和绝对平均偏差这两个指标来衡量。本文将详细讲解使用Python NumPy来计算绝对偏差和绝对平均偏差的方法。

  1. 绝对偏差

绝对偏差是样本中每个数据与样本均值之差的绝对值之和的平均值。计算公式如下:

$MAD = \frac{1}{n}\sum_{i=1}^{n}|x_i − \bar{x}|$

其中,$x_i$ 代表样本中的每个数据,$\bar{x}$ 代表样本均值,$n$ 代表样本大小。

现在,我们使用 Python NumPy 来进行计算。我们可以使用 numpy.abs() 函数来计算每个数据与样本均值之差的绝对值,再用 numpy.mean() 函数来计算绝对偏差。下面是一个示例代码:

import numpy as np

# 构造一个示例数据
data = np.array([1, 2, 3, 4, 5])

# 计算样本均值
mean = np.mean(data)

# 计算绝对偏差
mad = np.mean(np.abs(data - mean))

print("绝对偏差:", mad)

输出结果为:

绝对偏差: 1.2

上述示例中,我们构造了一个示例数据,然后计算出样本均值,并使用 numpy.abs() 函数计算了每个数值与样本均值之差的绝对值,最后使用 numpy.mean() 函数计算了绝对偏差。

  1. 绝对平均偏差

绝对平均偏差是样本中每个数据与样本均值之差的绝对值之和除以样本大小。计算公式如下:

$MADR = \frac{1}{n}\sum_{i=1}^{n}|x_i − \bar{x}|$

其中,$x_i$ 代表样本中的每个数据,$\bar{x}$ 代表样本均值,$n$ 代表样本大小。

现在,让我们使用 NumPy 来计算绝对平均偏差。与计算绝对偏差类似,我们需要先计算每个数据与样本均值之差的绝对值,并使用 numpy.mean() 函数计算绝对平均偏差。下面是一个示例代码:

import numpy as np

# 构造一个示例数据
data = np.array([1, 2, 3, 4, 5])

# 计算样本均值
mean = np.mean(data)

# 计算绝对平均偏差
madr = np.mean(np.abs(data - mean))

print("绝对平均偏差:", madr)

输出结果为:

绝对平均偏差: 1.2

上述示例中,我们构造了一个示例数据,并计算了样本均值,然后使用 numpy.abs() 函数计算了每个数值与样本均值之差的绝对值,最后使用 numpy.mean() 函数计算了绝对平均偏差。

绝对偏差和绝对平均偏差都是衡量数据离散程度的指标。相比于方差和标准差,绝对偏差和绝对平均偏差更偏向于描述数据的绝对离散程度,更具有稳健性,能更好地应对数据中存在异常值的情况。