正態分佈(高斯分佈)是重要的概率模型,具有鐘形曲線特征,由均值μ和標準差σ描述。NumPy的`random.normal()`可生成正態分佈隨機數,Seaborn庫方便繪製分佈圖。正態分佈廣泛應用於統計學、機器學習、金融和工程等領域。練習包括生成正態分佈數據、比較不同標準差影響及模擬考試成績計算平均... ...
正態分佈(高斯分佈)
簡介
正態分佈(也稱為高斯分佈)是一種非常重要的概率分佈,它描述了許多自然和人為現象的數據分佈情況。正態分佈的形狀呈鐘形,其峰值位於平均值處,兩側對稱下降。
特征
正態分佈可以用兩個參數來完全描述:
均值(μ):表示數據的平均值,分佈的峰值位於 μ 處。
標準差(σ):表示數據的離散程度,數值越大,分佈越平坦。
生成正態分佈數據
NumPy 提供了 random.normal()
函數來生成服從正態分佈的隨機數。該函數接受以下參數:
loc
:正態分佈的均值,預設為 0。
scale
:正態分佈的標準差,預設為 1。
size
:輸出數組的形狀。
示例:生成 100 個服從正態分佈的隨機數,均值為 5,標準差為 2:
import numpy as np
data = np.random.normal(loc=5, scale=2, size=100)
print(data)
可視化正態分佈
Seaborn 庫提供了便捷的函數來可視化分佈,包括正態分佈。
示例:繪製服從正態分佈的數據的分佈圖:
import seaborn as sns
import numpy as np
data = np.random.normal(size=1000)
sns.distplot(data)
plt.show()
應用
正態分佈在許多領域都有應用,例如:
統計學:用於推斷總體參數,進行假設檢驗等。
機器學習:用於數據預處理,特征工程等。
金融:用於建模股票價格、匯率等金融數據。
工程:用於控制質量、可靠性分析等。
練習
- 生成 500 個服從正態分佈的隨機數,均值為 10,標準差為 3,並繪製它們的分佈圖。
- 比較不同標準差下正態分佈形狀的變化。
- 利用正態分佈來模擬一次考試成績,並計算平均分和標準分。
解決方案
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
# 1. 生成服從正態分佈的隨機數並繪製分佈圖
data = np.random.normal(loc=10, scale=3, size=500)
sns.distplot(data)
plt.show()
# 2. 比較不同標準差下正態分佈形狀的變化
sns.distplot(np.random.normal(size=1000, scale=1), label="σ=1")
sns.distplot(np.random.normal(size=1000, scale=2), label="σ=2")
sns.distplot(np.random.normal(size=1000, scale=3), label="σ=3")
plt.legend()
plt.show()
# 3. 模擬考試成績並計算平均分和標準分
scores = np.random.normal(loc=80, scale=10, size=100)
print("平均分:", scores.mean())
print("標準分:", (scores - scores.mean()) / scores.std())
解釋:
在第一個練習中,我們生成了 500 個服從正態分佈的隨機數,均值為 10,標準差為 3,並使用 Seaborn 的 distplot()
函數繪製了它們的分佈圖。
在第二個練習中,我們生成了三個服從正態分佈的數據集,分別設置標準差為 1、2 和 3,並使用 Seaborn 的 distplot()
函數繪製了它們的分佈圖。我們可以觀察到,隨著標準差的增加,分佈變得更加平坦,兩側的尾巴更加明顯。
在第三個練習中,我們模擬了一次考試成績,假設成績服從正態分佈,均值為 80,標準差為 10。然後,我們計算了考試成績的平均分和標準分。
最後
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎點贊、收藏、關註