python中正態分佈檢驗的方法

2022-02-20 01:03:04 字數 1510 閱讀 3199

對資料進行建模處理時,常需要進行資料分布檢驗。

import

numpy as np

from scipy import

stats

a = np.random.normal(0,1,50)

'''輸出結果中第乙個為統計量,第二個為p值(統計量越接近1越表明資料和正態分佈擬合的好,

p值大於指定的顯著性水平,接受原假設,認為樣本來自服從正態分佈的總體)

'''print

(stats.shapiro(a))

'''輸出結果中第乙個為統計量,第二個為p值(注:統計量越接近0就越表明資料和標準正態分佈擬合的越好,

如果p值大於顯著性水平,通常是0.05,接受原假設,則判斷樣本的總體服從正態分佈)

'''print(stats.kstest(a, '

norm

'))

'''輸出結果中第乙個為統計量,第二個為p值(注:p值大於顯著性水平0.05,認為樣本資料符合正態分佈)

'''print(stats.normaltest(a))

scipy.stats.kstest(k-s檢驗)

kstest 是乙個很強大的檢驗模組,除了正態性檢驗,還能檢驗 scipy.stats 中的其他資料分布型別,僅適用於連續分布的檢驗,

原假設:資料符合正態分佈

對於正態性檢驗,我們只需要手動設定三個引數即可:

rvs:待檢驗的一組一維資料

cdf:檢驗方法,例如'norm','expon','rayleigh','gamma',這裡我們設定為'norm',即正態性檢驗

alternative:預設為雙尾檢驗,可以設定為'less'或'greater'作單尾檢驗

'asymp':使用檢驗統計量的漸進分布

scipy.stats.shapiro(w檢驗)

與 kstest 不同,shapiro 是專門用來做正態性檢驗的模組

原假設:樣本資料符合正態分佈

注意:shapiro是用來檢驗小樣本資料(資料量<>

scipy.stats.shapiro(x, a=none, reta=false)

一般我們只用 x 引數就行,x 即待檢驗的資料

scipy.stats.normaltest

normaltest 也是專門做正態性檢驗的模組,原理是基於資料的skewness和kurtosis

scipy.stats.normaltest(a, axis=0, nan_policy='propagate')

a:待檢驗的資料

axis:預設為0,表示在0軸上檢驗,即對資料的每一行做正態性檢驗,我們可以設定為 axis=none 來對整個資料做檢驗

nan_policy:當輸入的資料中有空值時的處理辦法。預設為 'propagate',返回空值;設定為 'raise' 時,丟擲錯誤;設定為 'omit' 時,在計算中忽略空值。

數學模型 正態分佈檢驗

概率密度分布曲線表示式為 f x 12 ex p x 2 2 2f x frac exp f x 2 1 exp 2 2 x 2 下面以房屋的評分系統資料作為說明,提取碼 lyhx import numpy as np import pandas as pd import matplotlib.py...

檢驗資料集是否服從正態分佈

1.p p圖 以樣本的累積頻率作為橫座標,以正太分布計算的響應累積概率作為縱座標,把樣本值表現為執教座標系中的散點。若資料集服從正太分布,則樣本點應圍繞第一象限的對角線分布。1.2 qq圖 以樣本的分位數作為橫座標,以按照正太分布計算的相應分位點作為縱座標,把樣本表現為直角座標系的散點。若服從正太分...

統計學之正態分佈檢驗

本次主要是對資料集資料進行正態分佈檢驗,資料集位址為 主要包括三列資料,體溫 f 性別 1 男,2 女 心率 次 分鐘 1.資料統計 usr bin env python coding utf 8 import requests import pandas as pd import numpy as...