日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ks检验正态分布结果_统计学里的数据正态性检验

發(fā)布時(shí)間:2025/4/5 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ks检验正态分布结果_统计学里的数据正态性检验 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在前面的文章中講過,很多模型的假設(shè)條件都是數(shù)據(jù)是服從正態(tài)分布的。這篇文章主要講講如何判斷數(shù)據(jù)是否符合正態(tài)分布。主要分為兩種方法:描述統(tǒng)計(jì)方法和統(tǒng)計(jì)檢驗(yàn)方法。

01.描述統(tǒng)計(jì)方法

描述統(tǒng)計(jì)就是用描述的數(shù)字或圖表來判斷數(shù)據(jù)是否符合正態(tài)分布。常用的方法有Q-Q圖、P-P圖、直方圖、莖葉圖。

1.1 Q-Q圖

此Q-Q非用于聊天的QQ,Q是quantile的縮寫,即分位數(shù)。分位數(shù)就是將數(shù)據(jù)從小到大排序,然后切成100份,看不同位置處的值。比如中位數(shù),就是中間位置的值。

Q-Q圖的x軸為分位數(shù),y軸為分位數(shù)對(duì)應(yīng)的樣本值。x-y是散點(diǎn)圖的形式,通過散點(diǎn)圖可以擬合出一條直線,如果這條直線是從左下角到右上角的一條直線,則可以判斷數(shù)據(jù)符合正態(tài)分布,否則則不可以。

擬合出來的這條直線和正態(tài)分布之間有什么關(guān)系呢?為什么可以根據(jù)這條直線來判斷數(shù)據(jù)是否符合正態(tài)分布呢。

我們先來想一下正態(tài)分布的特征,正態(tài)分布的x軸為樣本值,從左到右x是逐漸增大的,y軸是每個(gè)樣本值對(duì)應(yīng)的出現(xiàn)的概率。概率值先上升后下降,且在中間位置達(dá)到最高。

可以把Q-Q圖中的y軸理解成正態(tài)分布中的x軸,如果擬合出來的直線是45度,可以保證中位數(shù)兩邊的數(shù)值分布是一樣的,即正態(tài)分布中基于中位數(shù)左右對(duì)稱。

在Python中可以使用如下代碼來繪制Q-Q圖:

from scipy import stats fig = plt.figure() res = stats.probplot(x, plot=plt) plt.show()

與Q-Q圖類似的是P-P圖,兩者的區(qū)別是前者的y軸是具體的分位數(shù)對(duì)應(yīng)的樣本值,而后者是累計(jì)概率。

1.2 直方圖

直方圖分為兩種,一種是頻率分布直方圖,一種是頻數(shù)分布直方圖。頻數(shù)就是樣本值出現(xiàn)的次數(shù),頻率是某個(gè)值出現(xiàn)的次數(shù)與所有樣本值出現(xiàn)總次數(shù)的比值。

在Python中我們可以使用如下代碼來繪制頻數(shù)分布直方圖:

import matplotlib.pyplot as plt plt.hist(x,bins = 10)

可以使用如下代碼來繪制頻率分布直方圖:

import seaborn as sns sns.distplot(x)

與直方圖類似的還有莖葉圖,莖葉圖是類似于表格形式去表示每個(gè)值出現(xiàn)的頻次。

02.統(tǒng)計(jì)檢驗(yàn)方法

講完了描述統(tǒng)計(jì)的方法,我們來看一下統(tǒng)計(jì)檢驗(yàn)的方法。統(tǒng)計(jì)檢驗(yàn)的方法主要有SW檢驗(yàn)、KS檢驗(yàn)、AD檢驗(yàn)、W檢驗(yàn)。

SW檢驗(yàn)中的S就是偏度,W就是峰度,峰度和偏度與正態(tài)的關(guān)系我們?cè)谇懊娴奈恼掠兄v過。

2.1 KS檢驗(yàn)

KS檢驗(yàn)是基于樣本累積分布函數(shù)來進(jìn)行判斷的。可以用于判斷某個(gè)樣本集是否符合某個(gè)已知分布,也可以用于檢驗(yàn)兩個(gè)樣本之間的顯著性差異。

如果是判斷某個(gè)樣本是否符合某個(gè)已知分布,比如正態(tài)分布,則需要先計(jì)算出標(biāo)準(zhǔn)正態(tài)分布的累計(jì)分布函數(shù),然后在計(jì)算樣本集的累計(jì)分布函數(shù)。兩個(gè)函數(shù)之間在不同的取值處會(huì)有不同的差值。我們只需要找出來差值最大的那個(gè)點(diǎn)D。然后基于樣本集的樣本數(shù)和顯著性水平找到差值邊界值(類似于t檢驗(yàn)的邊界值)。判斷邊界值和D的關(guān)系,如果D小于邊界值,則可以認(rèn)為樣本的分布符合已知分布,否則不可以。

PDF( probability density function):概率密度函數(shù)。
CDF( cumulative distribution function):累積分布函數(shù),是概率密度函數(shù)的積分。

在Python中有現(xiàn)成的包可以直接用于KS檢驗(yàn):

from scipy.stats import kstest kstest(x,cdf = "norm")

x表示待檢驗(yàn)的樣本集,cdf用來指明要判斷的已知分布類型,有:‘norm’,’expon’,’logistic’,’gumbel’,’gumbel_l’, gumbel_r’,
‘extreme1’值可以選,其中norm表示正態(tài)分布檢驗(yàn)。

kstest會(huì)返回兩個(gè)值:D和對(duì)應(yīng)的p_value值。

2.2 AD檢驗(yàn)

AD檢驗(yàn)是在KS基礎(chǔ)上進(jìn)行改造的,KS檢驗(yàn)只考慮了兩個(gè)分布之間差值最大的那個(gè)點(diǎn),但是這容易受異常值的影響。AD檢驗(yàn)考慮了分布上每個(gè)點(diǎn)處的差值。

在Python中可以用如下代碼:

from scipy.stats import anderson anderson(x, dist='norm')

x為待檢驗(yàn)的樣本集,dist用來指明已知分布的類型。可選值與ks檢驗(yàn)中可選值一致。

上面代碼會(huì)返回三個(gè)結(jié)果: 第一個(gè)為統(tǒng)計(jì)值,第二個(gè)為評(píng)判值,第三個(gè)為每個(gè)評(píng)判值對(duì)應(yīng)的顯著性水平

AD檢驗(yàn)和anderson有啥關(guān)系呢?anderson發(fā)明了AD檢驗(yàn)。

2.3 W檢驗(yàn)

W檢驗(yàn)(Shapiro-Wilk的簡(jiǎn)稱)是基于兩個(gè)分布的相關(guān)性來進(jìn)行判斷,會(huì)得出一個(gè)類似于皮爾遜相關(guān)系數(shù)的值。值越大,說明兩個(gè)分布越相關(guān),越符合某個(gè)分布。

在Python中的實(shí)現(xiàn)代碼如下:

from scipy.stats import shapiro shapiro(x)

上面的代碼會(huì)返回兩個(gè)結(jié)果:W值和其對(duì)應(yīng)的p_value。

shapiro是專門用于正態(tài)性檢驗(yàn)的,所以不需要指明分布類型。且 shapiro 不適合做樣本數(shù)>5000的正態(tài)性檢驗(yàn)。

03.非正態(tài)數(shù)據(jù)的處理辦法

一般數(shù)據(jù)不是正態(tài)就是偏態(tài),如果偏態(tài)不嚴(yán)重可以對(duì)數(shù)據(jù)取平方根來進(jìn)行轉(zhuǎn)換。如果偏態(tài)很嚴(yán)重,則可以對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)轉(zhuǎn)換。轉(zhuǎn)換方法在偏態(tài)文章中也有講過。

總結(jié)

以上是生活随笔為你收集整理的ks检验正态分布结果_统计学里的数据正态性检验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。