一个用于同质性测试的python包。
pyhomogeneit的Python项目详细描述
均质性
什么是同质性检验?在
同质性检验是一种统计检验方法,用于检验两个(或多个)数据集是否来自同一分布。在时间序列中,均匀性检验用于检测序列中的一个(或多个)变化/断点。此断点发生在数据集更改其分布的位置。许多统计分析需要一个同质的数据集。这就是为什么它是统计分析中的一个重要测试。在
pyHomogeneity
是用于同质性测试的纯Python实现。有几种测试可以用来检查时间序列的均匀性。PY均质包装可进行以下六种常用的均匀性测试:
- 在
Pettitt测试(Pettitt_test)
在 - 在
标准正态一致性检验(SNHT)检验(SNHT_检验)
在 - 在
Buishand Q测试(buishandqu测试)
在 - 在
Buishand's Range测试(Buishand_Range_Test):
在 - 在
^{str1}$Buishand似然比检验(buishandu似然比检验)
在 - 在
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中找到
参考文献
- 在
Alexanderson,H.,1986年。降水资料的均匀性检验。气候学杂志,6(6),第661-675页。doi:10.1002/joc.3370060607
在 - 在
BuishandT.A.,1982年。检验降雨记录均匀性的几种方法。《水文学杂志》,58(1-2),第11-27页。doi:10.1016/0022-1694(82)90066-X
在 - 在
佩蒂特,A.N.,1979年。变点问题的一种非参数方法。英国皇家统计学会杂志:C辑(应用统计学),28(2),126-135页。doi:10.2307/2346729
在 - 在
Pohlert,T.,2016年。包装“趋势”。标题非参数趋势测试和变点检测。在
在 - 在
弗斯特雷滕,G.,坡n、 J.,Demaree,G.和Salles,C.,2006年。根据Ukkel(比利时布鲁塞尔)10分钟降雨深度数据得出的降雨侵蚀力长期(105年)可变性:评估土壤侵蚀率的影响。地球物理研究杂志:大气,111(D22)。doi:10.1029/2006JD007169
在
- 项目
标签: