昨天晚上臭汪汪说考考我最近学了啥,随便翻了翻,
问:F分布是干吗的javascript
答:两个卡方分布的比服从的分布,F分布是创建在卡方分布的基础上,卡方分布创建在正态分布基础上。
指定f值有对应的p值,指定P值也有对应f值。
在涉及两个整体的方差比的参数估计和假设检验都会用到它。java
此汪并不懂统计学,6年前学的几率论早已还给老师。
汪:你说的好长好多,我听不懂也记不住你在说什么,你能够凝练一下这些各类分布的用法口诀吗
答:服从正态分布,大样本小样本均用正态分布;不服从正太分布,大样本用正态分布,小样本用t分布。服从正态分布平方和用卡方分布,两个卡方分布比用f分布。python
汪似懂非懂:那么我要怎么看样本是否服从正态分布呢?
答:一般能够把样本【频数分布直方图】或【茎叶图】画出来,看它是否和正态分布曲线类似
汪激动了起来:你这也太不专业了吧!这怎么能感受它是否是服从正态分布呢?
狡辩答:这但是很经常使用的一种方法
汪不屑:那有没有很准确的方法呢
小声答:有,其中一种通吃大小样本的方法–KS检验法
汪:今天不早了,你明天总结一下KS吧web
Shapiro-Wilk也能够用来作正态分布检验,可是它适用于小样本,有必定局限性,K-S检验既能够用于大样本,也能够用于小样本。api
K-S能够检验整体是否服从某种已知的理论分布,经过比较实际频数和指望频数,来检验拟合程度。dom
原假设和备择假设:
H0:S(x)=F( x ), H1:S(x)!=F( x )svg
样本观测值实际累计几率为S(x),理论累计几率为F(x),实际和理论的差值为D
D=max( |S(xi)-f(xi)| )
由于累计几率是离散值,要作修正,修正为:
D=max(( |S(xi)-f(xi)| ),( |S(xi-1)-f(xi)| ))
而后用K-S检验统计量,小样本服从Kolmogorov分布(3~50),大样本服从正态分布。函数
大样本:
Z=n0.5 D
计算P值,若P<0.05(显著性水平a),拒绝原假设,不然不拒绝原假设学习
import numpy as np from scipy.stats import kstest data=np.random.randn(100) #ks检验:正态分布 pv=kstest(data,'norm') print(pv) print(pv.pvalue-0.05) //是否大于显著性看着更明显一点
值得注意的一点是,若是data是dataframe的时候要取出values,再带入函数中。spa
import numpy as np from scipy.stats import kstest data=DataFrame(np.random.randn(100),columns=['a']) #ks检验:正态分布 pv=kstest(data['a'].values,'norm') print(pv) print(pv.pvalue-0.05) //是否大于显著性看着更明显一点
把要检验的变量拖到检验变量列表,勾选要检验的分布点击【肯定】
根据P值决定是否拒绝原假设
课程门数P值<0.05,拒绝原假设,支持备择假设,不服从正态分布。数据挖掘成绩P值>0.05,不拒绝原假设,没有证据代表数据挖掘的分数分布不服从正态分布。
咱们再看看这两组数据的频数分步直方图吧:
KS在检验模型拟合优度方面发挥了重要做用,在后续的工做和学习中若是有更多的了解和体验,咱们再继续交流