機器學習,統計項目聯系QQ:231469242
正態分布也稱常態分布或常態分配,是連續隨機變量概率分布的一種,是在數理統計的理論與實際應用中占有重要地位的一種理論分布。自然界人類社會,心理與教育中大量現象均按正態形式分布。例如能力的高低,學生成績的好壞,人們的社會態度,行為表現以及身高、體重等身體狀態。
(高斯Carl Friedrich Gauss)
正態分布是由阿伯拉罕·德莫弗爾(Abraham de Moivre)1733年發現的。其他幾位學者如拉普拉斯(Marquis de Laplace)、高斯 (Carl Friedrich Gauss)對正態分布的研究也做出了貢獻,故有時稱正態分布為高斯分布。
正態分布的函數(又稱密度函數)為
標准正態分布這兩個參數分別為0與1。
標准正態分布的密度函數可寫作:
(正態分布三個標准差的概率分布)
所有正太分布都可以轉化成標准正態分布。
期望值μ決定了其位置,其標准差σ決定了分布的幅度。
正態分布具有很大醫學意義。正態分布的應用某些醫學現象,如同質群體的身高、紅細胞數、血紅蛋白量、膽固醇等,以及實驗中的隨機誤差,呈現為正態或近似正態分布。
我們提出一個常見的身高概率問題:假設男性平均身高175,標准差6;女性平均身高168, 標准差3;隨機抽取一個女性和男性,女性高於男性隨機概率是多少?
我們不需要通過復雜公式來計算。只需讓計算機產生足夠多的隨機值來模擬計算,最后得到答案。
下面我們用Python的蒙特卡洛建模正態分布函數,解決這個男女身高概率問題。
(matplotlib繪制兩個正態分布,紅色表示女性,藍色表示男性)
程序模擬10萬個隨機值,最后算出結果0.14727
即女性高於男性隨機概率為0.14727
測試環境Anaconda Python2.7
源代碼已經本人測試無問題
# -*- coding: utf-8 -*-
‘’’
By Toby ,Blog:
http://www.cnblogs.com/webRobot/
’’’
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
import seaborn as sns
import math,pylab,matplotlib,numpy
from matplotlib.font_manager import FontProperties
#設置中文字體
font=FontProperties(fname=r"c:\windows\fonts\simsun.ttc",size=15)
#測試n次
n=100000
#標准正太分布
normalDistribution=stats.norm(175,6)
#方差較大正態分布
normalDistribution1=stats.norm(168,3)
#一次隨機
def Random_single():
array_male=normalDistribution.rvs(1)
array_female=normalDistribution1.rvs(1)
male=array_male[0]
female=array_female[0]
if female>male:
return True
else:
return False
#n次隨機,返回count(女性高於男性的次數)
def Multiple_random(n):
count=0
for i in range(n):
value=Random_single()
if value==True:
count+=1
return count
# 計算女性高於男性概率
def Probability(n):
count=Multiple_random(n)
p=count*1.0/n
return p
probability=Probability(n)
print '隨機次數',n
print '女性高於男性概率:',probability
#繪圖
x=np.arange(60,220)
y=normalDistribution.pdf(x)
y1=normalDistribution1.pdf(x)
plt.plot(x,y,label="male")
plt.plot(x,y1,'r',label="female")
plt.xlabel("x")
plt.ylabel("probability density")
#plt.title("Normal distribution:mean=%.1f,standard deviation=%.1f"%(mean,std))
plt.title("Normal distribution")
plt.legend()
plt.show()
python金融風控評分卡模型和數據分析微專業課(博主親自錄制視頻):http://dwz.date/b9vv