RSL-D
Bases: RSLBase
Source code in rcd/rsl/rsl_d.py
__init__(ci_test, find_markov_boundary_matrix_fun=None)
Initialize the rsl algorithm with the conditional independence test to use.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ci_test |
A conditional independence test function that takes in the names of two variables and a list of variable names as the conditioning set, and returns True if the two variables are independent given the conditioning set, and False otherwise. The function's signature should be: ci_test(var_name1: str, var_name2: str, cond_set: List[str], data: pd.DataFrame) -> bool |
required | |
find_markov_boundary_matrix_fun |
optional
|
A function to find the Markov boundary matrix. This function should take in a Pandas DataFrame of data, and return a 2D numpy array, where the (i, j)th entry is True if the jth variable is in the Markov boundary of the ith variable, and False otherwise. The function's signature should be: find_markov_boundary_matrix_fun(data: pd.DataFrame) -> np.ndarray |
None
|
Source code in rcd/rsl/rsl_d.py
find_neighborhood(var)
Find the neighborhood of a variable using Proposition 40.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var |
int
|
The variable whose neighborhood we want to find. |
required |
Returns:
Type | Description |
---|---|
ndarray
|
np.ndarray: 1D numpy array containing the variables in the neighborhood. |
Source code in rcd/rsl/rsl_d.py
is_removable(var)
Check whether a variable is removable using Theorem 39.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var |
int
|
The variable to check. |
required |
Returns:
Name | Type | Description |
---|---|---|
bool |
bool
|
True if the variable is removable, False otherwise. |