使用 NumPy 計算絕對偏差和平均絕對偏差
在統計分析中,對樣本資料變異性的研究表明給定資料樣本中的值分散程度。我們計算變異性的兩種重要方法是**絕對偏差**和**平均絕對偏差**。
絕對偏差
在這種方法中,我們首先找到給定樣本的平均值,然後計算每個值與樣本平均值之間的差值,稱為每個資料樣本的絕對偏差值。因此,對於高於平均值的數值,偏差值將為正,對於低於平均值的數值,偏差值將為負。接下來,我們使用**絕對值**函式將每個偏差都變為正數。將所有這些絕對偏差加起來會得到一個正結果。如果沒有絕對值,這些偏差的總和將為零。
在下面的示例中,我們獲取一個數據樣本並計算每個資料元素的絕對偏差。
示例
from numpy import mean, absolute data = [12, 42, 53, 13, 112] # Find mean value of the sample M = mean(data) print "Sample Mean Value = ",mean(data) print "\n" # Calculate absolute deviation 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] # Find mean value of the sample M = mean(data) print "Sample Mean Value = ",mean(data) sum = 0 # Calculate mean absolute deviation 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
廣告