使用 NumPy 计算绝对偏差和绝对平均偏差

pythonserver side programmingprogramming更新于 2023/11/11 21:00:00

在统计分析中,样本数据变异性研究表明给定数据样本中的值分散程度。我们计算变异性的两种重要方法是绝对偏差平均绝对偏差

绝对偏差

在此方法中,我们首先找到给定样本的平均值,然后计算每个值与样本平均值之间的差异,称为每个数据样本的绝对偏差值。因此,对于高于平均值的值,偏差值为正,对于低于平均值的值,偏差值为负。接下来,我们使用absolute函数取绝对值,使每个偏差为正。将所有这些绝对偏差相加可得到正结果。如果没有绝对值,这些偏差的总和将为零。

在下面的例子中,我们取一个数据样本并计算每个数据元素的绝对偏差。

示例

from numpy import mean, absolute
   data = [12, 42, 53, 13, 112]
# 查找样本的平均值
M = mean(data)
print "Sample Mean Value = ",mean(data)
print "\n"
# 计算绝对偏差
print "Data-Mean","","deviation"
for i in range(len(data)):
   dev = absolute(data[i] - M)
   print data[i],"-",M,round((dev),2)

输出

运行上述代码得到以下结果 −

Sample Mean Value = 46.4
Data-Mean deviation
12 - 46.4 34.4
42 - 46.4 4.4
53 - 46.4 6.6
13 - 46.4 33.4
112 - 46.4 65.6

平均绝对偏差 (MAD)

平均绝对偏差 (MAD) 是我们为每个数据点计算的所有绝对偏差的平均值。取与上例相同的样本,我们添加代码来将绝对偏差的值相加,然后除以样本大小。

示例

from numpy import mean, absolute
data = [12, 42, 53, 13, 112]
# 查找样本的平均值
M = mean(data)
print "Sample Mean Value = ",mean(data)
sum = 0
# 计算平均绝对偏差
for i in range(len(data)):
   dev = absolute(data[i] - M)
   sum = sum + round(dev,2)
print "Mean Absolute Deviation: ", sum/len(data)

输出

运行上述代码得到以下结果 −

Sample Mean Value = 46.4
Mean Absolute Deviation: 28.88

相关文章