在本文中,我們將學習如何實作 Python 程式來計算資料集的標準差。
考慮在任意座標軸上繪製的一組值。這些值集的標準差稱為總體,定義為它們之間的變化。如果標準差較低,則繪製的值會接近平均值。但如果標準差較高,數值就會離平均值更遠。
它由資料集變異數的平方根表示。標準差有兩種 -
人口標準差是從人口的每個資料值計算得出的。因此,它是一個固定的值。數學公式定義如下 -
$$\mathrm{SD\:=\:\sqrt{\frac{\sum(X_i\:-\:X_m)^2}{n}}}$$
Where,
(在哪裡)Xm 是資料集的平均值。
Xi 是資料集的元素。
n是資料集中的元素數量。
然而,樣本標準差是僅針對人口的某些資料值計算的統計量,因此其值取決於所選的樣本。數學公式定義如下 −
$$\mathrm{SD\:=\:\sqrt{\frac{\sum(X_i\:-\:X_m)^2}{n\:-\:1}}}$$
Xm
Xi
n
輸入輸出場景
現在讓我們來看看不同資料集的一些輸入輸出場景 -
假設資料集只包含正整數 -
Input: [2, 3, 4, 1, 2, 5] Result: Population Standard Deviation: 1.3437096247164249 Sample Standard Deviation: 0.8975274678557505
假設資料集只包含負整數 -
Input: [-2, -3, -4, -1, -2, -5] Result: Population Standard Deviation: 1.3437096247164249 Sample Standard Deviation: 0.8975274678557505
Input: [-2, -3, -4, 1, 2, 5] Result: Population Standard Deviation: 3.131382371342656 Sample Standard Deviation: 2.967415635794143
使用數學公式
範例 在下面的範例中,我們匯入math 函式庫並透過應用
sqrt()import math #declare the dataset list dataset = [2, 3, 4, 1, 2, 5] #find the mean of dataset sm=0 for i in range(len(dataset)): sm+=dataset[i] mean = sm/len(dataset) #calculating population standard deviation of the dataset deviation_sum = 0 for i in range(len(dataset)): deviation_sum+=(dataset[i]- mean)**2 psd = math.sqrt((deviation_sum)/len(dataset)) #calculating sample standard deviation of the dataset ssd = math.sqrt((deviation_sum)/len(dataset) - 1) #display output print("Population standard deviation of the dataset is", psd) print("Sample standard deviation of the dataset is", ssd)
輸出
Population Standard Deviation of the dataset is 1.3437096247164249 Sample standard deviation of the dataset is 0.8975274678557505在numpy模組中使用
函數#在這個方法中,我們導入numpy 模組,並且只使用numpy.std() 函數計算一個
numpy範例
import numpy as np #declare the dataset list dataset = np.array([2, 3, 4, 1, 2, 5]) #calculating standard deviation of the dataset sd = np.std(dataset) #display output print("Population standard deviation of the dataset is", sd)
輸出
Population Standard Deviation of the dataset is 1.3437096247164249在統計模組中使用 stdev() 和
函數 Python 中的統計模組提供了名為 stdev() 和 pstdev() 的函數來計算樣本資料集的標準差。 Python 中的 stdev() 函數只計算樣本標準差,而
pstdev()函數計算總體標準差。
範例 1:使用 stdev() 函數 示範使用
stdev()import statistics as st #declare the dataset list dataset = [2, 3, 4, 1, 2, 5] #calculating standard deviation of the dataset sd = st.stdev(dataset) #display output print("Standard Deviation of the dataset is", sd)
輸出
Standard Deviation of the dataset is 1.4719601443879744
範例2:使用pstdev()函數 示範如何使用
pstdev()import statistics as st #declare the dataset list dataset = [2, 3, 4, 1, 2, 5] #calculating standard deviation of the dataset sd = st.pstdev(dataset) #display output print("Standard Deviation of the dataset is", sd)
輸出
作為輸出所獲得的資料集的樣本標準差如下 -###Standard Deviation of the dataset is 1.3437096247164249###
以上是Python程式計算標準差的詳細內容。更多資訊請關注PHP中文網其他相關文章!