
## Algorithm 2 **L-Grouplingam**

1: Given a p-dimensional variables x, a set of its subscripts V , a p×n **data matrix**
of the variables X and a cardinality h**, initialize the list of orders between**
combinations of variables ˜k = ∅.

2: Compute a random covering T (i) (i = 1, . . . , N**) of variables with cardinarity**
h.

3: for i = 1**, . . . , N** do 4: **Apply Alg. 1 modefied by replacing Line 1 in GroupSearch func. to (5) with**
V ← T (i**), and add new orders from its output** K to ˜k.

5: **end for**
6: Construct a block order K˜ **for all variables from** ˜k.

7: Construct a strictly lower block-triangular matrix B **by following the order in** K˜ ,
and estimate the connection strengths bij **(using some conventional covariancebased regression, such as least-squares and maximum-likelihood approaches) on**
the original variables x **and data matrix** X.

Therefore, one can write xS = A˜Se˜S and xT\S = A˜T\S,SA˜−1 S xS + A˜T\Se˜T\S,
where xS and A˜T\Se˜T\S **are mutually independent. This means, if we denote**
as e˜S =Pi∈S1 aS,iei and e˜T\S =Pi∈S2 aT\S,iei, where S1 ⊆ S ∪ (V \ T **) and**
S2 ⊆ (T \ S) ∪ (V \ T ), then the union of S1 and S2 is empty, **i.e.**, S1 ∩ S2 = ∅. This means that all elements of the submatrix {aij} (i ∈ S1 ∪ **S, j** ∈ V \ (S1 ∪ S)) of the mixing matrix A are zeros and, as a result, l(i1) < l(i2).

Based on the above result, we now present an algorithm for estimating the GroupLiNGAM model with large number of variables. The pseudo-code of the algorithm is shown in Alg. 2, where ˜k is the list of combinations of variables (j1, j2**) with orders**
l(j1) < l(j2).

In the algorithm, we first generate a random covering of all variables T (i) (i =
1, . . . , N) (Line 2 in Alg. 2), i.e., subsets T (i) ⊂ V such that ∪i=1,...,N T (i) = V .

And, we apply Alg. 1 to each T (i**) (Lines 3–5 in Alg. 2). Then, in order to reflect**
already-known orders (j1, j2) (j1, j2 ∈ T (i)) when choosing S ⊂ U **in Lines 1–3 in**
GroupSearch function in Alg. 1, we replace Lines 1 in GroupSearch to **the following:**
(5) for S ⊂ U s.t. j2 ∈ S → j1 ∈/ U \ S for (j1, j2) ∈ k˜ do Also, the application of Alg. 1 may generate an output making a cycle as a whole when combined with previously-obtained orders due to statistical uncertainty of samples as the iterations of Lines 3–5 in Alg. 2 continue. In such a case, the inconsistent (old and new) orders need to be removed, i.e.**, we merge the ordered**
variables by these orders into a group. Finally, the ordering of variable subsets is constructed from the list of obtained orders. Although this procedure may not be able to find some of block orders, more and more ones are expected **to be found**
depending on subsets T (i**) as the iteration continue.**

## 5. Simulations

In this section, we evaluate the proposed algorithms empirically using **artificial**
datasets. Especially, we focus on (i) the evaluation of the validity of **the proposed** algorithms for estimating the GroupLiNGAM model (Alg. 1 and Alg. 2) and (ii)
8