千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > stats.norm.pdf詳解

stats.norm.pdf詳解

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-24 17:23:44 1700817824

一、stats.norm.pdf(a)


import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt

# 設(shè)定均值和標準差
mu = 0
sigma = 1

# 生成從-5到5的等差數(shù)列作為x軸值
x = np.linspace(-5, 5, num=1000)

# 接收x軸和均值、標準差,輸出y軸值
y = norm.pdf(x, mu, sigma)

# 繪制概率密度函數(shù)曲線
plt.plot(x, y)

# 添加x軸和y軸描述
plt.xlabel('x')
plt.ylabel('pdf(x)')

# 添加標題
plt.title('Normal PDF')

# 顯示圖像
plt.show()

stats.norm.pdf(a)是scipy庫中給定一組參數(shù)的情況下,計算正態(tài)分布函數(shù)的概率密度函數(shù)的函數(shù)。其中,a表示x軸的取值范圍,也可以通過numpy生成等差數(shù)列來實現(xiàn)。

在以上代碼中,我們設(shè)定均值為0、標準差為1,將x軸的取值范圍設(shè)定在-5到5之間,生成num個等差數(shù)列作為x軸的取值。同時,將x軸的取值、均值、標準差作為參數(shù)傳入stats.norm.pdf函數(shù)中,得到模擬數(shù)據(jù)的y軸值,繪制出正常分布概率密度函數(shù)的曲線。通過plt.show()方法,將圖像顯示出來。

二、stats.norm.pdf python


import numpy as np
from scipy.stats import norm

# 設(shè)定均值和標準差
mu = 0
sigma = 1

# 生成從-5到5的等差數(shù)列作為x軸值
x = np.linspace(-5, 5, num=1000)

# 接收x軸和均值、標準差,輸出y軸值
y = norm.pdf(x, mu, sigma)

# 將x軸和y軸的值打印出來
print("x軸的取值:\n", x)
print("y軸的取值:\n", y)

stats.norm.pdf也可以用來計算某個數(shù)值點上正態(tài)分布的概率密度函數(shù)值。通過將此方法應用于給定的x軸點,我們可以計算出每個點的y值,從而得到正態(tài)分布概率密度函數(shù)的曲線。

以上代碼中,我們同樣設(shè)定均值為0、標準差為1,再生成等差數(shù)列作為x軸的取值范圍。將x軸每個點的取值、均值、標準差作為參數(shù),得到模擬數(shù)據(jù)的y軸值。同時,我們使用print()函數(shù)將模擬數(shù)據(jù)打印出來。

三、stats.norm.pdf的參數(shù)選取

在stats.norm.pdf中,除了x軸的取值范圍、均值、標準差之外,還有許多其他參數(shù)可以選擇。下面列舉常見的參數(shù):

1. loc:均值參數(shù),即正態(tài)分布的中心

2. scale:標準差參數(shù)

3. size:隨機變量數(shù)量,可以用于模擬樣本分布

4. random_state:確定隨機數(shù)生成器的種子

以下是一個綜合使用以上參數(shù)的示例代碼:


import numpy as np
from scipy.stats import norm

# 設(shè)定均值和標準差
mu = 0
sigma = 1

# 生成100個符合正態(tài)分布的隨機數(shù)
samples = norm.rvs(loc=mu, scale=sigma, size=100, random_state=42)

# 計算概率密度函數(shù)曲線
x = np.linspace(-5, 5, num=1000)
pdf = norm.pdf(x)

# 繪制概率密度函數(shù)曲線和樣本分布圖
import seaborn as sns
sns.distplot(samples, bins=10, kde=False, norm_hist=True)
plt.plot(x, pdf)

# 添加x軸和y軸描述
plt.xlabel('x')
plt.ylabel('pdf(x)')

# 添加標題
plt.title('Normal PDF and Samples')

# 顯示圖像
plt.show()

以上代碼中,首先使用norm.rvs()方法生成100個符合標準正態(tài)分布的隨機數(shù),并將均值、標準差、隨機數(shù)數(shù)量、隨機數(shù)種子作為參數(shù)傳入方法中。然后,使用np.linspace()方法生成x軸的等差數(shù)列,將這些數(shù)傳入stats.norm.pdf()方法中,得到模擬數(shù)據(jù)的y軸值。

接下來,我們使用seaborn庫的distplot()方法來繪制樣本的實際分布情況,同時使用plot()方法將正態(tài)分布概率密度函數(shù)的曲線繪制在上面。注意,在繪制樣本分布圖時,我們將kde參數(shù)設(shè)為False,norm_hist參數(shù)設(shè)為True,這是為了將樣本分布顯示為直方圖,并將概率密度標準化為1。

最后,添加軸標簽和標題,使用plt.show()方法顯示圖像。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT