溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在python中畫正態分布圖像的實例

發布時間:2020-10-07 12:55:52 來源:腳本之家 閱讀:536 作者:bitcarmanlee 欄目:開發技術

1.正態分布簡介

正態分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一個非常重要也非常常見的連續概率分布。正態分布大家也都非常熟悉,下面做一些簡單的介紹。

假設隨機變量XX服從一個位置參數為μμ、尺度參數為σσ的正態分布,則可以記為:

在python中畫正態分布圖像的實例

而概率密度函數為

在python中畫正態分布圖像的實例

2.在python中畫正態分布直方圖

先直接上代碼

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()

上面是一個標準正態分布的直方圖。最后輸出的圖像為:

在python中畫正態分布圖像的實例

很多同學心里會有疑惑:這個圖像看上去雖然是有點奇怪,雖然形狀有點像正態分布,但是差得還比較多嘛,不能算是嚴格意義上的正態分布。

為什么會有這種情況出現呢?其實原因很簡單,代碼中我們設定的smapleno = 1000。這個數量并不是很大,所以整個圖像看起來分布并不是很規則,只是有大致的正態分布的趨勢。如果我們將這個參數加大,相當于增加樣本數量,那么整個圖像就會更加接近正態分布的形狀。跟拋硬幣的原理一致,拋的次數越多,正面與反面的出現概率更接近50%。

如果我們將sampleno設置為1000000,分布圖像如下。

在python中畫正態分布圖像的實例

下面這個圖像是不是看起來就漂亮多了!

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)
  # 正態分布的數據
  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中畫正態分布圖像的實例

以上這篇在python中畫正態分布圖像的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女