SlowGuess/NeurIPS_2023_OCR huggingface dataset:
$$
\boldsymbol {X} \tilde {\beta} _ {x} + \boldsymbol {Y} \tilde {\beta} _ {y} - \boldsymbol {Y} \beta_ {y} = (\boldsymbol {X}, \boldsymbol {Y}) \left( \begin{array}{c} \tilde {\beta} _ {x} \\ \tilde {\beta} _ {y} \end{array} \right) - (\boldsymbol {X}, \boldsymbol {Y}) \left( \begin{array}{c} \mathbf {0} _ {k _ {x}} \\ \beta_ {y} \end{array} \right) = \boldsymbol {Z} \left( \begin{array}{c} \tilde {\beta} _ {x} \\ \tilde {\beta} _ {y} - \beta_ {y} \end{array} \right) = 0
$$
Since  $Z$  has full column rank, then the null space of  $Z$  is  $\mathbf{0}$ , which implies  $\tilde{\beta}_x = \mathbf{0}$ ,  $\tilde{\beta}_y = \beta_y$ .
Lemma 5. For any  $h \in [H]$ , if
$$
\sum_ {k \in \operatorname {P r e} (X _ {j})} \Psi_ {j k} \tilde {\beta} _ {j k} ^ {h} = \sum_ {k \in \mathrm {P A} _ {j} ^ {h}} \Psi_ {j k} \beta_ {j k} ^ {h},
$$
then  $\tilde{\beta}_{jk}^{h} = \beta_{jk}^{h}$  if  $k\in \mathrm{PA}_j^h$  , and  $\tilde{\beta}_{jk}^{h} = 0$  if  $k\notin \mathrm{PA}_j^h$
Proof. Rearrange the set  $\operatorname{Pre}(X_j)$  so that  $\operatorname{Pre}(X_j) = \{X_{k_1}, X_{k_2}, \ldots, X_{k_m}, X_{k_{m+1}}, \ldots, X_{k_p}\}$ , where  $\{X_{k_1}, \ldots, X_{k_m}\} = \operatorname{Pre}(X_j) \setminus \mathrm{PA}_j$ , and  $\{X_{k_{m+1}}, \ldots, X_{k_p}\} = \mathrm{PA}_j$ . Then let  $\mathbf{X} = (\Psi_{k_1}, \ldots, \Psi_{k_m})$ ,  $\mathbf{Y} = (\Psi_{k_{m+1}}, \ldots, \Psi_{k_p})$ , and  $\mathbf{Z} = (\mathbf{X}, \mathbf{Y})$ . By the linear independence property of the basis functions of  $\operatorname{Pre}(X_j)$ , we have that the columns of  $\mathbf{Z}$  are linearly independent. Also, let
$$
\tilde {\beta} _ {x} = \left( \begin{array}{c} \tilde {\beta} _ {j k _ {1}} ^ {h} \\ \vdots \\ \tilde {\beta} _ {j k _ {m}} ^ {h} \end{array} \right), \quad \tilde {\beta} _ {y} = \left( \begin{array}{c} \tilde {\beta} _ {j k _ {m + 1}} ^ {h} \\ \vdots \\ \tilde {\beta} _ {j k _ {p}} ^ {h} \end{array} \right), \quad \beta_ {y} = \left( \begin{array}{c} \beta_ {j k _ {m + 1}} ^ {h} \\ \vdots \\ \beta_ {j k _ {p}} ^ {h} \end{array} \right)
$$
Then we must have:
$$
\sum_ {k \in \operatorname {P r e} (X _ {j})} \Psi_ {j k} \tilde {\beta} _ {j k} ^ {h} = \sum_ {k \in \mathrm {P A} _ {j} ^ {h}} \Psi_ {j k} \beta_ {j k} ^ {h} \quad \Rightarrow \quad \boldsymbol {X} \tilde {\beta} _ {x} + \boldsymbol {Y} \tilde {\beta} _ {y} = \boldsymbol {Y} \beta_ {y}.
$$
Then by Lemma 4, we have  $\tilde{\beta}_{jk}^{h} = \beta_{jk}^{h}$  if  $k\in \mathrm{PA}_j^h$ $\tilde{\beta}_{jk}^{h} = 0$  if  $k\notin \mathrm{PA}_j^h$
Proof of Theorem 3. We know that  $\operatorname{Pre}(X_j)$  contains the ancestors of  $X_j$ . Then, in environment  $h$ , we have:
$$
\begin{array}{l} \mathbb {E} _ {p ^ {h}} \left[ X _ {j} \mid \operatorname {P r e} \left(X _ {j}\right) \right] = \mathbb {E} _ {p ^ {h}} \left[ f _ {j} ^ {h} \left(\mathrm {P A} _ {j} ^ {h}\right) \mid \operatorname {P r e} \left(X _ {j}\right) \right] + \mathbb {E} _ {p ^ {h}} \left[ N _ {j} \mid \operatorname {P r e} \left(X _ {j}\right) \right] \\ = f _ {j} ^ {h} (\mathrm {P A} _ {j} ^ {h}), \\ \end{array}
$$
where the last equality follows since the first conditional expectation is equal to  $f_{j}^{h}(\mathrm{PA}_{j})$ , due to  $\mathrm{PA}_j\subseteq \operatorname {Pre}(X_j)$ . Moreover, in the second conditional expectation term, we have that  $N_{j}$  is marginally independent of  $\operatorname {Pre}(X_j)$  by the d-separation criterion. Thus the conditional expectation of  $N_{j}$  equals to the marginal expectation of  $N_{j}$ , which is 0. Finally,
$$
\sum_ {k \in \operatorname {P r e} (X _ {j})} \Psi_ {j k} \tilde {\beta} _ {j k} ^ {h} = \mathbb {E} _ {p ^ {h}} [ X _ {j} \mid \operatorname {P r e} (X _ {j}) ] = f _ {j} ^ {h} (\mathrm {P A} _ {j} ^ {h}) = \sum_ {k \in \mathrm {P A} _ {j} ^ {h}} \Psi_ {j k} \beta_ {j k} ^ {h}
$$
By Lemma 5, we have  $\tilde{\beta}_{jk}^{h} = \beta_{jk}^{h}$  if  $k\in \mathrm{PA}_j^h$ $\tilde{\beta}_{jk}^{h} = 0$  if  $k\notin \mathrm{PA}_j^h$
This section provides a thorough evaluation of the pipeline of our method. We begin by assessing the performance of our method in detecting the shifted nodes. Subsequently, we extend the evaluation to include the recovery of the structurally shifted edges.
C.1 Experiments on detecting shifted nodes
Graph models. We ran experiments by generating adjacency matrices using the Erdős–Rényi (ER) and Scale free (SF) graph models. For a given number of variables  $d$ , ERk and SFk indicate an average number of edges equal to  $kd$ .
Data generation process. We first sampled a Directed Acyclic Graph (DAG) according to either the Erdős-Rényi (ER) model or the Scale-Free (SF) model for environment  $\mathcal{E}_1$ .
For environment  $\mathcal{E}_2$ , we used the same DAG structure as in environment  $\mathcal{E}_1$ , ensuring a direct comparison between the two environments. To introduce artificial shifted nodes, we randomly selected  $0.2 \cdot d$  nodes from the non-root nodes, where  $d$  represents the total number of nodes in the DAG. These selected nodes were considered as the "shifted nodes," denoted as  $S$ , with  $|S| = 0.2d$ .
The functional relationship between a node  $X_{j}$  and its parents in environment  $\mathcal{E}_1$  was defined as follows:
$$
X _ {j} = \sum_ {i \in \mathrm {P A} _ {j}} \sin (X _ {i} ^ {2}) + N _ {j},
$$
while for environment  $\mathcal{E}_2$ , we defined the functional relationships between each node and its parents by:
$$
X _ {j} = \left\{ \begin{array}{l l} \sum_ {i \in \mathrm {P A} _ {j}} \sin (X _ {i} ^ {2}) + N _ {j}, & \text {i f} X _ {j} \notin S, \\ \sum_ {i \in \mathrm {P A} _ {j}} 4 \cos (2 X _ {i} ^ {2} - 3 X _ {i}) + N _ {j}, & \text {i f} X _ {j} \in S. \end{array} \right.
$$
Experiment detail. In each simulation, we generated 500 data points, with the variances of the noise set to 1. We conducted 30 simulations for each combination of graph type, noise type, and number of nodes. The running time was recorded by executing the experiments on an Intel Xeon Gold 6248R Processor with 8 cores. For our method, we used the hyperparameters eta_G = 0.005, eta_H = 0.005, and threshold  $t = 2$  (see Algorithm 3).
Evaluation. We conducted a comparative analysis to evaluate the performance of our method in detecting shifted nodes compared to DCI. The evaluation was based on F1 score, precision, and recall as the evaluation metrics. Furthermore, we examined the robustness of our method by conducting tests using Gumbel and Laplace as noise distributions.
Figures 6, 7, and 8 illustrate our method's performance across varying numbers of nodes and sparsity levels of the graphs. Our method consistently outperformed DCI in terms of F1 score, precision, and recall.
Figure 6: Shifted nodes detection in ER2 and SF2 graphs. For each point, we conducted 30 simulations as described in Section C.1. The points indicate the average values obtained from these simulations, while the error bars depict the standard errors. For each simulation, 500 samples were generated. Our method iSCAN (green) consistently outperformed DCI (red) in terms of F1 score, precision, and recall.
Methods DCI iSCAN (ours)
Figure 7: Shifted nodes detection in ER4 and SF4 graphs. For each point, we conducted 30 simulations as described in Section C.1. The points indicate the average values obtained from these simulations, while the error bars depict the standard errors. For each simulation, 500 samples were generated. Our method iSCAN (green) consistently outperformed DCI (red) in terms of F1 score, precision, and recall.
Figure 8: Shifted nodes detection in ER6 and SF6 graphs. For each point, we conducted 30 simulations as described in Section C.1. The points indicate the average values obtained from these simulations, while the error bars depict the standard errors. For each simulation, 500 samples were generated. Our method iSCAN (green) consistently outperformed DCI (red) in terms of F1 score, precision, and recall.
C.1.1 Experiments in detecting shifted nodes from Gaussian process
Data generation process. We first sampled a DAG according to the ER or SF model. In our experiment, we considered two environments,  $\mathcal{E}_1$  and  $\mathcal{E}_2$ , with the same DAG structure. Each node in the graph had a functional relationship with its parents defined as  $X_{j} = f_{j}^{h}(\mathrm{PA}_{j}^{h}) + N_{j}$ , where  $N_{j}$  is an independent standard Gaussian variable. Recall that the superscript  $h$  denotes the function for environment  $\mathcal{E}_h$ .
To introduce shifted nodes, we randomly selected  $0.2 \cdot d$  nodes from the non-root nodes, denoted as  $S$ , to be the shifted nodes. In other words,  $|S| = 0.2d$ . For the non-shifted nodes  $X_{j}$  (i.e  $j \notin S$ ), we set  $f_{j}^{1} = f_{j}^{2}$ . However, for each shifted node  $X_{j}$  in  $S$ , we changed its functional relationship with its parents to  $X_{j} = 2 \cdot f_{j}^{2}(\mathrm{PA}_{j}^{2}) + N_{j}$ .
To test our method in a more general setting involving nonlinear functions, we followed the approach in [65, 39]. Specifically, for non-shifted nodes, we generated the link functions  $f_{j}^{1}$  by sampling Gaussian processes with a half unit bandwidth RBF kernel, and we set  $f_{j}^{2} = f_{j}^{1}$ . For shifted nodes,  $X_{j} \in S$ , we generated the link functions  $f_{j}^{1}$  and  $f_{j}^{2}$  by sampling Gaussian processes with a half unit bandwidth RBF kernel independently. This allowed us to simulate different functional relationships for the shifted nodes across the two environments.
Experiment detail. In each simulation, we generated 1000 data points, with the variances of the noise set to 1. We conducted 30 simulations for each combination of graph type, noise type, and number of nodes. The running time was recorded by executing the experiments on an Intel Xeon Gold 6248R Processor with 8 cores. For our method, we used the hyperparameters eta_G = 0.005, eta_H = 0.005, and elbow = True (see Remark 6).
Evaluation. We conducted a comparative performance analysis between our proposed Algorithm 1 (iSCAN, green) and the DCI (red) method. The results for ER2 and SF2 graphs under Gaussian, Gumbel, and Laplace noise distributions are shown in Figure 9. In certain cases, our method may underperform DCI in terms of precision, resulting in a lower F1 score. However, it is important to note that our method consistently outperforms DCI in terms of recall score.
Furthermore, Figure 10 and Figure 11 present the results for ER4/SF4, and ER6/SF6 graphs. In terms of precision, our method exhibits competitive performance and, in many cases, outperforms DCI. Notably, iSCAN consistently surpasses DCI in terms of recall score and F1 score.
These findings emphasize the strengths of our proposed method in accurately detecting shifted nodes and edges, particularly in terms of recall and overall performance. In denser graphs, our method demonstrates a superior ability to recover shifted nodes compared to DCI. This suggests that our method is well-suited for scenarios where the graph structure is more complex and contains a larger number of nodes and edges. The improved performance of our method in such settings further highlights its potential in practical applications and its ability to handle more challenging tasks.
Top-k precision. We have observed that in some cases, the precision of our method underperformed DCI. We attribute this to the elbow method rather than  $\text{stats}_L$ . To further investigate this, we conducted an analysis using only  $\text{stats}_L$  and measured the precision based on different criteria. Specifically, we identified nodes as shifted if their  $\text{stats}_L$  ranked first, first two, or within the top k, denoted as top-1 precision, top-2 precision, and top-k precision, respectively, where  $k = |S|$ .
Figure 12 presents the results of precision for top-1, top-2, and top-k criteria under various graph models and noise combinations. In most cases, the precision exceeds  $80\%$  and even approaches  $100\%$ . These results indicate that when using  $\mathrm{stats}_L$  alone, our method still provides accurate information about shifted nodes. The findings suggest that the lower precision observed in Figure 9 can be attributed to the elbow strategy rather than the effectiveness of  $\mathrm{stats}_L$ . Overall, this analysis strengthens the reliability and usefulness of  $\mathrm{stats}_L$  in accurately identifying shifted nodes in our method.
Figure 9: Experiments on detection of shifted nodes in ER2/SF2 graphs using Gaussian processes. Details described in Appendix C.1.1. The error bars represent the standard errors.
Figure 10: Experiments on detection of shifted nodes in ER4/SF4 graphs using Gaussian processes. Details described in Appendix C.1.1. The error bars represent the standard errors.
Figure 11: Experiments on detection of shifted nodes in ER6/SF6 graphs using Gaussian processes. Details described in Appendix C.1.1. The error bars represent the standard errors.
Figure 12: Top 1, 2 and K performance of iSCAN where functionals are sampled from Gaussian processes. Details described in Appendix C.1.1. The error bars represent the standard errors.
C.2 Experiments on estimating structural shifts
$$
X _ {j} = \sum_ {i \in \mathrm {P A} _ {j} ^ {1} \backslash D _ {j}} \sin \left(X _ {i} ^ {2}\right) + \sum_ {i \in D _ {j}} 4 \cos \left(2 X _ {i} ^ {2} - 3 X _ {i}\right) + N _ {j}
$$
In the case of the method introduced by Budhathoki et al. [11], we employed Kernel Conditional Independence (KCI) tests [86] for conducting conditional independence tests. As for CITE, KCD, UT-IGSP, and SCORE, we used their respective default parameter settings provided within their packages. Additionally, for SCORE, we employed it to estimate the DAGs independently for different environments and then compared the recovered DAGs to identify the shifted nodes. Given that Budhathoki's and KCD methods require information about the parents  $\mathrm{PA}_j$  for each node  $X_{j}$ , we employed the SCORE method to find the parent sets  $\mathrm{PA}_j$ .
Evaluation. In this experiment, we assessed the performance of our method in two aspects: detecting shifted nodes and recovering the structural changes (difference DAG). For the evaluation of shifted node detection, we measured F1 score, recall, and precision. In the evaluation of difference DAG recovery, we compared the estimated difference DAG with the ground truth difference DAG using F1 score. Additionally, we considered the running time of the methods as another evaluation criterion.
Figures 13, 14, and 15 illustrate our method's performance in detecting shifted nodes across varying numbers of nodes and sparsity levels of the graphs. Our method consistently outperformed baselines in terms of F1 score, precision, and recall.
Figures 16 showcase the performance of our method in recovering difference DAG across different noise distribution, different numbers of nodes and sparsity levels in the graphs. Our method achieves higher F1 score in recovering the difference DAG compared with DCI.
Figure 13: Shifted nodes detection performance in ER2/SF2. See App. C.2 for experimental details. iSCAN (light blue) consistently outperformed baselines in terms of F1 score, precision, and recall.
Figure 14: Shifted nodes detection performance in ER4/SF4. See App. C.2 for experimental details. iSCAN (light blue) consistently outperformed baselines in terms of F1 score, precision, and recall.
Figure 15: Shifted nodes detection performance in ER6/SF6. See App. C.2 for experimental details. iSCAN consistently outperformed baselines in terms of F1 score, precision, and recall.
Figure 16: Difference DAG recovery performance in all different graphs. iSCAN-FOCI (green) consistently outperformed DCI (red) in terms of F1 score.
C.3 Performance of Alg. 3 using the elbow method
In this section, we aim to understand the performance of our method when using the elbow approach discussed in Remark 6, random functions for shifted nodes, and different noise variances per variable within an environment.
For environment  $\mathcal{E}_2$ , we used the same DAG structure as in environment  $\mathcal{E}_1$ , ensuring a direct comparison between the two environments. To introduce artificial shifted edges, we randomly selected  $0.2 \cdot d$  nodes from the non-root nodes, where  $d$  represents the total number of nodes in the DAG. These selected nodes correspond to shifted nodes, denoted as  $S$ , with  $|S| = 0.2d$ . For each shifted node  $X_j \in S$ , we uniformly and randomly deleted 3 edges originating from its parents for environment  $\mathcal{E}_2$ . The parent nodes whose edges to  $X_j$  were deleted are denoted as  $D_j$ .
The functional relationship between shifted node  $X_{j}$  and its parents  $D_{j}$  in environment  $\mathcal{E}_1$  was defined as follows:
$$
X _ {j} = \sum_ {i \in \mathrm {P A} _ {j}, i \notin D _ {j}} \sin (X _ {i} ^ {2}) + \sum_ {i \in D _ {j}} c _ {i j} \cdot f _ {i j} (- 2 X _ {i} ^ {3} + 3 X _ {i} ^ {2} + 4 X _ {i}) + N _ {j},
$$
where  $c_{ij} \sim \mathrm{Uniform}([ -5, -2] \cup [2, 5])$ , and  $f_{ij}$  is a function from  $\{\mathrm{sinc}(\cdot), \cos(\cdot)\}$  chosen uniformly at random. For environment  $\mathcal{E}_2$ , where the adjacency matrix has undergone deletions, we defined the functional relationship between each node and its parents as follows:
$$
X _ {j} = \sum_ {i \in \mathrm {P A} _ {j}} \sin (X _ {i} ^ {2}) + N _ {j}
$$
Experiment detail. In each simulation, we generated  $\{500, 1000\}$  data points, with the variances of the noises set uniformly at random in  $[0.25, 0.5]$ . We tested three types of noise distributions, namely, the Normal, Laplace, and Gumbel distributions. We conducted a 100 simulations for each combination of graph type, noise type, and number of nodes. The running time was recorded by executing the experiments on an Intel Xeon Gold 6248R Processor with 8 cores. For our method, we used the hyperparameter  $\eta = 0.001$ . Different from the hard threshold of  $t = 2$  used in previous experiments, we now used the elbow approach to determine the set of shifted nodes. To automatically select the elbow we made use of the Python package Kneed<sup>7</sup>, with hyperparameters  $\text{curve} = \text{'convex'}$ , direction='decreasing', online=online, interp_method='interppld'
Evaluation. In this experiment, we assessed the performance of our method in two aspects: detecting shifted nodes and recovering the difference DAG. For the evaluation of shifted node detection, we measured F1 score, recall, and precision. In the evaluation of difference DAG recovery, we compared the estimated difference DAG with the ground truth difference DAG using F1 score.
In Figures 17 and 18 we present the performances when using the elbow approach discussed in Remark 6. In Figure 17, we note that iSCAN performs similarly for number of samples 500 and 1000. We also show the top-1, top-2, and top-k precision of iSCAN when choosing the first, first 2, and first k variables of stats (see Algorithm 3) after sorting in decreasing order, respectively. We remark that the superbly performance of iSCAN in top-1 or top-2 precision suggests that in situations that is difficult to choose a threshold for Algorithm 3, the practioner can consider that the first or first two variables of stats are more likely to be shifted nodes. Finally, in Figure 18 we show that iSCAN outperforms DCI in recovering the underlying structural difference.
<sup>7</sup>We used the latest version found at: https://kneed.readthedocs.io/en/stable/.
Figure 17: Shifted nodes detection performance in ERk and SFk for  $k \in \{2,4,6\}$ . For each point in each subplot, we conducted 100 simulations as described in Section C.3. The points indicate the average values obtained from these simulations. The error bars depict the standard errors. Our method iSCAN (green) consistently outperformed DCI (red) in terms of F1 score, precision, and recall.
Figure 18: Difference DAG recovery performance in all different graphs. For each point in each subplot, we conducted 100 simulations as described in Section C.3. The points indicate the average values obtained from these simulations. The error bars depict the standard errors. Our method iSCAN with FOCI (green) consistently outperformed DCI (red) in terms of F1 score.
D Additional Discussion on Shifted Edges
In Section 4, we focused on estimating structural changes across the environments (Definition 4). However, in some situations it might be of interest to determine whether the functional relationship between two variables has changed across the environments. The latter could have multiple interpretations, in this section, we elaborate on a particular type of functional change via partial derivatives.
Definition 5 (functionally shifted edge). Given environments  $\mathcal{E} = (X, f^h, \mathbb{P}_N^h)$  for  $h \in [H]$ , an edge  $(X_i \to X_j)$  is called a functionally shifted edge if there exists  $h, h' \in [H]$  such that:
$$
\frac {\partial}{\partial x _ {i}} f _ {j} ^ {h} \left(\mathrm {P A} _ {j} ^ {h}\right) \neq \frac {\partial}{\partial x _ {i}} f _ {j} ^ {h ^ {\prime}} \left(\mathrm {P A} _ {j} ^ {h ^ {\prime}}\right).
$$
Without further assumptions about the functional form of  $f_{j}^{h}$ , certain ill-posed situations may arise under Definition 5. Let us consider the following example.
Example 1. Let  $\mathcal{E}_A$  and  $\mathcal{E}_B$  be two environments, each consisting of three nodes. Let the structural equations for node  $X_3$  be:  $X_3^A = \exp (X_1^A +X_2^A) + N_3$ , and  $X_{3}^{B} = \exp (2\cdot X_{1}^{B} + X_{2}^{B}) + N_{3}$ . In this scenario, one could consider that the causal relationship  $X_{2}\rightarrow X_{3}$  has not changed. However, we note that  $\frac{\partial f_3^A}{\partial x_2^A}\neq \frac{\partial f_3^B}{\partial x_2^B}$ , thus, testing for changes in the partial derivative would yield a false discovery for the non-shifted edge  $X_{2}\to X_{3}$ .
Ill-posed situations such as the above example can be avoided by additional assumptions on the functional mechanisms. We next discuss a sufficient condition where the partial derivative test for functional changes is well-defined.
Assumption D (Additive Models). Let  $S$  be the set of shifted nodes across all the  $H$  environments. Then, for all  $j \in S, h \in [H]$ :
$$
f _ {j} ^ {h} (\mathrm {P A} _ {j} ^ {h}) = a _ {j} ^ {h} + \sum_ {k \in \mathrm {P A} _ {j} ^ {h}} f _ {j k} ^ {h} (X _ {k}),
$$
where  $a_j^h$  is a constant,  $f_{jk}^h$  is a nonlinear function, where  $f_{jk}^h(\cdot)$  lies in some space of function class  $\mathcal{F}$ .
Remark 7. Assumption  $D$  amounts to modelling each variable as a generalized linear model [27]. It is widely used in nonparametrics and causal discovery [12, 43, 80]. Moreover, it not only provides a practical framework but also makes the definition of shifted edges (as per Definition 5) well-defined and reasonable.
Remark 8. Note that Assumption  $D$  makes assumptions only on the set of shifted nodes. This is because the set of invariant nodes can be identified regardless of the their type of structural equation, and it is also clear these nodes cannot have any type of shift.
Now consider a function class  $\mathcal{F}$ , which incorporates the use of basis functions to model the additive components  $f_{jk}^{h}$ . Specifically, we express  $f_{jk}^{h}(x_{k}) = \Psi_{jk}^{h}(x_{k})\beta_{jk}^{h}$ , where feature mapping  $\Psi_{jk}^{h}$  is a  $1\times r$  matrix whose columns represent the basis functions and  $\beta_{jk}^{h}$  is an  $r$ -dimensional vector containing the corresponding coefficients. Moreover, we assume that the functions  $f_{jk}^{1},\ldots ,f_{jk}^{H}$  share a same feature mapping  $\Psi_{jk}^{1}(\cdot) = ,\dots , = \Psi_{jk}^{H}(\cdot)$  but can have different coefficients  $\beta_{jk}^{h}$  across the  $H$  environments. The latter has been assumed in prior work, e.g., [44]. The approach of using a basis function approximation is widely adopted in nonparametric analysis, and it has been successfully employed in various domains such as graph-based methods [80], and the popular CAM framework [12]. Then, under Assumption D and Definition 5, we present the following proposition: