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

  • Post category:Python

Python中一个常见的数据分析库是NumPy,它提供了计算绝对偏差和绝对平均偏差的函数。

什么是绝对偏差?

绝对偏差是表示样本数据与样本平均值之间差异的一种度量,可以用以下公式计算:

$absolute\ deviation = |x_i – \bar{x}|$

其中,$x_i$是样本中的每个数据点,$\bar{x}$是样本的平均值。绝对偏差用于衡量一个数据集的分散程度。假设有以下数据集:

[5, 7, 11, 15, 16, 20, 21, 25, 32, 40]

首先,我们需要计算出平均值:$(5+7+11+15+16+20+21+25+32+40)/10 = 19.2$。然后,我们将每个数据点与平均值之差取绝对值,求和并取平均值:

(5-19.2) + (7-19.2) + (11-19.2) + (15-19.2) + (16-19.2) + (20-19.2) + (21-19.2) + (25-19.2) + (32-19.2) + (40-19.2) = 166.4

$\frac{166.4}{10} = 16.64$

因此,这个数据集的绝对平均偏差为16.64。

如何使用Python NumPy计算绝对偏差?

我们可以使用NumPy的abs函数来计算绝对偏差。以下是使用NumPy计算绝对偏差的代码示例:

import numpy as np

data = np.array([5, 7, 11, 15, 16, 20, 21, 25, 32, 40])
mean = np.mean(data)

deviations = np.abs(data - mean)
print(deviations)

输出:

[14.2 12.2  8.2  4.2  3.2  0.8  1.8  5.8 12.8 20.8]

这个代码示例中,我们首先导入了NumPy库,并创建了一个数据集。然后,我们使用np.mean函数计算数据集的平均值。接下来,我们使用np.abs函数计算每个数据点与平均值之间的绝对偏差。

什么是绝对平均偏差?

绝对平均偏差是绝对偏差的平均值(或者说是绝对偏差的期望值),可以用以下公式计算:

$mean\ absolute\ deviation\ (MAD) = \frac{1}{n}\sum_{i=1}^n |x_i – \bar{x}|$

其中,$n$是样本中的数据点数,$x_i$是样本中的每个数据点,$\bar{x}$是样本的平均值。绝对平均偏差也用于衡量一个数据集的分散程度。与标准差不同的是,绝对平均偏差对极端值的影响较小。

如何使用Python NumPy计算绝对平均偏差?

我们可以使用NumPy的meanabs函数来计算绝对平均偏差。以下是使用NumPy计算绝对平均偏差的代码示例:

import numpy as np

data = np.array([5, 7, 11, 15, 16, 20, 21, 25, 32, 40])
mean = np.mean(data)

mad = np.mean(np.abs(data - mean))
print(mad)

输出:

13.760000000000002

这个代码示例中,我们首先导入了NumPy库,并创建了一个数据集。然后,我们使用np.mean函数计算数据集的平均值。接下来,我们使用np.abs函数计算每个数据点与平均值之间的绝对偏差,并使用np.mean函数计算绝对平均偏差的值。