进行Kolmogorov-Smirnov测试是否合身。

这将针对给定的分布G(x)对观察到的随机变量的分布F(x)进行测试。在原假设下,两个分布相同,F(x)= G(x)。替代假设可以是“ two-sided”(默认值),‘less’或‘greater’。 KS测试仅对连续分布有效。

参数:

rvs:str, array_like, 或 callable如果是字符串,则应该是其中的分布名称scipy.stats。如果是数组,则它应该是一维随机变量观测值的数组。如果是可调用的,它应该是生成随机变量的函数;必须具有关键字参数大小。

cdf:str 或 callable如果是字符串,则应该是其中的分布名称scipy.stats。如果rvs是字符串,则cdf可以为False或与rvs相同。如果是可调用的,则该可调用的用于计算cdf。

args:tuple, sequence, 可选参数分发参数,如果rvs或cdf是字符串,则使用。

N:int, 可选参数如果rvs是字符串或可调用的样本大小。默认值为20。

alternative:{‘two-sided’, ‘less’, ‘greater’}, 可选参数定义替代假设。提供以下选项(默认为“ two-sided”):

‘two-sided’

‘less’:one-sided, see explanation in Notes

‘greater’:one-sided, see explanation in Notes

mode:{‘approx’, ‘asymp’}, 可选参数定义用于计算p-value的分布。以下选项可用(默认值为‘approx’):

‘approx’:use approximation to exact distribution of test statistic

‘asymp’:use asymptotic distribution of test statistic

返回值:

statistic:浮动KS测试统计信息,D,D +或D-。

pvalue:浮动One-tailed或two-tailed p-value。

注意:

在one-sided检验中,替代方案是随机变量的经验累积分布函数比假设的累积分布函数G(x)为“less”或“greater”,F(x)<=G(x),分别。F(x)>=G(x)。

例子:

>>> from scipy import stats

>>> x = np.linspace(-15, 15, 9)

>>> stats.kstest(x, 'norm')

(0.44435602715924361, 0.038850142705171065)

>>> np.random.seed(987654321) # set random seed to get the same result

>>> stats.kstest('norm', False, N=100)

(0.058352892479417884, 0.88531190944151261)

以上各行等效于:

>>> np.random.seed(987654321)

>>> stats.kstest(stats.norm.rvs(size=100), 'norm')

(0.058352892479417884, 0.88531190944151261)

根据one-sided替代假设进行检验

将分布转移到更大的值,以便cdf_dgp(x) < norm.cdf(x):

>>> np.random.seed(987654321)

>>> x = stats.norm.rvs(loc=0.2, size=100)

>>> stats.kstest(x,'norm', alternative = 'less')

(0.12464329735846891, 0.040989164077641749)

拒绝替代假设的均等分布:较少

>>> stats.kstest(x,'norm', alternative = 'greater')

(0.0072115233216311081, 0.98531158590396395)

不要拒绝其他假设的均等分布:更大

>>> stats.kstest(x,'norm', mode='asymp')

(0.12464329735846891, 0.08944488871182088)

针对正态分布测试t个分布的随机变量

自由度为100时,t分布看起来接近正态分布,并且K-S检验不能拒绝样本来自正态分布的假设:

>>> np.random.seed(987654321)

>>> stats.kstest(stats.t.rvs(100,size=100),'norm')

(0.072018929165471257, 0.67630062862479168)

在3个自由度的情况下,t分布看起来与正态分布完全不同,因此我们可以拒绝以下假设:样本来自10%水平的正态分布:

>>> np.random.seed(987654321)

>>> stats.kstest(stats.t.rvs(3,size=100),'norm')

(0.131016895759829, 0.058826222555312224)

ks检验python代码_python scipy stats.kstest用法及代码示例相关推荐

  1. gamma分布python代码_python scipy stats.gamma用法及代码示例

    伽玛连续随机变量. 作为一个实例rv_continuous类,gamma对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们. 注意: 的概率密度函数gam ...

  2. python中uniform函数_python scipy stats.uniform用法及代码示例

    均匀连续随机变量. 在标准形式下,分布均匀[0, 1].使用参数loc和scale,在上获得均匀分布[loc, loc + scale]. 作为一个实例rv_continuous类,uniform对象 ...

  3. python randint函数用法_python scipy stats.randint用法及代码示例

    均匀离散随机变量. 作为一个实例rv_discrete类,randint对象从中继承了通用方法的集合(完整列表请参见下文),并使用特定于此特定发行版的详细信息来完善它们. 注意: 的概率质量函数ran ...

  4. gamma分布python代码_Python sympy.stats.NormalGamma()用法及代码示例

    借助于sympy.stats.NormalGamma()方法,我们可以创建具有多元正态伽马分布的双变量联合随机变量. 用法: sympy.stats.NormalGamma(syms, mu, lam ...

  5. python统计函数库scipy.stats的用法1/3

    背景 总结统计工作中几个常用用法在python统计函数库scipy.stats的使用范例. 正态分布 以正态分布的常见需求为例了解scipy.stats的基本使用方法. 生成服从指定分布的随机数 no ...

  6. python scipy stats_Python Scipy stats.binned_statistic_dd()用法及代码示例

    stats.binned_statistic_dd(arr, values, statistic='mean', bins=10, range=None)函数为给定的二维数据计算合并的统计值. 它的工 ...

  7. python correlation_python scipy stats.random_correlation用法及代码示例

    随机相关矩阵. 给定一个特征值向量,返回一个随机相关矩阵. eigs关键字指定相关矩阵的特征值,并隐含维度. 参数: eigs:1d ndarray相关矩阵的特征值. 注意: 遵循Davies& ...

  8. python scipy.stats.norm.cdf_python scipy stats.norm用法及代码示例

    正常连续随机变量. 那个地点 (loc)关键字指定平均值.规模 (scale)关键字指定标准差. 作为一个实例rv_continuous类,norm对象从中继承了通用方法的集合(完整列表请参见下文), ...

  9. python 希尔伯特变换_python scipy signal.hilbert用法及代码示例

    使用希尔伯特变换来计算分析信号. 默认情况下,转换是沿着最后一个轴完成的. 参数: x:array_like信号数据.必须是真实的. N:int, 可选参数傅立叶分量的数量.默认:x.shape[ax ...

最新文章

  1. mysql表 字段 说明_mysql表字段说明
  2. 独家 | 年度盘点!必看AI顶会论文、Github高星项目大合集(附链接)
  3. 敏捷个人实践第18次活动:选择朋友
  4. 【react开发】使用swiper插件,loop:true时产生的问题解决方案
  5. ios数组基本用法和排序
  6. boost::hana::cycle用法的测试程序
  7. 高中经历——高考专业被调剂毁了童年梦想
  8. 手机modem开发(3)---Android Modem log分析
  9. NHibernate,我越看越傻了.........
  10. pl sql入门比较好的书_【赵强老师】什么是PL/SQL?
  11. 西门子S7-1200PLC脉冲控制伺服程序案例 此程序是关于西门子1200PLC以PTO脉冲方式控制伺服电机,步进电机的功能块程序
  12. PHP如何应对高并发
  13. IAST 技术进阶系列(二):全场景多核驱动
  14. make 及 make clean 的作用
  15. postman后端返回的数据显示中文乱码解决
  16. 计算机专业英语积累(包括前端和后端常用的)~持续更新
  17. 74LS273 八D型触发器 功能介绍
  18. 4个惨烈冤案背后的司法真相
  19. JAVA环境搭建(win10)
  20. 用Html5结合Qt制作一款本地化EXE游戏-太空大战(Space War)

热门文章

  1. laytpl语法_laytpl 精致巧妙的JavaScript模板引擎
  2. 龙运国际董事长孙建军担任浙江省山东商会执行会长
  3. linux跳板机权限管理,linux Jumpserver跳板机 /堡垒机详细部署
  4. MATLAB-偏最小二乘回归分析
  5. OPENFLOW协议协议分析实践
  6. 【CentOS】Spark 运行环境(Local、Standalone)
  7. FlyAi实战之MNIST手写数字识别练习赛(准确率99.55%)
  8. Oracle 查询未提交事务
  9. 数据库事务未提交的初学理解
  10. Jenkins入门之设置定时任务