本文整理汇总了Python中scipy.stats.mannwhitneyu方法的典型用法代码示例。如果您正苦于以下问题:Python stats.mannwhitneyu方法的具体用法?Python stats.mannwhitneyu怎么用?Python stats.mannwhitneyu使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scipy.stats
的用法示例。
在下文中一共展示了stats.mannwhitneyu方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: diff_expr
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def diff_expr(A, B, genes, permute_cutoff, verbose=True):
p_vals = []
for idx, gene in enumerate(genes):
if sum(A[:, idx]) == 0 and sum(B[:, idx]) == 0:
p_vals.append(1.)
continue
u, p = mannwhitneyu(A[:, idx], B[:, idx])
p_vals.append(p)
de_genes = []
for idx, gene in enumerate(genes):
if p_vals[idx] < permute_cutoff:
if verbose:
print('{}\t{}'.format(gene, p_vals[idx]))
de_genes.append(gene)
return de_genes
示例2: stat_tests
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def stat_tests(ref_cors, exp_cors, alternative):
_, mwp = mannwhitneyu(ref_cors, exp_cors, alternative=alternative)
tt, tp = ttest_ind(ref_cors, exp_cors)
if alternative == 'less':
if tt > 0:
tp = 1 - (1-tp)/2
else:
tp /= 2
elif alternative == 'greater':
if tt <= 0:
tp /= 2
else:
tp = 1 - (1-tp)/2
return mwp, tp
################################################################################
# __main__
################################################################################
示例3: test_mannwhitneyu_default
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_mannwhitneyu_default(self):
# The default value for alternative is None
with suppress_warnings() as sup:
sup.filter(DeprecationWarning,
"Calling `mannwhitneyu` without .*`alternative`")
u1, p1 = stats.mannwhitneyu(self.X, self.Y)
u2, p2 = stats.mannwhitneyu(self.Y, self.X)
u3, p3 = stats.mannwhitneyu(self.X, self.Y, alternative=None)
assert_equal(p1, p2)
assert_equal(p1, p3)
assert_equal(u1, 102)
assert_equal(u2, 102)
assert_equal(u3, 102)
assert_approx_equal(p1, 4.5941632666275e-05,
significant=self.significant)
示例4: test_mannwhitneyu_no_correct_one_sided
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_mannwhitneyu_no_correct_one_sided(self):
u1, p1 = stats.mannwhitneyu(self.X, self.Y, False,
alternative='less')
u2, p2 = stats.mannwhitneyu(self.Y, self.X, False,
alternative='greater')
u3, p3 = stats.mannwhitneyu(self.X, self.Y, False,
alternative='greater')
u4, p4 = stats.mannwhitneyu(self.Y, self.X, False,
alternative='less')
assert_equal(p1, p2)
assert_equal(p3, p4)
assert_(p1 != p3)
assert_equal(u1, 498)
assert_equal(u2, 102)
assert_equal(u3, 498)
assert_equal(u4, 102)
assert_approx_equal(p1, 0.999955905990004, significant=self.significant)
assert_approx_equal(p3, 4.40940099958089e-05, significant=self.significant)
示例5: test_u_statistic
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_u_statistic():
X = data.generate_positive_sparse_matrix(shape=(500, 3), seed=42, poisson_mean=0.2)
Y = data.generate_positive_sparse_matrix(shape=(500, 3), seed=42, poisson_mean=0.3)
u_stat = [
stats.mannwhitneyu(X[:, i], Y[:, i], alternative="two-sided")[0]
for i in range(X.shape[1])
]
def test_fun(X):
return scprep.stats.rank_sum_statistic(
scprep.select.select_rows(X, idx=np.arange(500)),
scprep.select.select_rows(X, idx=np.arange(500, 1000)),
)
matrix.test_all_matrix_types(
np.vstack([X, Y]),
utils.assert_transform_equals,
Y=u_stat,
transform=test_fun,
check=utils.assert_all_close,
)
示例6: run_sandya_code
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def run_sandya_code():
import scipy as spy
san_path = '/home/npeled/Documents/memory_task/code/'
ROI_values_dyn = np.load(op.join(san_path, 'ROI_values_dyn102.npy'))
subject_groups = np.load(op.join(san_path, 'subject_groups.npy'))
# disturbed = 1, preserved = 0
disturbed_inds = np.array(np.where(subject_groups == 1))
preserved_inds = np.array(np.where(subject_groups == 0))
# left is 0, right is 1
laterality = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
# Separate by contralateral and ipsilateral - ipsi is left, contra is right
# Mann-Whitney tests between groups - p<0.0125 - bonferroni correction for 4 ROIs
# spy.mannwhitneyu(x,y)
ROI_values_dyn_disturbed = np.squeeze(ROI_values_dyn[:, disturbed_inds])
ROI_values_dyn_preserved = np.squeeze(ROI_values_dyn[:, preserved_inds])
mann_whitney_results_dyn = np.zeros((ROI_values_dyn.shape[0], 2), 'float')
for i in range(ROI_values_dyn.shape[0]):
mann_whitney_results_dyn[i, :] = spy.stats.mannwhitneyu(ROI_values_dyn_disturbed[i, :],
ROI_values_dyn_preserved[i, :]).pvalue
print(mann_whitney_results_dyn)
示例7: compare_by_position
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def compare_by_position(bed1,bed2,xmfa):
pos_dict = {}
for i,bed in enumerate([bed1,bed2]):
pos_dict[i] = {}
with open(bed,'r') as fi:
for line in fi:
#2 1892198 1892199 TCMMTMTTMMM 0.5 - 16
csome,start,end,motif,perc_meth,strand,num_reads,probabilities = tuple(line.split('\t'))
pos_dict[i][(csome,start,end,strand)] = ((perc_meth,num_reads),np.asarray([float(p) for p in probabilities.strip().split(',')]))
for pos in pos_dict[0]:
if pos in pos_dict[1]:
try:
u,pval = mannwhitneyu(pos_dict[0][pos][1],pos_dict[0][pos][1],alternative='two-sided')
except ValueError:
u,pval = 'none','identical'
u2,pval2 = ranksums(pos_dict[0][pos][1],pos_dict[0][pos][1])
try:
t,pval3 = ttest_ind(pos_dict[0][pos][1],pos_dict[0][pos][1])
except:
t,pval3 = 'none','missing df'
d,pval4 = ks_2samp(pos_dict[0][pos][1],pos_dict[0][pos][1])
if pval4 < 0.9:
print pos, pos_dict[0][pos][0], pos_dict[1][pos][0], pval, pval2, pval3, pval4
示例8: _CompareNumetricFeatures
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def _CompareNumetricFeatures(self, array1, array2):
description = {}
_, description['p-value'] = mannwhitneyu(array1, array2)
description['method'] = 'Mann-Whitney'
description['description'] = ['{:.2f}±{:.2f}'.format(np.mean(array1), np.std(array1)),
'{:.2f}±{:.2f}'.format(np.mean(array2), np.std(array2))]
return description
示例9: compute_skew_stats
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def compute_skew_stats(intra, inter):
"""Returns two dictionaries reporting (skew, skew_pval) for all groups"""
# Intra (within a group) stats
intra_skew = {}
for k, v in intra.items():
skew = st.skew(v)
try:
skew_zstat, skew_pval = st.skewtest(v)
except ValueError: # if sample size too small
skew_zstat, skew_pval = (0, 1)
intra_skew[k] = (skew, skew_zstat, skew_pval)
# Inter (between groups) stats
inter_skew = {}
for k, v in inter.items():
# Inter skew stats
skew_sep = st.skew(v.flatten())
try:
skew_sep_zstat, skew_sep_pval = st.skewtest(v.flatten())
except ValueError:
skew_sep_zstat, skew_sep_pval = (0, 1)
inter_skew['-'.join(k)] = (skew_sep, skew_sep_zstat, skew_sep_pval)
# Significance of difference between intra and inter distributions
for intra_key in k:
try:
separation_zstat, separation_pval = mannwhitneyu(intra[intra_key],
v.flatten(),
alternative='less')
except ValueError: # All numbers are identical in mannwhitneyu
separation_zstat, separation_pval = (0, 1)
inter_skew['{}<{}'.format(intra_key, '-'.join(k))] = (separation_zstat, separation_pval)
return intra_skew, inter_skew
示例10: test_mannwhitneyu_one_sided
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_mannwhitneyu_one_sided(self):
u1, p1 = stats.mannwhitneyu(self.X, self.Y, alternative='less')
u2, p2 = stats.mannwhitneyu(self.Y, self.X, alternative='greater')
u3, p3 = stats.mannwhitneyu(self.X, self.Y, alternative='greater')
u4, p4 = stats.mannwhitneyu(self.Y, self.X, alternative='less')
assert_equal(p1, p2)
assert_equal(p3, p4)
assert_(p1 != p3)
assert_equal(u1, 498)
assert_equal(u2, 102)
assert_equal(u3, 498)
assert_equal(u4, 102)
assert_approx_equal(p1, 0.999957683256589, significant=self.significant)
assert_approx_equal(p3, 4.5941632666275e-05, significant=self.significant)
示例11: test_mannwhitneyu_two_sided
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_mannwhitneyu_two_sided(self):
u1, p1 = stats.mannwhitneyu(self.X, self.Y, alternative='two-sided')
u2, p2 = stats.mannwhitneyu(self.Y, self.X, alternative='two-sided')
assert_equal(p1, p2)
assert_equal(u1, 498)
assert_equal(u2, 102)
assert_approx_equal(p1, 9.188326533255e-05,
significant=self.significant)
示例12: test_mannwhitneyu_no_correct_two_sided
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_mannwhitneyu_no_correct_two_sided(self):
u1, p1 = stats.mannwhitneyu(self.X, self.Y, False,
alternative='two-sided')
u2, p2 = stats.mannwhitneyu(self.Y, self.X, False,
alternative='two-sided')
assert_equal(p1, p2)
assert_equal(u1, 498)
assert_equal(u2, 102)
assert_approx_equal(p1, 8.81880199916178e-05,
significant=self.significant)
示例13: test_mannwhitneyu_ones
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_mannwhitneyu_ones(self):
x = np.array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 2., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 2., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 2.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 2., 1., 1., 1., 1., 2., 1., 1., 2., 1., 1., 2.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 2., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 2., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 2., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 3., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1.])
y = np.array([1., 1., 1., 1., 1., 1., 1., 2., 1., 2., 1., 1., 1., 1.,
2., 1., 1., 1., 2., 1., 1., 1., 1., 1., 2., 1., 1., 3.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 2., 1., 2., 1.,
1., 1., 1., 1., 1., 2., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 2., 1., 1., 1., 1., 1., 2.,
2., 1., 1., 2., 1., 1., 2., 1., 2., 1., 1., 1., 1., 2.,
2., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 2., 1., 1., 1., 1., 1., 2., 2., 2., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
2., 1., 1., 2., 1., 1., 1., 1., 2., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 2., 1., 1., 1., 2., 1., 1.,
1., 1., 1., 1.])
# p-value verified with matlab and R to 5 significant digits
assert_array_almost_equal(stats.stats.mannwhitneyu(x, y,
alternative='less'),
(16980.5, 2.8214327656317373e-005),
decimal=12)
示例14: test_mannwhitneyu_result_attributes
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def test_mannwhitneyu_result_attributes(self):
# test for namedtuple attribute results
attributes = ('statistic', 'pvalue')
res = stats.mannwhitneyu(self.X, self.Y, alternative="less")
check_named_results(res, attributes)
示例15: mann_whitney_u_similar_distribution
# 需要导入模块: from scipy import stats [as 别名]
# 或者: from scipy.stats import mannwhitneyu [as 别名]
def mann_whitney_u_similar_distribution(self, column,
pvalue_threshold=0.05,
num_rounds=3):
p_value = permutation_test(
self.new_data[column],
self.historical_data[column],
method="approximate",
num_rounds=num_rounds,
func=lambda x, y: stats.mannwhitneyu(x, y).statistic,
seed=0)
if p_value < pvalue_threshold:
return False
return True