使用Python演示統計學中的68-95-99.7法則
統計學為我們提供了強大的工具來分析和理解資料。統計學中的一個基本概念是68-95-99.7法則,也稱為經驗法則或三西格瑪法則。該法則允許我們根據資料的標準差對資料的分佈做出重要的推斷。在這篇博文中,我們將探討68-95-99.7法則,並演示如何使用Python應用它。
68-95-99.7法則概述
68-95-99.7法則提供了一種方法來估計在正態分佈中,落在距均值一定標準差範圍內的資料百分比。根據該法則:
大約68%的資料落在均值的一個標準差範圍內。
大約95%的資料落在均值的兩個標準差範圍內。
大約99.7%的資料落在均值的三個標準差範圍內。
這些百分比適用於遵循正態分佈(也稱為鐘形曲線)的資料集。理解這個法則可以讓我們快速評估資料的離散程度,並識別異常值或異常觀察。
在Python中實現68-95-99.7法則
為了演示68-95-99.7法則的實際應用,我們將使用Python及其流行的資料分析庫NumPy。NumPy提供了高效的數值運算和統計函式,可以幫助我們計算所需的值。讓我們從匯入所需的庫開始:
import numpy as np import matplotlib.pyplot as plt
接下來,我們將使用numpy.random.normal()函式生成遵循正態分佈的隨機資料集。我們將使用均值為0,標準差為1:
np.random.seed(42) # Set the random seed for reproducibility data = np.random.normal(0, 1, 10000)
現在,我們可以計算資料集的均值和標準差:
mean = np.mean(data) std = np.std(data)
為了視覺化資料以及68-95-99.7法則覆蓋的區域,我們可以使用matplotlib.pyplot.hist()函式建立一個直方圖:
plt.hist(data, bins=30, density=True, alpha=0.7)
# Plot the mean and standard deviations
plt.axvline(mean, color='r', linestyle='dashed', linewidth=1, label='Mean')
plt.axvline(mean - std, color='g', linestyle='dashed', linewidth=1, label='1 STD')
plt.axvline(mean + std, color='g', linestyle='dashed', linewidth=1)
plt.axvline(mean - 2*std, color='b', linestyle='dashed', linewidth=1, label='2 STD')
plt.axvline(mean + 2*std, color='b', linestyle='dashed', linewidth=1)
plt.axvline(mean - 3*std, color='m', linestyle='dashed', linewidth=1, label='3 STD')
plt.axvline(mean + 3*std, color='m', linestyle='dashed', linewidth=1)
plt.legend()
plt.xlabel('Value')
plt.ylabel('Density')
plt.title('Histogram of the Dataset')
plt.show()
生成的直方圖將顯示資料的分佈,以及用虛線標出的均值和標準差。
為了計算每個範圍所覆蓋的百分比,我們可以使用正態分佈的累積分佈函式 (CDF)。NumPy函式numpy.random.normal()生成正態分佈的資料,但NumPy也提供了numpy.random.normal()來計算CDF:
# Calculate the percentage within one standard deviation
pct_within_1_std = np.sum(np.logical_and(data >= mean - std, data 7lt;= mean + std)) / len(data)
# Calculate the percentage within two standard deviations
pct_within_2_std = np.sum(np.logical_and(data >= mean - 2*std, data <= mean + 2*std)) / len(data)
# Calculate the percentage within three standard deviations
pct_within_3_std = np.sum(np.logical_and(data >= mean - 3*std, data <= mean + 3*std)) / len(data)
print("Percentage within one standard deviation: {:.2%}".format(pct_within_1_std))
print("Percentage within two standard deviations: {:.2%}".format(pct_within_2_std))
print("Percentage within three standard deviations: {:.2%}".format(pct_within_3_std))
執行此程式碼後,您將看到落在距均值一個、兩個和三個標準差範圍內的資料百分比。
Percentage within one standard deviation: 68.27% Percentage within two standard deviations: 95.61% Percentage within three standard deviations: 99.70%
這些結果與根據68-95-99.7法則的預期百分比非常接近。
68-95-99.7法則的解釋
每個範圍所覆蓋的百分比具有具體的解釋。落在均值一個標準差範圍內的資料相對常見,而落在三個標準差範圍之外的資料則被認為是罕見的。理解這些解釋有助於對資料做出有意義的推斷。
68-95-99.7法則的侷限性
雖然68-95-99.7法則是一個有價值的指導原則,但它可能無法準確地應用於與正態分佈偏差很大的資料集。在處理此類資料集時,務必考慮其他統計技術並進行進一步分析。
異常值和68-95-99.7法則
異常值會極大地影響每個範圍所覆蓋的百分比的準確性。這些極值會歪曲分佈並影響該法則的有效性。重要的是要適當地識別和處理異常值,以確保統計分析的準確性。
現實生活中的例子
68-95-99.7法則在各個領域都有應用。例如,它與質量控制流程中識別缺陷產品、財務分析中評估投資風險和回報、醫療保健研究中瞭解患者特徵以及許多其他需要了解資料分佈的領域相關。
隨著您對統計學的深入瞭解,請考慮探索其他補充68-95-99.7法則的概念。偏度、峰度、置信區間、假設檢驗和迴歸分析只是可以進一步增強您對資料理解和分析的統計工具的幾個例子。
結論
68-95-99.7法則是一個強大的統計學概念,它允許我們根據資料的標準差來理解資料的分佈。透過應用該法則,我們可以估計落在圍繞均值的特定範圍內的資料的比例。在本博文中,我們使用Python和NumPy庫來生成隨機資料集、對其進行視覺化以及計算每個範圍所覆蓋的百分比。理解這個法則使我們能夠對資料做出有意義的推斷,並識別潛在的異常值或異常觀察。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP