一个用于同质性测试的python包。

pyhomogeneit的Python项目详细描述


均质性

Build StatusPyPIPyPI - LicensePyPI - StatusDownloadsPyPI - Python VersionDOI

什么是同质性检验?在

同质性检验是一种统计检验方法,用于检验两个(或多个)数据集是否来自同一分布。在时间序列中,均匀性检验用于检测序列中的一个(或多个)变化/断点。此断点发生在数据集更改其分布的位置。许多统计分析需要一个同质的数据集。这就是为什么它是统计分析中的一个重要测试。在

pyHomogeneity是用于同质性测试的纯Python实现。有几种测试可以用来检查时间序列的均匀性。PY均质包装可进行以下六种常用的均匀性测试:

  1. Pettitt测试(Pettitt_test

  2. 标准正态一致性检验(SNHT)检验(SNHT_检验

  3. Buishand Q测试(buishandqu测试

  4. Buishand's Range测试(Buishand_Range_Test):

  5. ^{str1}$Buishand似然比检验(buishandu似然比检验

  6. Buishand U测试(buishandu__测试

功能详细信息:

所有的均匀性检验函数都有几乎相似的输入参数。这些是:

  • x:一个向量(列表、numpy数组或pandas系列)数据
  • alpha:显著性级别(默认值为0.05)
  • sim:p值计算的蒙特卡罗模拟数。在

所有同质性测试都返回一个命名元组,其中包含:

  • h:True(如果数据是非同构的)或False(如果数据是同构的)
  • cp:可能的变化点位置
  • p:显著性检验的p值
  • ^{str1}$U/T/Q/R/V:取决于测试方法的测试统计信息
  • avg:变化点前后的平均值

依赖关系

要安装pyHomogeneity,需要以下软件包:

安装

您可以使用pip安装pyHomogeneity。对于Linux用户

sudopipinstallpyhomogeneity

或者,对于Windows用户

^{pr2}$

也可以克隆repo并安装它:

git clone https://github.com/mmhs013/pyhomogeneity
cd pyhomogeneity
python setup.py install

测试

在每次提交here时,使用pytest包自动测试pyHomogeneity,但测试可以手动运行:

pytest -v

使用

下面给出了pyHomogeneity用法的一个快速示例。还提供了几个例子here。在

importnumpyasnpimportpyhomogeneityashg# Data generation for analysisdata=np.random.rand(360,1)result=hg.pettitt_test(data)print(result)

输出如下:

Pettitt_Test(h=False,cp=89,p=0.1428,U=3811.0,avg=mean(mu1=0.5487521427805625,mu2=0.46884198890609463))

但是,输出是一个命名元组,因此用户可以按名称调用特定结果:

print(result.cp)print(result.avg.mu1)

或者,用户可以像这样直接解压缩结果:

h,cp,p,U,mu=hg.pettitt_test(x,0.05)

捐款

pyHomogeneity是一个社区项目,欢迎捐款。其他信息可在contribution guidelines中找到

行为准则

pyHomogeneity希望保持一个积极的社区。其他详细信息可在Code of Conduct中找到

参考文献

  1. Alexanderson,H.,1986年。降水资料的均匀性检验。气候学杂志,6(6),第661-675页。doi:10.1002/joc.3370060607

  2. BuishandT.A.,1982年。检验降雨记录均匀性的几种方法。《水文学杂志》,58(1-2),第11-27页。doi:10.1016/0022-1694(82)90066-X

  3. 佩蒂特,A.N.,1979年。变点问题的一种非参数方法。英国皇家统计学会杂志:C辑(应用统计学),28(2),126-135页。doi:10.2307/2346729

  4. Pohlert,T.,2016年。包装“趋势”。标题非参数趋势测试和变点检测。在

  5. 弗斯特雷滕,G.,坡n、 J.,Demaree,G.和Salles,C.,2006年。根据Ukkel(比利时布鲁塞尔)10分钟降雨深度数据得出的降雨侵蚀力长期(105年)可变性:评估土壤侵蚀率的影响。地球物理研究杂志:大气,111(D22)。doi:10.1029/2006JD007169

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用JNA创建同一库的多个实例?   java在将Graphql查询作为JSON字符串传递时收到意外的令牌错误   OAuth2 oltu的java问题   java桌面应用程序使用的好的嵌入式数据库是什么?   java Firebase数据库高级查询选项   java正在使磁盘上的EhCache元素过期   java 安卓还原处于backstack中的片段的实例状态   XMemcached中的java异步集   java TimescaleDB是否使用与Postgresql完全相同的JDBC驱动程序?   java从网站c读取信息#   检查java Android中的字符串是否只包含数字和空格   c#如何向web服务发送特殊字符?   grails无法调用需要java的方法。lang.类参数?   java我在组合框中调用的方法不会运行所有代码,它只运行部分代码   java发送带有标头的HTTP GET请求