關于python表示正態(tài)函數(shù)的信息

python 怎么求標準正態(tài)分布某個值

示例:

創(chuàng)新互聯(lián)建站10多年成都企業(yè)網(wǎng)站定制服務;為您提供網(wǎng)站建設,網(wǎng)站制作,網(wǎng)頁設計及高端網(wǎng)站定制服務,成都企業(yè)網(wǎng)站定制及推廣,對成都報廢汽車回收等多個領域擁有多年設計經(jīng)驗的網(wǎng)站建設公司。

1、from numpy import *;

2、def rand_Matrix():

3、randArr=random.randn(2,3);

4、randMat=mat(randArr);

5、return randMat;

一種結果如下:

1、matrix([[ 0.3150869 , -0.02041996, -0.15361071],

2、[-0.75507988,? 0.80393683, -0.31790917]])

擴展資料

Python正態(tài)分布概率計算方法:

def st_norm(u):

'''標準正態(tài)分布'''

import math

x=abs(u)/math.sqrt(2)

T=(0.0705230784,0.0422820123,0.0092705272,

0.0001520143,0.0002765672,0.0000430638)

E=1-pow((1+sum([a*pow(x,(i+1))

for i,a in enumerate(T)])),-16)

p=0.5-0.5*E if u0 else 0.5+0.5*E

return(p)

def norm(a,sigma,x):

'''一般正態(tài)分布'''

u=(x-a)/sigma

return(st_norm(u))

while 1:

'''輸入一個數(shù)時默認為標準正態(tài)分布

輸入三個數(shù)(空格隔開)時分別為期望、方差、x

輸入 stop 停止'''

S=input('please input the parameters:\n')

if S=='stop':break

try:

L=[float(s) for s in S.split()]

except:

print('Input error!')

continue

if len(L)==1:

print('f(x)=%.5f'%st_norm(L[0]))

elif len(L)==3:

print('f(x)=%.5f'%norm(L[0],L[1],L[2]))

else:

print('Input error!')

python:5種正態(tài)性檢驗方法

1.直方圖

由于正態(tài)分布具有非常典型的中間高,兩邊低的圖形特征,如果樣本數(shù)據(jù)并不服從正態(tài)分布,我們可以通過直方圖很快地分辨出來。更進一步地,Python可以輔助生成基于樣本數(shù)據(jù)估計的正態(tài)曲線,這樣就容易輔助我們進行判斷。

圖形觀察雖然直觀,但是部分研究者認為單純觀察圖形過于主觀,因此我們也可以選擇使用統(tǒng)計檢驗的方法去研究數(shù)據(jù)是否服從正態(tài)分布。

操作步驟:

導入相關的包及數(shù)據(jù)

2 P-P圖及Q-Q圖

直方圖是最長用于觀察數(shù)據(jù)分布的常用圖形選項,尤其是帶正態(tài)曲線的直方圖,可以非常直觀地看到實際數(shù)據(jù)分布和正態(tài)曲線的對比,而P-P圖及Q-Q圖則是另一種選擇,它可以直觀給出實際數(shù)據(jù)分布和理論的差距。

值得注意的是,雖然P-P圖及Q-Q圖常用用于判斷數(shù)據(jù)樣本是否服從正態(tài)分布,但實際上它們也能判斷數(shù)據(jù)樣本是否服從其他的分布

P-P圖:反映的是數(shù)據(jù)的實際累積概率與假定所服從分布的理論累積概率的符合程度。在此處,我們所假定的分布就是正態(tài)分布,如果數(shù)據(jù)樣本是服從正態(tài)分布的話,那么實際的累積概率與理論的累積概率應該是相對一致的,放映在圖形中就是數(shù)據(jù)點應該沿著圖形的對角線分布。

Q-Q圖的原理與P-P圖幾乎一致。P-P圖考察的是實際分布與理論分布的累積概率分布差異,而Q-Q圖考察的是實際百分位數(shù)與理論百分位數(shù)的差異。同理在此處,我們所假定的分布就是正態(tài)分布,如果數(shù)據(jù)樣本是服從正態(tài)分布的話,那么實際的分布應該是相對一致的,反映在圖形中就是數(shù)據(jù)點應該沿著圖形的對角線分布。

在Python中,statsmodels包中目前主要提供的是Q-Q圖的繪制

柯爾莫戈洛夫-斯米諾夫檢驗(Kolmogorov-Smirnov test),一般又稱K-S檢驗,是一種基于累計分布函數(shù)的非參數(shù)檢驗,用以檢驗兩個經(jīng)驗分布是否不同或一個經(jīng)驗分布與另一個理想分布是否不同。

K-S檢驗的原假設是“樣本數(shù)據(jù)來自的分布與正態(tài)分布無顯著差異”,因此一般來說,KS檢驗最終返回兩個結果,分別是檢驗統(tǒng)計量及P值,檢驗結果P0.05才是我們的目標。

實際上,GraphPad不推薦使用單純的Kolmogorov-Smirnov test方法

夏皮洛-威爾克檢驗(Shapiro—Wilk test),一般又稱W檢驗。W檢驗是一種類似于利用秩進行相關性檢驗的方法。同樣需要注意的是,W檢驗與K-S檢驗一樣,原假設是“樣本數(shù)據(jù)來自的分布與正態(tài)分布無顯著差異”,因此一般來說,W檢驗最終返回兩個結果,分別是檢驗統(tǒng)計量及P值。,檢驗結果P0.05才是我們的目標。

當數(shù)據(jù)集中的數(shù)據(jù)無重復值時,該方法的檢驗效果比較好,但是當數(shù)據(jù)集中有些數(shù)據(jù)不是獨一無二的,即有些數(shù)據(jù)的數(shù)值是相同的,那么該方法的檢驗效果就不是很好

GraphPad官方推薦使用該方法。

首先計算 偏度和峰度以便在不對稱和形狀方面量化分布離高斯分布的距離。然后,其計算這些值中的每一個與高斯分布的預期值之間的差異,并基于這些差異的總和,計算各P值。這是一種通用和強大的正態(tài)性檢驗,推薦使用。請注意,D'Agostino開發(fā)了幾種正態(tài)性檢驗。Prism使用的其中一個是“綜合K2”檢驗。

安德森-達令檢驗樣本數(shù)據(jù)是否來自特定分布,包括分布:'norm', 'expon', 'gumbel', 'extreme1' or 'logistic'.

原假設 H0:樣本服從特定分布; 備擇假設 H1:樣本不服從特定分布

實際上,從已有的文獻表明,對于數(shù)據(jù)分布的正態(tài)性研究,首選方法是圖形觀察,即利用直方圖、P-P圖或Q-Q圖進行觀察,如果分布嚴重偏態(tài)和尖峰分布則建議進行進一步的假設檢驗。如果圖形分布結果不好判斷,則再進行正態(tài)性檢驗。

實際上,從已有的文獻表明,對于數(shù)據(jù)分布的正態(tài)性研究,首選方法是圖形觀察,即利用直方圖、P-P圖或Q-Q圖進行觀察,如果分布嚴重偏態(tài)和尖峰分布則建議進行進一步的假設檢驗。如果圖形分布結果不好判斷,則再進行正態(tài)性檢驗。

其次,對于檢驗方法來說,對于K-S檢驗及W檢驗結果來說,有文獻采用蒙特卡羅模擬方法進行多次驗證,結果表明W檢驗結果相比于大部分方法都有較大的檢驗功效,而K-S方法的檢驗結果相對不佳。并且部分學者認為,K-S檢驗的實用性遠不如圖形工具,因為在樣本量少時,該檢驗不太敏感,但是在樣本量大時,該檢驗卻過于敏感。因此正常情況下,我們更常采用W檢驗的結果。

值得注意的是,雖然說K-S檢驗結果相對不佳,但是不同檢驗方法對于樣本量的敏感度是不一樣的。在樣本量較小的情況下(小于50個樣本的情況下),請優(yōu)先選擇W檢驗;在樣本量50-5000的情況下,可以酌情使用W檢驗及K—S檢驗;在樣本量大于5000的情況下,請使用K-S檢驗結果,尤其是在SPSS中,當樣本量大于5000的情況下,將只顯示K-S檢驗結果,而不顯示W(wǎng)檢驗結果。

如何用python求解一個帶正態(tài)分布和ln函數(shù)的方程

import scipy.stats as sta

import math

def option_call(s,x,r,sigma,t):

d1=(math.log(s/x)+(r+sigma**2/2)*t)/(math.sqrt(t)*sigma)

d2=d1-sigma*math.sqrt(t)

c=s*sta.norm.cdf(d1,0,1)-x*sta.norm.cdf(d2,0,1)*math.exp(-r*t)

return c

如何用python使變量服從正太分布?

正太分布哈哈

首先,如果想要你的一千萬個數(shù)據(jù)嚴格服從正態(tài)分布,那么先確定這個分布的數(shù)據(jù),也就是均值和方差,N(u,o),這里均值 u=50,方差 o 由你確定,根據(jù)正態(tài)分布概率密度函數(shù),對于每一個 1~100 之間的整數(shù) x,都可以確定它出現(xiàn)的概率 f(x):

正態(tài)分布概率密度函數(shù)

而共有 10 000 000 個數(shù)字,那么 10000000*f(x) 就是 x 出現(xiàn)的頻率。

因此,使用一個 101 元素的數(shù)組 freq[] 存放這些數(shù)出現(xiàn)的頻率,用 f(x)*10000000 逐個計算數(shù)組元素,也就是 x 應該出現(xiàn)的次數(shù),假如說 2 一共會出現(xiàn) 3 次,那么 freq[2]=3,計算出之后放在那里,作為一個參照。再初始化一個全為 0 的 100 個元素的數(shù)組 sam[],記錄每個數(shù)字已經(jīng)出現(xiàn)的次數(shù)。之后開始從 1~100 隨機,每隨機一個數(shù)字 x 都給 sam[x] 加1,再和 freq[x] 比較,如果超出了 freq[x] 就說明這個數(shù)字已經(jīng)不能再出現(xiàn)了,將其舍棄。記錄隨機成功的次數(shù),達到了 10000000 次即可。

標題名稱:關于python表示正態(tài)函數(shù)的信息
分享地址:http://muchs.cn/article14/dosjide.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、定制開發(fā)、網(wǎng)站排名、云服務器、品牌網(wǎng)站制作、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名