python畫高斯分佈圖形
阿新 • • 發佈:2018-12-19
高斯分佈,也叫正態分佈,是一個在數學、物理及工程等領域都非常重要的概率分佈,在統計學的許多方面有著重大的影響力。
若隨機變數X服從一個數學期望為μ、方差為σ^2的正態分佈,記為N(μ,σ^2)。其概率密度函式為正態分佈的期望值μ決定了其位置,其標準差σ決定了分佈的寬度。當μ = 0,σ = 1時的正態分佈是標準正態分佈。
定義
一維正態分佈
若隨機變數 服從一個位置引數為 、尺度引數為 的概率分佈,且其概率密度函式為
則這個隨機變數就稱為正態隨機變數,正態隨機變數服從的分佈就稱為正態分佈,記作μ維隨機向量具有類似的概率規律時,稱此隨機向量遵從多維正態分佈。多元正態分佈有很好的性質,例如,多元正態分佈的邊緣分佈仍為正態分佈,它經任何線性變換得到的隨機向量仍為多維正態分佈,特別它的線性組合為一元正態分佈。
標準正態分佈
當 時,正態分佈就成為標準正態分佈:
---------以上摘自 百度百科
import numpy as np import matplotlib.pyplot as plt import math def normal_distribution(x, mean, sigma): return np.exp(-1*((x-mean)**2)/(2*(sigma**2)))/(math.sqrt(2*np.pi) * sigma) mean1, sigma1 = 0, 1 x1 = np.linspace(mean1 - 6*sigma1, mean1 + 6*sigma1, 100) mean2, sigma2 = 0, 2 x2 = np.linspace(mean2 - 6*sigma2, mean2 + 6*sigma2, 100) mean3, sigma3 = 5, 1 x3 = np.linspace(mean3 - 6*sigma3, mean3 + 6*sigma3, 100) y1 = normal_distribution(x1, mean1, sigma1) y2 = normal_distribution(x2, mean2, sigma2) y3 = normal_distribution(x3, mean3, sigma3) plt.plot(x1, y1, 'r', label='m=0,sig=1') plt.plot(x2, y2, 'g', label='m=0,sig=2') plt.plot(x3, y3, 'b', label='m=1,sig=1') plt.legend() plt.grid() plt.show()