基于决策树的条件独立性检验
dtit的Python项目详细描述
……图片::https://img.shields.io/badge/license mit yellow.svg
:目标:https://opensource.org/licenses/mit
:alt:license
*决策树(条件)独立性测试(dtit)。*
简介然后,确定*p(y x,z)=p(y z)*
是否困难,特别是如果变量是连续的。这个包实现了一个简单而有效的条件独立性测试,
在我们编写它时在[link to arxiv]中描述过!]是的。区别于竞争对手的重要特征是:
*速度快。最坏情况下速度标度为o(n_data*log(n_data)*dim),其中dim为max(x_dim+z_dim,y_dim)。但是,摊销速度是o(n_data*log(n_data)*log(dim))。
*它适用于x、y、z中的一些是连续的,一些是离散的情况,或分类(一个热编码)。
*它很容易理解和修改。
*它可以用于无条件的独立性测试,几乎不改变程序。
我们在几秒钟内将此测试应用于成千上万个千维数据点的样本。对于较小的维度和样本大小,只需要一小部分时间。在arxiv-link-coming中描述了该算法,并给出了详细的实验结果和与其他方法的比较。不过,现在,您应该只需查看代码就可以了解发生了什么——它只有90行python,包括详细的注释!
用法
----
基本用法很简单,默认设置在大多数情况下都应该有效。要执行*无条件测试*,请使用dtit.test(x,y):
…从dtit导入dtit
>x=np.ran随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机条件测试,只需将第三个变量z添加到输入:
…代码::python
import numpy as np
from dtit import dtit
p)对于p in z),astype(float)
y=np.vstack([np.random.multinomal(20,p)对于p in z])。astype(float)
检查x和y是否相关(p值应在[0,1]上一致)。
pval d=dtit。test(x,y)
检查zd-分离x和y(p值应小)。
pval i=dtit。test(x,y,z)
_ pip:http://www.pip-installer.org/en/latest/
:目标:https://opensource.org/licenses/mit
:alt:license
*决策树(条件)独立性测试(dtit)。*
简介然后,确定*p(y x,z)=p(y z)*
是否困难,特别是如果变量是连续的。这个包实现了一个简单而有效的条件独立性测试,
在我们编写它时在[link to arxiv]中描述过!]是的。区别于竞争对手的重要特征是:
*速度快。最坏情况下速度标度为o(n_data*log(n_data)*dim),其中dim为max(x_dim+z_dim,y_dim)。但是,摊销速度是o(n_data*log(n_data)*log(dim))。
*它适用于x、y、z中的一些是连续的,一些是离散的情况,或分类(一个热编码)。
*它很容易理解和修改。
*它可以用于无条件的独立性测试,几乎不改变程序。
我们在几秒钟内将此测试应用于成千上万个千维数据点的样本。对于较小的维度和样本大小,只需要一小部分时间。在arxiv-link-coming中描述了该算法,并给出了详细的实验结果和与其他方法的比较。不过,现在,您应该只需查看代码就可以了解发生了什么——它只有90行python,包括详细的注释!
用法
----
基本用法很简单,默认设置在大多数情况下都应该有效。要执行*无条件测试*,请使用dtit.test(x,y):
…从dtit导入dtit
>x=np.ran随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机随机条件测试,只需将第三个变量z添加到输入:
…代码::python
import numpy as np
from dtit import dtit
p)对于p in z),astype(float)
y=np.vstack([np.random.multinomal(20,p)对于p in z])。astype(float)
检查x和y是否相关(p值应在[0,1]上一致)。
pval d=dtit。test(x,y)
检查zd-分离x和y(p值应小)。
pval i=dtit。test(x,y,z)
_ pip:http://www.pip-installer.org/en/latest/