Skip to content

CPM Regression

CPMRegression

This class handles the process of performing CPM Regression with cross-validation and permutation testing.

__init__(results_directory, cv=KFold(n_splits=10, shuffle=True, random_state=42), inner_cv=None, edge_selection=UnivariateEdgeSelection(edge_statistic='pearson', edge_selection=[PThreshold(threshold=[0.05], correction=[None])]), select_stable_edges=False, stability_threshold=0.8, impute_missing_values=True, n_permutations=0, atlas_labels=None)

Initialize the CPMRegression object.

Parameters:

Name Type Description Default
results_directory str

Directory to save results.

required
cv Union[BaseCrossValidator, BaseShuffleSplit]

Outer cross-validation strategy.

KFold(n_splits=10, shuffle=True, random_state=42)
inner_cv Union[BaseCrossValidator, BaseShuffleSplit]

Inner cross-validation strategy for edge selection.

None
edge_selection UnivariateEdgeSelection

Method for edge selection.

UnivariateEdgeSelection(edge_statistic='pearson', edge_selection=[PThreshold(threshold=[0.05], correction=[None])])
impute_missing_values bool

Whether to impute missing values.

True
n_permutations int

Number of permutations to run for permutation testing.

0
atlas_labels str

CSV file containing atlas and regions labels.

None

run(X, y, covariates)

Estimates a model using the provided data and conducts permutation testing. This method first fits the model to the actual data and subsequently performs estimation on permuted data for a specified number of permutations. Finally, it calculates permutation results.

Parameters:

Name Type Description Default
X Union[DataFrame, ndarray]
required
y Union[Series, DataFrame, ndarray]
required
covariates Union[Series, DataFrame, ndarray]
required