淺學正態分布(進階歷程)

正態分布(normal distribution),normal: 常見的,典型的。正態分布即常見的分布。

正態分布能代表多種多樣的數據類型(即常見),正態分布概率密度曲線呈鐘形,有對稱美,計算概率方便(有概率表)。且在一定條件下,其他分布可以轉化為正態分布,應用廣泛。

正態分布關健在于兩個參數:均值和方差
對于正態分布曲線而言,均值表示其曲線中心軸的位置,方差代表曲線的胖瘦。因為方差代表數據的波動情況,即波動越大,數據相對于均值的取值范圍變大,即圖形會變胖。

下面對歷屆賽馬比賽冠軍所用時間數據進行分析。

1.程序代碼

#2017.03.21
#case study:stakes data

#導入必要的數據分析和做圖的模塊
#numpy 科學計算包
import numpy as np
#pandas 數據分析包
import pandas as pd
#matplotlib 繪圖包
import matplotlib .pyplot as plt
#matplotlib  數值函數 可視化腳本數據
import matplotlib.mlab as mlab

# %magic keyword 控制nootebook的特殊命令
#運行 %magic 可查看magic的各個命令

# %matplotlib命令可以將matplotlib的圖表直接嵌入到Notebook之中
# inline表示將圖表嵌入到Notebook中
% matplotlib inline 
#使畫出來的圖支持retina,retina一種顯示技術 
#可以將把更多的像素點壓縮至一塊屏幕里,從而達到更高的分辨率并提高屏幕顯示的細膩程度
% config OnlineBackend.figure_format = 'retina'

#導入stakes數據
stakes_data = pd.read_csv('stakes.csv')
#查看數據的前5行
#stakes_data.head(5)
#查看一共有多少行數據
#len(stakes_data)

#提取數據中的'time'列
time = stakes_data['time']
#計算平均值和標準差
mean_time = time.mean()
std_time = time.std()

#數據可視化
#x取值從144-155以0.01為步長
#min = 146  max = 153.2
x = np.arange(144,155,0.01)
y = mlab.normpdf(x,mean,std)
#y = normfun(x,mean,std)
plt.plot(x,y)

#設置顯示中文字體
plt.rcParams['font.sans-serif'] = ['SimHei']

plt.hist(time,bins = 13, rwidth = 0.9, normed = True)
plt.title('歷屆賽馬比賽冠軍所用時間分布')
plt.xlabel('time')
plt.ylabel('Probability')

print("平均值:"+ str(mean_time))
print("方差:"+ str(std_time))

plt.show()

2.結果

平均值:149.22101123595513
方差:1.6278164717748154

3.結果分析

歷屆賽馬比賽冠軍所用時間平均值為149.22,大部分選手奪冠的所用時間在147到151范圍內,只有少部分選手奪冠時間小于147,即對于一般賽馬選手來說,奪冠時間要小于147較難達到。還有部分選手奪冠時長超過150,最長時間為153左右。

方差為1.63,數據波動不大,有68%的選手奪冠時間在149.22-1.63 到 149.22+1.63 之間。

同時,我們可以根據計算的均值和方差對選手奪冠時間范圍進行預測:
如果參加比賽的選手可以將比賽時間控制在[146.03,153.14]范圍內(149.22-1.63×1.69~149.22+1.63×1.69),則他有95%的可能性奪冠。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容