本文整理汇总了Python中nilearn.mass_univariate.permuted_ols函数的典型用法代码示例。如果您正苦于以下问题:Python permuted_ols函数的具体用法?Python permuted_ols怎么用?Python permuted_ols使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了permuted_ols函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_permuted_ols_nocovar
def test_permuted_ols_nocovar(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 1)
tested_var = rng.randn(n_samples, 1)
# compute t-scores with linalg or statsmodels
ref_score = get_tvalue_with_alternative_library(tested_var, target_var)
# permuted OLS
_, own_score, _ = permuted_ols(
tested_var, target_var, model_intercept=False,
n_perm=0, random_state=random_state)
assert_array_almost_equal(ref_score, own_score, decimal=6)
# test with ravelized tested_var
_, own_score, _ = permuted_ols(
np.ravel(tested_var), target_var, model_intercept=False,
n_perm=0, random_state=random_state)
assert_array_almost_equal(ref_score, own_score, decimal=6)
### Adds intercept (should be equivalent to centering variates)
# permuted OLS
_, own_score_intercept, _ = permuted_ols(
tested_var, target_var, model_intercept=True,
n_perm=0, random_state=random_state)
target_var -= target_var.mean(0)
tested_var -= tested_var.mean(0)
# compute t-scores with linalg or statsmodels
ref_score_intercept = get_tvalue_with_alternative_library(
tested_var, target_var, np.ones((n_samples, 1)))
assert_array_almost_equal(ref_score_intercept, own_score_intercept,
decimal=6)
开发者ID:salma1601,项目名称:nilearn,代码行数:33,代码来源:test_permuted_least_squares.py
示例2: test_permuted_ols_intercept_statsmodels_withcovar
def test_permuted_ols_intercept_statsmodels_withcovar(random_state=0):
"""
This test has a statsmodels dependance. There seems to be no simple,
alternative way to perform a F-test on a linear model including
covariates.
"""
try:
from statsmodels.regression.linear_model import OLS
except:
warnings.warn("Statsmodels is required to run this test")
raise nose.SkipTest
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 1)
tested_var = np.ones((n_samples, 1))
confounding_vars = rng.randn(n_samples, 2)
# statsmodels OLS
ols = OLS(target_var, np.hstack((tested_var, confounding_vars))).fit()
fvals = ols.f_test([[1.0, 0.0, 0.0]]).fvalue
# permuted OLS
_, orig_scores, _ = permuted_ols(tested_var, target_var, confounding_vars, n_perm=0, random_state=random_state)
# same thing but with model_intercept=True to check it has no effect
_, orig_scores_addintercept, _ = permuted_ols(
tested_var, target_var, confounding_vars, model_intercept=True, n_perm=0, random_state=random_state
)
assert_array_almost_equal(fvals, orig_scores, decimal=6)
assert_array_almost_equal(orig_scores, orig_scores_addintercept, decimal=6)
开发者ID:philouc,项目名称:nilearn,代码行数:32,代码来源:test_permuted_least_squares.py
示例3: test_permuted_ols_withcovar
def test_permuted_ols_withcovar(random_state=0):
"""
"""
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 1)
tested_var = rng.randn(n_samples, 1)
confounding_vars = rng.randn(n_samples, 2)
# compute t-scores with linalg or statsmodels
ref_score = get_tvalue_with_alternative_library(tested_var, target_var,
confounding_vars)
# permuted OLS
_, own_score, _ = permuted_ols(
tested_var, target_var, confounding_vars, model_intercept=False,
n_perm=0, random_state=random_state)
assert_array_almost_equal(ref_score, own_score, decimal=6)
### Adds intercept
# permuted OLS
_, own_scores_intercept, _ = permuted_ols(
tested_var, target_var, confounding_vars, model_intercept=True,
n_perm=0, random_state=random_state)
# compute t-scores with linalg or statsmodels
confounding_vars = np.hstack((confounding_vars, np.ones((n_samples, 1))))
alt_score_intercept = get_tvalue_with_alternative_library(
tested_var, target_var, confounding_vars)
assert_array_almost_equal(alt_score_intercept, own_scores_intercept,
decimal=6)
开发者ID:salma1601,项目名称:nilearn,代码行数:31,代码来源:test_permuted_least_squares.py
示例4: test_permuted_ols_nocovar_multivariate
def test_permuted_ols_nocovar_multivariate(random_state=0):
"""Test permuted_ols with multiple tested variates and no covariate.
It is equivalent to fitting several models with only one tested variate.
"""
rng = check_random_state(random_state)
# design parameters
n_samples = 50
n_targets = 10
n_regressors = 2
# create design
target_vars = rng.randn(n_samples, n_targets)
tested_var = rng.randn(n_samples, n_regressors)
# compute t-scores with linalg or statsmodels
ref_scores = get_tvalue_with_alternative_library(tested_var, target_vars)
# permuted OLS
_, own_scores, _ = permuted_ols(
tested_var, target_vars, model_intercept=False,
n_perm=0, random_state=random_state)
assert_array_almost_equal(ref_scores, own_scores, decimal=6)
### Adds intercept (should be equivalent to centering variates)
# permuted OLS
_, own_scores_intercept, _ = permuted_ols(
tested_var, target_vars, model_intercept=True,
n_perm=0, random_state=random_state)
target_vars -= target_vars.mean(0)
tested_var -= tested_var.mean(0)
# compute t-scores with linalg or statsmodels
ref_scores_intercept = get_tvalue_with_alternative_library(
tested_var, target_vars, np.ones((n_samples, 1)))
assert_array_almost_equal(ref_scores_intercept, own_scores_intercept,
decimal=6)
开发者ID:salma1601,项目名称:nilearn,代码行数:34,代码来源:test_permuted_least_squares.py
示例5: test_permuted_ols_sklearn_nocovar
def test_permuted_ols_sklearn_nocovar(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 1)
tested_var = rng.randn(n_samples, 1)
# scikit-learn F-score
fvals, _ = f_regression(target_var, tested_var, center=False)
# permuted OLS
_, orig_scores, _ = permuted_ols(tested_var, target_var, model_intercept=False, n_perm=0, random_state=random_state)
assert_array_almost_equal([fvals], orig_scores, decimal=6)
# test with ravelized tested_var
_, orig_scores, _ = permuted_ols(
np.ravel(tested_var), target_var, model_intercept=False, n_perm=0, random_state=random_state
)
assert_array_almost_equal([fvals], orig_scores, decimal=6)
### Adds intercept (should be equivalent to centering variates)
# permuted OLS
_, orig_scores_addintercept, _ = permuted_ols(
tested_var, target_var, model_intercept=True, n_perm=0, random_state=random_state
)
target_var -= target_var.mean(0)
tested_var -= tested_var.mean(0)
# scikit-learn F-score
fvals_addintercept, _ = f_regression(target_var, tested_var, center=True)
assert_array_almost_equal([fvals_addintercept], orig_scores_addintercept, decimal=6)
开发者ID:philouc,项目名称:nilearn,代码行数:29,代码来源:test_permuted_least_squares.py
示例6: test_permuted_ols_withcovar_multivariate
def test_permuted_ols_withcovar_multivariate(random_state=0):
"""Test permuted_ols with multiple tested variates and covariates.
It is equivalent to fitting several models with only one tested variate.
"""
rng = check_random_state(random_state)
# design parameters
n_samples = 50
n_targets = 10
n_covars = 2
# create design
target_vars = rng.randn(n_samples, n_targets)
tested_var = rng.randn(n_samples, 1)
confounding_vars = rng.randn(n_samples, n_covars)
# compute t-scores with linalg or statmodels
ref_scores = get_tvalue_with_alternative_library(tested_var, target_vars,
confounding_vars)
# permuted OLS
_, own_scores, _ = permuted_ols(
tested_var, target_vars, confounding_vars, model_intercept=False,
n_perm=0, random_state=random_state)
assert_almost_equal(ref_scores, own_scores, decimal=6)
### Adds intercept
# permuted OLS
_, own_scores_intercept, _ = permuted_ols(
tested_var, target_vars, confounding_vars, model_intercept=True,
n_perm=0, random_state=random_state)
# compute t-scores with linalg or statmodels
confounding_vars = np.hstack((confounding_vars, np.ones((n_samples, 1))))
ref_scores_intercept = get_tvalue_with_alternative_library(
tested_var, target_vars, confounding_vars)
assert_array_almost_equal(ref_scores_intercept,
own_scores_intercept, decimal=6)
开发者ID:salma1601,项目名称:nilearn,代码行数:35,代码来源:test_permuted_least_squares.py
示例7: test_sided_test2
def test_sided_test2(random_state=0):
"""Check that two-sided can actually recover positive and negative effects.
"""
# create design
target_var1 = np.arange(0, 10).reshape((-1, 1)) # positive effect
target_var = np.hstack((target_var1, - target_var1))
tested_var = np.arange(0, 20, 2)
# permuted OLS
# one-sided
neg_log_pvals_onesided, _, _ = permuted_ols(
tested_var, target_var, model_intercept=False,
two_sided_test=False, n_perm=100, random_state=random_state)
# one-sided (other side)
neg_log_pvals_onesided2, _, _ = permuted_ols(
tested_var, -target_var, model_intercept=False,
two_sided_test=False, n_perm=100, random_state=random_state)
# two-sdided
neg_log_pvals_twosided, _, _ = permuted_ols(
tested_var, target_var, model_intercept=False,
two_sided_test=True, n_perm=100, random_state=random_state)
assert_array_almost_equal(neg_log_pvals_onesided[0],
neg_log_pvals_onesided2[0][::-1])
assert_array_almost_equal(neg_log_pvals_onesided + neg_log_pvals_onesided2,
neg_log_pvals_twosided)
开发者ID:salma1601,项目名称:nilearn,代码行数:26,代码来源:test_permuted_least_squares.py
示例8: test_permuted_ols_statsmodels_withcovar_multivariate
def test_permuted_ols_statsmodels_withcovar_multivariate(random_state=0):
"""Test permuted_ols with multiple tested variates and covariates.
It is equivalent to fitting several models with only one tested variate.
This test has a statsmodels dependance. There seems to be no simple,
alternative way to perform a F-test on a linear model including
covariates.
"""
try:
from statsmodels.regression.linear_model import OLS
except:
warnings.warn("Statsmodels is required to run this test")
raise nose.SkipTest
rng = check_random_state(random_state)
# design parameters
n_samples = 50
n_targets = 10
n_covars = 2
# create design
target_vars = rng.randn(n_samples, n_targets)
tested_var = rng.randn(n_samples, 1)
confounding_vars = rng.randn(n_samples, n_covars)
# statsmodels OLS
fvals = np.empty((n_targets, 1))
test_matrix = np.array([[1.0] + [0.0] * n_covars])
for i in range(n_targets):
ols = OLS(target_vars[:, i], np.hstack((tested_var, confounding_vars)))
fvals[i] = ols.fit().f_test(test_matrix).fvalue[0][0]
# permuted OLS
_, orig_scores, _ = permuted_ols(
tested_var, target_vars, confounding_vars, model_intercept=False, n_perm=0, random_state=random_state
)
assert_almost_equal(fvals, orig_scores, decimal=6)
### Adds intercept
# permuted OLS
_, orig_scores_addintercept, _ = permuted_ols(
tested_var, target_vars, confounding_vars, model_intercept=True, n_perm=0, random_state=random_state
)
# statsmodels OLS
confounding_vars = np.hstack((confounding_vars, np.ones((n_samples, 1))))
fvals_addintercept = np.empty((n_targets, 1))
test_matrix = np.array([[1.0] + [0.0] * (n_covars + 1)])
for i in range(n_targets):
ols = OLS(target_vars[:, i], np.hstack((tested_var, confounding_vars)))
fvals_addintercept[i] = ols.fit().f_test(test_matrix).fvalue[0][0]
assert_array_almost_equal(fvals_addintercept, orig_scores_addintercept, decimal=6)
开发者ID:philouc,项目名称:nilearn,代码行数:50,代码来源:test_permuted_least_squares.py
示例9: test_permuted_ols_check_h0_noeffect_signswap
def test_permuted_ols_check_h0_noeffect_signswap(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 100
# create dummy design with no effect
target_var = rng.randn(n_samples, 1)
tested_var = np.ones((n_samples, 1))
# permuted OLS
# We check that h0 is close to the theoretical distribution, which is
# known for this simple design (= t(n_samples - dof)).
perm_ranges = [10, 100, 1000] # test various number of permutations
all_kstest_pvals = []
# we compute the Mean Squared Error between cumulative Density Function
# as a proof of consistency of the permutation algorithm
all_mse = []
for i, n_perm in enumerate(np.repeat(perm_ranges, 10)):
pval, orig_scores, h0 = permuted_ols(
tested_var, target_var, model_intercept=False,
n_perm=n_perm, two_sided_test=False, random_state=i)
assert_equal(h0.size, n_perm)
# Kolmogorov-Smirnov test
kstest_pval = stats.kstest(h0, stats.t(n_samples).cdf)[1]
all_kstest_pvals.append(kstest_pval)
mse = np.mean(
(stats.t(n_samples).cdf(np.sort(h0))
- np.linspace(0, 1, h0.size + 1)[1:]) ** 2)
all_mse.append(mse)
all_kstest_pvals = np.array(all_kstest_pvals).reshape(
(len(perm_ranges), -1))
all_mse = np.array(all_mse).reshape((len(perm_ranges), -1))
# check that a difference between distributions is not rejected by KS test
assert_array_less(0.01 / (len(perm_ranges) * 10.), all_kstest_pvals)
# consistency of the algorithm: the more permutations, the less the MSE
assert_array_less(np.diff(all_mse.mean(1)), 0)
开发者ID:salma1601,项目名称:nilearn,代码行数:34,代码来源:test_permuted_least_squares.py
示例10: test_sided_test
def test_sided_test(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 100)
tested_var = rng.randn(n_samples, 1)
# permuted OLS
# one-sided
neg_log_pvals_onesided, _, _ = permuted_ols(
tested_var, target_var, model_intercept=False,
two_sided_test=False, n_perm=100, random_state=random_state)
# two-sdided
neg_log_pvals_twosided, _, _ = permuted_ols(
tested_var, target_var, model_intercept=False,
two_sided_test=True, n_perm=100, random_state=random_state)
assert_equal(
np.sum(neg_log_pvals_twosided - neg_log_pvals_onesided > 0), 0)
开发者ID:ainafp,项目名称:nilearn,代码行数:18,代码来源:test_permuted_least_squares.py
示例11: test_permuted_ols_intercept_sklearn_nocovar
def test_permuted_ols_intercept_sklearn_nocovar(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 1)
tested_var = np.ones((n_samples, 1))
# scikit-learn F-score
fvals, _ = f_regression(target_var, tested_var, center=False)
# permuted OLS
neg_log_pvals, orig_scores, _ = permuted_ols(
tested_var, target_var, confounding_vars=None, n_perm=10, random_state=random_state
)
assert_array_less(neg_log_pvals, 1.0) # ensure sign swap is correctly done
# same thing but with model_intercept=True to check it has no effect
_, orig_scores_addintercept, _ = permuted_ols(
tested_var, target_var, confounding_vars=None, model_intercept=True, n_perm=0, random_state=random_state
)
assert_array_almost_equal([fvals], orig_scores, decimal=6)
assert_array_almost_equal(orig_scores, orig_scores_addintercept, decimal=6)
开发者ID:philouc,项目名称:nilearn,代码行数:20,代码来源:test_permuted_least_squares.py
示例12: test_permuted_ols_intercept_nocovar_multivariate
def test_permuted_ols_intercept_nocovar_multivariate(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
n_targets = 10
# create design
target_vars = rng.randn(n_samples, n_targets)
tested_vars = np.ones((n_samples, 1))
# compute t-scores with nilearn routine
ref_scores = get_tvalue_with_alternative_library(tested_vars, target_vars)
# permuted OLS
_, own_scores, _ = permuted_ols(
tested_vars, target_vars, confounding_vars=None, n_perm=0,
random_state=random_state)
# same thing but with model_intercept=True to check it has no effect
_, own_scores_intercept, _ = permuted_ols(
tested_vars, target_vars, confounding_vars=None, model_intercept=True,
n_perm=0, random_state=random_state)
assert_array_almost_equal(ref_scores, own_scores, decimal=6)
assert_array_almost_equal(own_scores, own_scores_intercept, decimal=6)
开发者ID:salma1601,项目名称:nilearn,代码行数:20,代码来源:test_permuted_least_squares.py
示例13: test_permuted_ols_intercept_nocovar
def test_permuted_ols_intercept_nocovar(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 1)
tested_var = np.ones((n_samples, 1))
# compute t-scores with linalg or statmodels
t_val_ref = get_tvalue_with_alternative_library(tested_var, target_var)
# permuted OLS
neg_log_pvals, orig_scores, _ = permuted_ols(
tested_var, target_var, confounding_vars=None, n_perm=10,
random_state=random_state)
assert_array_less(neg_log_pvals, 1.) # ensure sign swap is correctly done
# same thing but with model_intercept=True to check it has no effect
_, orig_scores_addintercept, _ = permuted_ols(
tested_var, target_var, confounding_vars=None, model_intercept=True,
n_perm=0, random_state=random_state)
assert_array_almost_equal(t_val_ref, orig_scores, decimal=6)
assert_array_almost_equal(orig_scores, orig_scores_addintercept, decimal=6)
开发者ID:salma1601,项目名称:nilearn,代码行数:20,代码来源:test_permuted_least_squares.py
示例14: test_permuted_ols_intercept_statsmodels_withcovar
def test_permuted_ols_intercept_statsmodels_withcovar(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 1)
tested_var = np.ones((n_samples, 1))
confounding_vars = rng.randn(n_samples, 2)
# compute t-scores with linalg or statmodels
ref_scores = get_tvalue_with_alternative_library(tested_var, target_var,
confounding_vars)
# permuted OLS
_, own_scores, _ = permuted_ols(
tested_var, target_var, confounding_vars, n_perm=0,
random_state=random_state)
# same thing but with model_intercept=True to check it has no effect
_, own_scores_intercept, _ = permuted_ols(
tested_var, target_var, confounding_vars, model_intercept=True,
n_perm=0, random_state=random_state)
assert_array_almost_equal(ref_scores, own_scores, decimal=6)
assert_array_almost_equal(ref_scores, own_scores_intercept, decimal=6)
开发者ID:salma1601,项目名称:nilearn,代码行数:21,代码来源:test_permuted_least_squares.py
示例15: test_permuted_ols_intercept_sklearn_nocovar_multivariate
def test_permuted_ols_intercept_sklearn_nocovar_multivariate(random_state=0):
rng = check_random_state(random_state)
# design parameters
n_samples = 50
n_targets = 10
# create design
target_vars = rng.randn(n_samples, n_targets)
tested_var = np.ones((n_samples, 1))
# scikit-learn F-scores
fvals = np.empty((n_targets, 1))
for i in range(n_targets):
fvals[i], _ = f_regression(target_vars[:, i], tested_var, center=False)
# permuted OLS
_, orig_scores, _ = permuted_ols(
tested_var, target_vars, confounding_vars=None, n_perm=0, random_state=random_state
)
# same thing but with model_intercept=True to check it has no effect
_, orig_scores_addintercept, _ = permuted_ols(
tested_var, target_vars, confounding_vars=None, model_intercept=True, n_perm=0, random_state=random_state
)
assert_array_almost_equal(fvals, orig_scores, decimal=6)
assert_array_almost_equal(orig_scores, orig_scores_addintercept, decimal=6)
开发者ID:philouc,项目名称:nilearn,代码行数:22,代码来源:test_permuted_least_squares.py
示例16: test_permuted_ols_sklearn_nocovar_multivariate
def test_permuted_ols_sklearn_nocovar_multivariate(random_state=0):
"""Test permuted_ols with multiple tested variates and no covariate.
It is equivalent to fitting several models with only one tested variate.
"""
rng = check_random_state(random_state)
# design parameters
n_samples = 50
n_targets = 10
n_regressors = 2
# create design
target_vars = rng.randn(n_samples, n_targets)
tested_var = rng.randn(n_samples, n_regressors)
# scikit-learn F-scores
fvals = np.empty((n_targets, n_regressors))
for i in range(n_targets):
fvals[i], _ = f_regression(tested_var, target_vars[:, i], center=False)
# permuted OLS
_, orig_scores, _ = permuted_ols(
tested_var, target_vars, model_intercept=False, n_perm=0, random_state=random_state
)
assert_array_almost_equal(fvals, orig_scores, decimal=6)
### Adds intercept (should be equivalent to centering variates)
# permuted OLS
_, orig_scores_addintercept, _ = permuted_ols(
tested_var, target_vars, model_intercept=True, n_perm=0, random_state=random_state
)
target_vars -= target_vars.mean(0)
tested_var -= tested_var.mean(0)
# scikit-learn F-score
fvals_addintercept = np.empty((n_targets, n_regressors))
for i in range(n_targets):
fvals_addintercept[i], _ = f_regression(tested_var, target_vars[:, i], center=True)
assert_array_almost_equal(fvals_addintercept, orig_scores_addintercept, decimal=6)
开发者ID:philouc,项目名称:nilearn,代码行数:36,代码来源:test_permuted_least_squares.py
示例17: test_sided_test
def test_sided_test(random_state=0):
"""Check that a positive effect is always better recovered with one-sided.
"""
rng = check_random_state(random_state)
# design parameters
n_samples = 50
# create design
target_var = rng.randn(n_samples, 100)
tested_var = rng.randn(n_samples, 1)
# permuted OLS
# one-sided
neg_log_pvals_onesided, _, _ = permuted_ols(
tested_var, target_var, model_intercept=False,
two_sided_test=False, n_perm=100, random_state=random_state)
# two-sided
neg_log_pvals_twosided, _, _ = permuted_ols(
tested_var, target_var, model_intercept=False,
two_sided_test=True, n_perm=100, random_state=random_state)
positive_effect_location = neg_log_pvals_onesided > 1
assert_equal(
np.sum(neg_log_pvals_twosided[positive_effect_location]
- neg_log_pvals_onesided[positive_effect_location] > 0),
0)
开发者ID:salma1601,项目名称:nilearn,代码行数:24,代码来源:test_permuted_least_squares.py
示例18: NiftiMasker
nifti_masker = NiftiMasker(
mask=dataset_files.mask,
memory='nilearn_cache', memory_level=1) # cache options
fmri_masked = nifti_masker.fit_transform(dataset_files.func)
### Restrict to faces and houses ##############################################
conditions_encoded, _ = np.loadtxt(
dataset_files.session_target).astype("int").T
conditions = np.recfromtxt(dataset_files.conditions_target)['f0']
condition_mask = np.logical_or(conditions == 'face', conditions == 'house')
conditions_encoded = conditions_encoded[condition_mask]
fmri_masked = fmri_masked[condition_mask]
### Perform massively univariate analysis with permuted OLS ###################
neg_log_pvals, all_scores, _ = permuted_ols(
conditions_encoded, fmri_masked, # + intercept as a covariate by default
n_perm=10000,
n_jobs=1) # can be changed to use more CPUs
neg_log_pvals_unmasked = nifti_masker.inverse_transform(
neg_log_pvals).get_data()
### scikit-learn F-scores for comparison ######################################
from nilearn._utils.fixes import f_regression
_, pvals_bonferroni = f_regression(
fmri_masked, conditions_encoded) # f_regression implicitly adds intercept
pvals_bonferroni *= fmri_masked.shape[1]
pvals_bonferroni[np.isnan(pvals_bonferroni)] = 1
pvals_bonferroni[pvals_bonferroni > 1] = 1
neg_log_pvals_bonferroni = -np.log10(pvals_bonferroni)
neg_log_pvals_bonferroni_unmasked = nifti_masker.inverse_transform(
neg_log_pvals_bonferroni).get_data()
开发者ID:cindeem,项目名称:nilearn,代码行数:31,代码来源:plot_haxby_mass_univariate.py
示例19: non_parametric_inference
def non_parametric_inference(
second_level_input, confounds=None, design_matrix=None,
second_level_contrast=None, mask=None, smoothing_fwhm=None,
model_intercept=True, n_perm=10000, two_sided_test=False,
random_state=None, n_jobs=1, verbose=0):
"""Generate p-values corresponding to the contrasts provided
based on permutation testing. This fuction reuses the 'permuted_ols'
function Nilearn.
Parameters
----------
second_level_input: pandas DataFrame or list of Niimg-like objects.
If a pandas DataFrame, then they have to contain subject_label,
map_name and effects_map_path. It can contain multiple maps that
would be selected during contrast estimation with the argument
first_level_contrast of the compute_contrast function. The
DataFrame will be sorted based on the subject_label column to avoid
order inconsistencies when extracting the maps. So the rows of the
automatically computed design matrix, if not provided, will
correspond to the sorted subject_label column.
If list of Niimg-like objects then this is taken literally as Y
for the model fit and design_matrix must be provided.
confounds: pandas DataFrame, optional
Must contain a subject_label column. All other columns are
considered as confounds and included in the model. If
design_matrix is provided then this argument is ignored.
The resulting second level design matrix uses the same column
names as in the given DataFrame for confounds. At least two columns
are expected, "subject_label" and at least one confound.
design_matrix: pandas DataFrame, optional
Design matrix to fit the GLM. The number of rows
in the design matrix must agree with the number of maps derived
from second_level_input.
Ensure that the order of maps given by a second_level_input
list of Niimgs matches the order of the rows in the design matrix.
second_level_contrast: str or array of shape (n_col), optional
Where ``n_col`` is the number of columns of the design matrix.
The default (None) is accepted if the design matrix has a single
column, in which case the only possible contrast array([1]) is
applied; when the design matrix has multiple columns, an error is
raised.
mask: Niimg-like, NiftiMasker or MultiNiftiMasker object, optional,
Mask to be used on data. If an instance of masker is passed,
then its mask will be used. If no mask is given,
it will be computed automatically by a MultiNiftiMasker with default
parameters. Automatic mask computation assumes first level imgs have
already been masked.
smoothing_fwhm: float, optional
If smoothing_fwhm is not None, it gives the size in millimeters of the
spatial smoothing to apply to the signal.
model_intercept : bool,
If True, a constant column is added to the confounding variates
unless the tested variate is already the intercept.
n_perm : int,
Number of permutations to perform.
Permutations are costly but the more are performed, the more precision
one gets in the p-values estimation.
two_sided_test : boolean,
If True, performs an unsigned t-test. Both positive and negative
effects are considered; the null hypothesis is that the effect is zero.
If False, only positive effects are considered as relevant. The null
hypothesis is that the effect is zero or negative.
random_state : int or None,
Seed for random number generator, to have the same permutations
in each computing units.
n_jobs : int,
Number of parallel workers.
If -1 is provided, all CPUs are used.
A negative number indicates that all the CPUs except (abs(n_jobs) - 1)
ones will be used.
verbose: int, optional
verbosity level (0 means no message).
Returns
-------
neg_log_corrected_pvals_img: Nifti1Image
The image which contains negative logarithm of the
corrected p-values
"""
_check_second_level_input(second_level_input, design_matrix,
flm_object=False, df_object=False)
_check_confounds(confounds)
_check_design_matrix(design_matrix)
# Report progress
t0 = time.time()
if verbose > 0:
#.........这里部分代码省略.........
开发者ID:nistats,项目名称:nistats,代码行数:101,代码来源:second_level_model.py
示例20: permuted_ols
for gr in groups:
gr1_idx = data[data.DX_Group == gr[0]].index.values
gr2_idx = data[data.DX_Group == gr[1]].index.values
gr1_f = x[gr1_idx, :]
gr2_f = x[gr2_idx, :]
tval_clustered, pval_clustered = stats.ttest_ind(gr1_f, gr2_f)
pval_clustered = - np.log10(pval_clustered)
gr_idx = np.hstack([gr1_idx, gr2_idx])
gr_f = x[gr_idx, :]
gr_labels = np.vstack([np.hstack([[1]*len(gr1_idx), [0]*len(gr2_idx)]),
np.hstack([[0]*len(gr1_idx), [1]*len(gr2_idx)])]).T
p_clustered, t_clustered, _ = permuted_ols(gr_labels, gr_f,
n_perm=1000, n_jobs=4,
model_intercept=True)
t_masked = np.zeros(pet_data_masked.shape[1])
p_masked = np.zeros(pet_data_masked.shape[1])
pval_masked = np.zeros(pet_data_masked.shape[1])
for val in mbk_means_labels_unique:
t_masked[(mbk_means_labels == val)] = t_clustered[0, val]
p_masked[(mbk_means_labels == val)] = p_clustered[0, val]
pval_masked[(mbk_means_labels == val)] = pval_clustered[val]
tmap = masker.inverse_transform(t_masked)
pmap = masker.inverse_transform(p_masked)
pvalmap = masker.inverse_transform(pval_masked)
header = pmap.get_header()
header['aux_file'] = 'Hot'
开发者ID:mrahim,项目名称:playground,代码行数:31,代码来源:ttest_cluster_adni.py
注:本文中的nilearn.mass_univariate.permuted_ols函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论