在python中畫正態(tài)分布圖像的實例
1.正態(tài)分布簡介
正態(tài)分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一個非常重要也非常常見的連續(xù)概率分布。正態(tài)分布大家也都非常熟悉,下面做一些簡單的介紹。
假設隨機變量XX服從一個位置參數為μμ、尺度參數為σσ的正態(tài)分布,則可以記為:
而概率密度函數為
2.在python中畫正態(tài)分布直方圖
先直接上代碼
import numpy as np import matplotlib.mlab as mlab import matplotlib.pyplot as plt def demo1(): mu ,sigma = 0, 1 sampleNo = 1000 np.random.seed(0) s = np.random.normal(mu, sigma, sampleNo) plt.hist(s, bins=100, normed=True) plt.show()
上面是一個標準正態(tài)分布的直方圖。最后輸出的圖像為:
很多同學心里會有疑惑:這個圖像看上去雖然是有點奇怪,雖然形狀有點像正態(tài)分布,但是差得還比較多嘛,不能算是嚴格意義上的正態(tài)分布。
為什么會有這種情況出現呢?其實原因很簡單,代碼中我們設定的smapleno = 1000。這個數量并不是很大,所以整個圖像看起來分布并不是很規(guī)則,只是有大致的正態(tài)分布的趨勢。如果我們將這個參數加大,相當于增加樣本數量,那么整個圖像就會更加接近正態(tài)分布的形狀。跟拋硬幣的原理一致,拋的次數越多,正面與反面的出現概率更接近50%。
如果我們將sampleno設置為1000000,分布圖像如下。
下面這個圖像是不是看起來就漂亮多了!
3.畫直方圖與概率分布曲線
import numpy as np import matplotlib.mlab as mlab import matplotlib.pyplot as plt def demo2(): mu, sigma , num_bins = 0, 1, 50 x = mu + sigma * np.random.randn(1000000) # 正態(tài)分布的數據 n, bins, patches = plt.hist(x, num_bins, normed=True, facecolor = 'blue', alpha = 0.5) # 擬合曲線 y = mlab.normpdf(bins, mu, sigma) plt.plot(bins, y, 'r--') plt.xlabel('Expectation') plt.ylabel('Probability') plt.title('histogram of normal distribution: $\mu = 0$, $\sigma=1$') plt.subplots_adjust(left = 0.15) plt.show()
最后得到的圖像為:
以上這篇在python中畫正態(tài)分布圖像的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python web.py開發(fā)httpserver解決跨域問題實例解析
這篇文章主要介紹了python web.py開發(fā)httpserver解決跨域問題實例解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02python爬蟲scrapy基于CrawlSpider類的全站數據爬取示例解析
這篇文章主要介紹了python爬蟲scrapy基于CrawlSpider類的全站數據爬取示例解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02使用Python的Flask框架構建大型Web應用程序的結構示例
雖說Flask是一個以輕量級著稱的框架,但也為大型Web應用提供了諸如單元測試與數據庫遷移等許多便利的功能,這里我們來看一下使用Python的Flask框架構建大型Web應用程序的結構示例:2016-06-06