EconBase
← Back to paper

Representation Multiplicity in Causal Forests

The exact contents of citations.db main_text.text for this paper — one flattened LaTeX string, title through conclusion, appendix excluded, unmodified except for removing email addresses. This is what our citation measures are computed over.

50,841 characters

Representation Multiplicity in Causal Forests


\title{Representation Multiplicity in Causal Forests}
\author{Yi Niu\thanks{Department of Economics, University of Pennsylvania. Email: \texttt{[email removed]}}}
\date{September 2026}
\maketitle

\begin{abstract}
\noindent Including covariates alongside strictly monotone encodings can change a causal forest's treatment decisions without adding information. Random feature selection favors covariates represented by multiple columns. Under stated conditions, I show that this imbalance can persist as samples grow. Treatment effect components associated with other covariates are omitted, attenuated, or recovered depending on their inclusion probabilities and tree depth. Simulations and a job-training replication illustrate sensitivity to redundant encodings. Sampling groups of variables that generate identical splits restores prediction invariance on the grouping data when fitting and randomization are held fixed.
\medskip

\noindent\textbf{Keywords:} causal forests, feature subsampling, policy learning,
representation invariance, redundant covariates.

\medskip
\noindent\textbf{JEL Classification:} C14, C21, C55
\end{abstract}

\newpage

\section{Introduction}\label{sec:intro}

Suppose two researchers use a causal forest to estimate how a job-training
program affects later earnings as a function of baseline household income and
age. One includes income and age. The other keeps age but includes income, log
income, and several other strictly increasing encodings of income. If baseline
income has positive support, these income columns generate the same threshold
partitions and contain the same covariate information. A feature-subsampled
forest nevertheless treats them as separate candidates, making an income
split more likely to enter the node-level search and an age split less likely.

The effect of this change depends on the whole path to a leaf. A covariate that
drives treatment-effect heterogeneity matters only after a split separates its
relevant states. If such a covariate is represented once among many columns,
each node offers a small chance to use it. Those chances accumulate with path
depth.

The main result models two independent covariates with binary treatment-effect
components. One has a smaller coefficient than the other.
The first representation repeats the covariate with the smaller coefficient
and leaves the other as a singleton. The second does the reverse. Both
representations generate the same sigma-field and the same
split-action library. Let \(H_n\) be effective path depth, \(M_n\) the number
of columns, and \(Q_{M_n}\) the number sampled at a node. The access-depth index is $\mathcal I_n=H_n{\mathbb E [Q_{M_n}]}/{M_n}$.

Under the continuation and score-transfer conditions stated below, if
\(\mathcal I_n\to0\), the singleton covariate remains unused along a
prediction path with probability approaching one. Each forest then retains
only its repeated component. The two conditional average treatment effect (CATE)
limits have opposite signs on half the covariate population, and repeating the
covariate with the smaller coefficient produces nonvanishing policy regret. If
\(\mathcal I_n\to\kappa\in(0,\infty)\), the singleton component enters with a strictly intermediate weight under the additional path-depth condition in Theorem~\ref{thm:main}. If \(\mathcal I_n\to\infty\), both forests recover
the CATE. Under these conditions, recovery holds for every fixed finite
representation but not uniformly over growing, information-equivalent
representations.

The candidate-count rule translates the access-depth index into a
condition on how quickly the number of columns may grow. In the \texttt{grf} R
package for generalized random forests, the \texttt{mtry} parameter controls
how many covariate columns are randomly sampled as split candidates at each
node. With \texttt{mtry} fixed,
\(\mathcal I_n\) has order \(H_n/M_n\). Under the package-default square-root
scaling in \texttt{grf}, it has order
\(H_n/\sqrt{M_n}\). The critical representation size is thus of order
\(H_n\) in the first case and \(H_n^2\) in the second.

With 500 baseline columns and eight equivalent encodings, the Monte Carlo
forests disagree in CATE sign for 45.7 percent of evaluation observations.
Changing only the forest seed gives 0.09 percent. The random-forest
outcome-regression specifications in \citet{chernozhukov2022automatic} retain
age, education, and two prior-earnings variables together with their squares.
The replication removes split-equivalent columns from the outcome regression
while holding the samples, folds, Riesz stage based on the least absolute
shrinkage and selection operator (Lasso), and orthogonal score fixed.

The remedy is to sample split-action classes rather than raw column labels.
On a declared finite array, columns with the same weak ordering and ties
generate the same threshold actions for classification and regression trees
(CART). Collapsing them before candidate sampling
gives identical predictions under canonical routing and common class-level
randomness. In the
Monte Carlo design, class sampling eliminates representation-induced sign
disagreement and reduces policy regret, although it increases CATE mean
squared error. In the application of \citet{chernozhukov2022automatic},
grouping each raw variable with its split-equivalent square removes the extra
candidate weight created by retaining both columns while preserving every
certified CART threshold partition.

The paper builds on the honest causal-forest framework of \citet{wager2018}
and the local-moment formulation of generalized random forests in
\citet{athey2019}. These papers establish conditions for consistent estimation
and valid inference using forest-based adaptive neighborhoods. I retain honest
sample separation and examine how the covariate representation changes those
neighborhoods. Honest sample separation does not by itself ensure that every
treatment-effect component is recovered, because feature subsampling can keep
a relevant covariate out of the split search.

\citet{louppe2014} explains how retaining redundant predictors changes
their probability of entering the split search and can affect prediction.
Here I study how that change in split access affects limiting CATE estimates
and treatment-rule regret.
\citet{chi2022high} and \citet{klusowski2024large}
provide access-dependent recovery bounds. \citet{mei2026exogenous} also
characterize bias from unresolved components for forests with
training-data-independent partitions. I derive representation-specific
prediction limits for sample-grown honest trees under continuation and
score-transfer conditions. Their path lengths depend on earlier splits, so
singleton access must be analyzed jointly with stopping. An additional
failure-path depth condition identifies the partial-recovery weight.

\citet{chen2013module} sample modules before representative variables, while
\citet{colot2021} weight features inversely by cluster size. Here, groups are
certified to generate identical threshold partitions on a declared array.
Proposition~\ref{prop:class} establishes exact invariance on this array under
canonical routing and common class-level randomness.

Section~\ref{sec:model} defines the model. Section~\ref{sec:results} derives
the forest limits and their treatment-rule consequences.
Section~\ref{sec:quotient} gives the class-sampling guarantee, and
Section~\ref{sec:evidence} reports Monte Carlo results and a replication of
the empirical analyses in \citet{chernozhukov2022automatic}.
All proofs are in the appendix.

\section{Model Setup}\label{sec:model}

Let \(X=(X_1,X_2)\sim\operatorname{Unif}([0,1]^2)\) be the covariate
vector. For coordinate \(j\in\{1,2\}\), define the binary state indicator
\[
s_j(X)=2\mathbf 1\{X_j\ge1/2\}-1,
\]
and define the CATE
\[
\tau_a(X)=a_1s_1(X)+a_2s_2(X),
\]
indexed by the coefficient vector \(a=(a_1,a_2)\). Restrict \(a\) to the
parameter class
\[
\mathcal C_a=
\{(a_1,a_2):\underline a\le a_1<a_2\le\overline a,
\ a_2-a_1\ge\Delta_a\}
\]
where \(\underline a\) and \(\overline a\) are fixed lower and upper
coefficient bounds satisfying \(0<\underline a<\overline a\), and
\(\Delta_a\) is a fixed minimum coefficient gap, with
\(0<\Delta_a<\overline a-\underline a\).
These restrictions keep the sign and regret comparisons nondegenerate
uniformly over \(\mathcal C_a\).

Let \(n\) be the sample size, and let \((Y_i,W_i,X_i)_{i=1}^n\) denote the
i.i.d. observations. For treatment state \(w\in\{0,1\}\), the potential
outcome \(Y(w)\) follows
\begin{equation}\label{eq:dgp}
Y(w)=m_0(X)+w\tau_a(X)+U,
\qquad
\mathbb E(U\mid X,W)=0,
\end{equation}
where \(m_0\) is the baseline outcome function and \(U\) is the outcome
disturbance. The binary treatment indicator \(W\) is randomized with
propensity score one half, and the observed outcome \(Y\) satisfies
\[
W\perp\{Y(0),Y(1)\}\mid X,
\qquad
\mathbb P(W=1\mid X)=\frac12,
\qquad
Y=Y(W).
\]
The baseline function \(m_0\) and the conditional law of \(U\) are held fixed
over \(a\in\mathcal C_a\). Define the observed-outcome regression
\(m_a(X)=\mathbb E(Y\mid X)=m_0(X)+\tau_a(X)/2\). The oracle transformed-outcome
score for observation \(i\) is
\begin{equation}\label{eq:score}
\Gamma_i=4(W_i-1/2)\{Y_i-m_a(X_i)\}
\end{equation}
and satisfies \(\mathbb E(\Gamma_i\mid X_i=x)=\tau_a(x)\) at every covariate value
\(x\). The fitted score \(\widehat\Gamma_i\) replaces \(m_a\) with the
cross-fitted outcome-regression estimator \(\widehat m\).

For covariate index \(j\in\{1,2\}\), let \(c_n\ge1\) be its
multiplicity, the number of equivalent encoded columns. Choose strictly increasing encoding maps
\(\{\varphi_{j\ell n}:\ell=1,\ldots,c_n\}\), including the identity, and
denote the \(\ell\)-th encoded column by
\(X_j^{(\ell)}=\varphi_{j\ell n}(X_j)\). Define the paired covariate
representations
\begin{align*}
R_{1,n}(X)=\{X_1^{(1)},\ldots,X_1^{(c_n)},X_2\},\qquad R_{2,n}(X)=\{X_1,X_2^{(1)},\ldots,X_2^{(c_n)}\}.
\end{align*}
Each representation has \(M_n=c_n+1\) raw columns. Both representations
generate the covariate sigma-field \(\sigma(X_1,X_2)\). A cut \(X_j\le t\)
corresponds to \(\varphi_{j\ell n}(X_j)\le\varphi_{j\ell n}(t)\) in each
encoded column. These corresponding cuts preserve partitions and routing in
exact arithmetic.

Let \(s_n\) be the tree subsample size. Each tree draws \(s_n\)
observations uniformly without replacement and
randomly divides them into splitting and estimation samples, independently
of their values. Both sample fractions are at least a fixed
\(\eta\in(0,1/2)\), the minimum sample-allocation fraction.
Write \(n_C\) for the splitting-sample count in node
\(C\). At a node with \(M\) raw columns, the tree draws
candidate count \(Q_M\in\{1,\ldots,M\}\) and samples that many columns uniformly without
replacement, independently of the data and previous candidate draws. It
evaluates every distinct threshold partition of the sampled columns. With
minimum child splitting-sample size \(k_n\) and split-balance parameter
\(\beta\in(0,1/2)\), a split is admissible when each child contains at least
\(\max\{k_n,\beta n_C\}\) splitting observations.
The tree chooses a maximum-gain admissible split, using a
representation-independent order for exact ties. It stops if no sampled
admissible action has positive gain, with no separate depth cap or stopping
rule. The estimation sample supplies the mean fitted score in each leaf,
with value zero assigned to an empty estimation leaf.
Conditional on the training data, fitted nuisance functions, and root sample
assignments, each node's action depends only on its ancestral states, its
observations, and fresh randomness assigned to that node. Randomization is
independent across node addresses.

For a generic tree under representation \(h\), let \(D_{h,n}(x)\) indicate
that the singleton \(X_{3-h}\) has been used as a splitting coordinate along
the path to \(x\). Even after a split on \(X_{3-h}\), the terminal
leaf may contain both values of \(s_{3-h}\). The proof controls the resulting approximation error in
\(L^1(P_X)\), where \(P_X\) is the covariate distribution and
\(\|f\|_{L^1(P_X)}=\int |f(x)|\,dP_X(x)\) is the integrated absolute norm.
For a candidate split indexed by column \(j\) and threshold \(t\), let \(C\)
be the parent cell and \(C_L\) and \(C_R\) its left and right child cells.
Define the pseudo-outcome split-gain criterion
\begin{equation}\label{eq:pseudo-criterion}
\widehat{\mathcal Q}^{\Gamma}_C(j,t)
=\widehat p_{L\mid C}\widehat p_{R\mid C}
\left(\overline{\widehat\Gamma}_{C_L}
-\overline{\widehat\Gamma}_{C_R}\right)^2.
\end{equation}
Here \(\widehat p_{L\mid C}\) and \(\widehat p_{R\mid C}\) are the empirical
child shares within \(C\), and
\(\overline{\widehat\Gamma}_{C_L}\) and
\(\overline{\widehat\Gamma}_{C_R}\) are the corresponding child-cell score
means. Let \(\widehat{\mathcal Q}^{L}_C(j,t)\) be the forest algorithm's normalized
split-gain criterion, \(\check T_{h,n}\) the arithmetic mean of the
\(B_n\) honest score-leaf predictions, where \(B_n\) is the number of trees,
and \(\widehat T_{h,n}\) the
reported forest predictor under
representation \(R_{h,n}\). The following conditions connect the forest
algorithm to the score and control tree depth.

\begin{assumption}\label{ass:regularity}
All probability statements and rates hold uniformly over
\(a\in\mathcal C_a\). Outcomes are uniformly bounded, the conditional
law of \(U\) has a continuous density on bounded support, and
\(\|\widehat m-m_a\|_\infty=o_p(1)\).

For fixed \(C_0>4\), with probability tending to one, every column
admits a positive-gain admissible split at every reached node with
\(n_C\ge C_0k_n\), on both ordinary and locally conditioned failure
trees whenever defined. For fixed \(\bar s<1\),
\begin{equation}\label{eq:rates}
s_n/n\le\bar s,\qquad
k_n\to\infty,\qquad k_n/s_n\to0,\qquad
\frac{\log(B_ns_n)}{k_n}\to0,\qquad B_n\to\infty.
\end{equation}
On ordinary and failure trees,
\begin{equation}\label{eq:transfers}
\sup_{C,j,t}
\left|\widehat{\mathcal Q}^{L}_C(j,t)
-\widehat{\mathcal Q}^{\Gamma}_C(j,t)\right|=o_p(1),
\qquad
\max_{h=1,2}
\|\widehat T_{h,n}-\check T_{h,n}\|_{L^1(P_X)}=o_p(1).
\end{equation}
Conditional on the training data and fitted nuisance functions,
trees have identical marginal distributions and form independent
groups of uniformly bounded size.
\end{assumption}

Assumption~\ref{ass:regularity} connects the algorithm's split choices
and predictions to the treatment effect. The first condition in
\eqref{eq:transfers} ensures that the algorithm prefers a split with
a meaningfully larger gain in the fitted treatment-effect score.
The second allows its reported predictions to be analyzed through
averages of that score within honest leaves. The continuation condition
ensures that a tree keeps splitting while its nodes remain sufficiently
large, including when the candidate set contains only a previously used
covariate. Continued growth gives the other covariate further chances
to enter the split search. Together, these conditions allow the theorem
to relate tree depth and candidate inclusion probabilities to the
treatment effect components that the forest recovers.

Finally, define the effective path depth \(H_n\), the singleton's per-node
inclusion probability \(\omega_n\), and the access-depth index
\(\mathcal I_n\) by
\begin{equation}\label{eq:access-index}
H_n=\log(s_n/k_n),
\qquad
\omega_n=\frac{\mathbb E Q_{M_n}}{M_n},
\qquad
\mathcal I_n=H_n\omega_n.
\end{equation}

\section{Forest Limits and Treatment-Rule Distortion}\label{sec:results}

For \(\omega_n<1\), define a failure tree by conditioning the ordinary
transition at each visited node locally on not choosing the singleton as the
splitting coordinate. A conditioned transition can split on the repeated
coordinate or stop. Its conditioning probability is at least
\(1-\omega_n>0\). Let \(J_{h,n}^0(X)\) count its candidate-set draws at
size-eligible nodes, including a final unsuccessful search if one occurs.
In the intermediate regime \(\mathcal I_n\to\kappa\in(0,\infty)\),
\(\omega_n\to0\), so this construction is eventually defined. For each
fixed \(a\in\mathcal C_a\), additionally suppose
\begin{equation}\label{eq:intermediate-depth}
\frac{J_{h,n}^0(X)}{H_n}\longrightarrow_p d_h(a)\in(0,\infty),
\qquad h=1,2,
\end{equation}
where \(d_h(a)\) is the limiting normalized failure-path depth under
representation \(h\). The convergence accounts for randomness in the training sample, the
locally conditioned failure-tree construction, and an
independent test point \(X\sim P_X\).

\begin{theorem}[Representation-dependent forest limits]\label{thm:main}
Under the model and forest construction in Section~\ref{sec:model} and
Assumption~\ref{ass:regularity}, the two endpoint results hold uniformly over
\(a\in\mathcal C_a\). If \(\mathcal I_n\to0\), then
\begin{equation}\label{eq:selection-limit}
\max_{h=1,2}\|\widehat T_{h,n}-a_hs_h\|_{L^1(P_X)}\longrightarrow_p0.
\end{equation}
If \(\mathcal I_n\to\infty\), then
\begin{equation}\label{eq:recovery-limit}
\max_{h=1,2}\|\widehat T_{h,n}-\tau_a\|_{L^1(P_X)}\longrightarrow_p0.
\end{equation}
For fixed \(a\in\mathcal C_a\), if \(\mathcal I_n\to\kappa\in(0,\infty)\) and \eqref{eq:intermediate-depth} holds, then
\begin{equation}\label{eq:intermediate-targets}
\begin{aligned}
\widehat T_{1,n}&\longrightarrow_p
 a_1s_1+\{1-e^{-\kappa d_1(a)}\}a_2s_2,\\
\widehat T_{2,n}&\longrightarrow_p
 \{1-e^{-\kappa d_2(a)}\}a_1s_1+a_2s_2
\end{aligned}
\qquad\text{in }L^1(P_X).
\end{equation}
\end{theorem}

When \(\mathcal I_n\to0\), the singleton remains unused with
probability approaching one, and its component drops out of the limit. In the intermediate regime,
\(e^{-\kappa d_h(a)}\) is the limiting probability that a path reaches its
leaf without using the singleton, so the singleton component is attenuated by
the complementary factor \(1-e^{-\kappa d_h(a)}\in(0,1)\). When the access-depth index
diverges, both components are recovered in the forest prediction.
The result applies equally to exact copies and to growing sequences of
strictly increasing encodings.

For a binary treatment rule \(\pi\), where \(\pi(x)=1\) assigns treatment
and \(\pi(x)=0\) withholds it, define its policy value \(V_a(\pi)\) and
policy regret \(\operatorname{Reg}_a(\pi)\) by
\[
V_a(\pi)=\mathbb E\{\tau_a(X)\pi(X)\},
\qquad
\operatorname{Reg}_a(\pi)=V_a(\pi_a^*)-V_a(\pi).
\]
Policy value is the expected treatment gain relative to treating no one,
and policy regret is the value lost relative to the optimal unconstrained
rule \(\pi_a^*\). This optimal rule and the fitted rule
\(\widehat\pi_{h,n}\) under representation \(h\) are
\[
\pi_a^*(x)=\mathbf 1\{\tau_a(x)>0\}=\mathbf 1\{s_2(x)=1\},
\qquad
\widehat\pi_{h,n}(x)=\mathbf 1\{\widehat T_{h,n}(x)>0\}.
\]
Write \(\mathbb P_X\) for probability over an independent covariate draw,
conditional on the fitted forests.

\begin{corollary}[Sign reversal and policy regret]\label{cor:sign}
Under the conditions of Theorem~\ref{thm:main}, if \(\mathcal I_n\to0\), then
\begin{equation}\label{eq:sign-reversal}
\mathbb P_X\!\left\{\widehat T_{1,n}(X)\widehat T_{2,n}(X)<0,
\min_{h=1,2}|\widehat T_{h,n}(X)|\ge\underline a/2\right\}
\longrightarrow_p\frac12.
\end{equation}
Moreover,
\begin{equation}\label{eq:regret}
\operatorname{Reg}_a(\widehat\pi_{2,n})\longrightarrow_p0,
\qquad
\operatorname{Reg}_a(\widehat\pi_{1,n})
\longrightarrow_p\frac{a_2-a_1}{2}.
\end{equation}
\end{corollary}

Thus the representation that repeats the covariate with the larger coefficient
yields the optimal unconstrained rule in the selection regime. Repeating the
covariate with the smaller coefficient yields a persistent treatment mistake.

The \texttt{grf} 2.4.0 algorithm reference \citep{grfreference} specifies the
candidate-count law as
\begin{equation}\label{eq:poisson-count}
N_M\sim\operatorname{Poisson}(\xi_M),
\qquad
Q_M=\max\{1,\min(N_M,M)\},
\qquad
\xi_M=\texttt{mtry}
\end{equation}
Here \(N_M\) is the uncapped Poisson candidate count, \(\xi_M\) is its
mean parameter, and \(Q_M\) is the candidate count after truncation to
\(\{1,\ldots,M\}\).

\begin{corollary}[Representation-growth rates]\label{cor:boundary}
Under the conditions of Theorem~\ref{thm:main}, if
\(M_n\to\infty\) and \(\xi_{M_n}\equiv\xi>0\), then
\[
\omega_n\sim\frac{\xi+e^{-\xi}}{M_n},
\]
so the critical representation size is \(M_n\asymp H_n\). Under the package
default \(\xi_M=\min\{\lceil\sqrt M\rceil+20,M\}\),
\(\omega_n\sim M_n^{-1/2}\), and the critical representation size is
\(M_n\asymp H_n^2\). Every fixed finite representation satisfies
\(\mathcal I_n\to\infty\).
\end{corollary}

Under the default rule, recovery is guaranteed when
\(M_n=o(H_n^2)\), compared with \(M_n=o(H_n)\) for a fixed
Poisson mean. Since \(H_n=\log(s_n/k_n)\), increasing the sample
size expands the scope for redundant columns only slowly.
The default rule permits faster growth in the number of columns,
but retaining many equivalent encodings can still leave
a covariate represented once with few opportunities to affect
prediction. Every fixed representation covered by the theorem
eventually satisfies these growth conditions. In finite samples,
however, these asymptotic rates provide no numerical cutoff for
how many redundant columns are acceptable.

\section{Finite-Array Class Sampling}\label{sec:quotient}

I propose sampling split classes instead of individual columns. Fix an
array \(\mathcal X_{\rm cert}=\{x_1,\ldots,x_N\}\) containing every point used
for fitting, prediction, variance estimation, and policy ranking. A column's
certificate is its weak ordering of this array, identified with the reversed
ordering. Equal certificates generate the same unordered threshold
partitions on every subset of the array.

Construct the classes before growing the forest. Replace each raw column on
\(\mathcal X_{\rm cert}\) by its weak-rank vector, assigning the same rank to
tied observations, and treat a rank vector and its reversal as the same
certificate. Group columns with identical certificates, choose a canonical
orientation and weak-rank representative for each group, and order the groups
by their certificates. At each node, sample these groups uniformly without
replacement and evaluate the usual CART threshold splits using their canonical
representatives. Index child orientation, tie-breaking, folds, and all other
randomization by the certificate rather than by the original column label.
Hold nuisance fits fixed across representations or fit them on the same
canonical matrix. All tuning rules and reported outputs use this matrix and
the same settings.
For policy ranking, break prediction ties by a fixed ordering of observation
indices.
Because this reduction occurs before candidate sampling, adding an encoding to
an existing class, or removing one without removing its class, does not alter
either the candidate probabilities or the random draws.

\begin{proposition}[Class-sampled forest]\label{prop:class}
Fix the certified classes, canonical routing, and class-level candidate law.
Under common class-indexed randomness, permuting columns, adding a column to
an existing class, deleting a column without removing its class,
complementing a column, or applying an encoding that preserves or reverses the
observed weak ordering and ties leaves all tree partitions, forest weights,
predictions, reported standard errors, and selected sets on
\(\mathcal X_{\rm cert}\) unchanged.
\end{proposition}

This guarantee applies to the declared array, not to future points whose
ordering has not been certified. The grouping criterion also differs from
that of \citet{chen2013module}, who construct modules of correlated variables
and sample a representative from each selected module. Correlation alone
is not sufficient for the split classes used here.

\section{Finite-Sample Evidence}\label{sec:evidence}

The Monte Carlo compares CATE estimation error and policy regret across
redundant encodings and under class sampling. In the
job-training application of \citet{chernozhukov2022automatic}, the comparison
instead concerns changes in individual outcome-regression contrasts and
estimates of the average treatment effect on the treated (ATET). In each
exercise, refitting with a different forest
seed provides a benchmark for the changes caused by retaining redundant encodings.

\subsection{Monte Carlo}

Let \(p\) be the number of baseline covariates. The Monte Carlo independently draws \(X\sim\operatorname{Unif}([0,1]^p)\),
\(W\sim\operatorname{Bernoulli}(1/2)\), and
\begin{align*}
\tau(X)&=0.20+0.65s_1-0.55s_2+0.10(X_3-0.5),\\
Y&=1+X_4+0.5X_5^2-0.5X_6+W\tau(X)+\varepsilon,
\qquad \varepsilon\sim N(0,1).
\end{align*}
Here \(\varepsilon\) is the outcome disturbance and
\(s_j=2\mathbf 1\{X_j\ge1/2\}-1\) is the binary state indicator for
coordinate \(j\in\{1,2\}\).
Table~\ref{tab:mc} compares paired representations that add eight monotone or
order-reversing encodings of \(X_1\) or \(X_2\). These are standardization,
complementation, an affine change of units, a shifted logarithm, ranks, a
shifted square, an exponential, and a shifted cube. Each cell averages 100 independent
samples of 3,000 observations, with 30,000 evaluation observations and
2,000-tree forests fitted with \texttt{grf} 2.4.0. Both representations use
the true nuisance functions \(\mathbb E(Y\mid X)\) and \(\mathbb P(W=1\mid X)=1/2\).
Thus the comparison isolates the forest fit from nuisance-estimation error.
The forests use default \texttt{mtry}, a minimum node size of five, and
honest half-samples with an equal split between partition construction and
leaf estimation. Data and forest seeds are paired. For predictions
\(\widehat\tau_1\) and \(\widehat\tau_2\), define the sign-disagreement rate
\(\mathrm{SR}_c\) as the fraction with opposite signs and both magnitudes
at least the magnitude threshold \(c\ge0\).

\begin{table}[htbp]
\caption{CATE sign disagreement under equivalent representations}
\label{tab:mc}
\centering
\small
\setlength{\tabcolsep}{5pt}
\begin{tabular}{@{}lccc@{}}
\toprule
Comparison & Raw columns & \(\mathrm{SR}_0\) (\%) & \(\mathrm{SR}_{0.10}\) (\%)\\
\midrule
\(p=40\), representation change  &  48 &  8.81 (0.66) &  0.02 (0.003)\\
\(p=100\), representation change & 108 & 23.41 (0.66) & 12.70 (0.83)\\
\(p=250\), representation change & 258 & 38.60 (0.84) & 26.87 (0.73)\\
\(p=500\), representation change & 508 & 45.74 (0.54) & 32.88 (0.91)\\
\(p=500\), forest-seed change    & 508 &  0.09 (0.01) &  0.00 (0.00)\\
\(p=500\), class-sampled forest   & 508 &  \textbf{0.00} (0.00) &  \textbf{0.00} (0.00)\\
\bottomrule
\end{tabular}

  \par\medskip\begin{minipage}{\linewidth}\footnotesize
  \textit{Notes:} Entries are means across 100 independent replications, with Monte Carlo
standard errors in parentheses. The first four rows compare representations with
eight added encodings. The last two rows change only the seed or apply class
sampling to the \(p=500\) design.
  \end{minipage}
\end{table}

Sign disagreement rises sharply with the ambient number of columns. At
\(p=500\), 32.88 percent of observations have opposite signs with both
estimates at least 0.10 in magnitude. Changing only the forest seed produces
0.09 percent sign disagreement. Class sampling removes the difference exactly
on the pooled training and evaluation array.

For the \(N=30{,}000\) evaluation observations \(X_1^e,\ldots,X_N^e\),
define CATE mean squared error (MSE) \(\mathrm{MSE}_j\) and treatment-rule regret
\(\mathrm{Reg}_j\) as
\[
\begin{aligned}
\mathrm{MSE}_j&=\frac1N\sum_{i=1}^N
 \{\widehat\tau_j(X_i^e)-\tau(X_i^e)\}^2,\qquad\mathrm{Reg}_j=\frac1N\sum_{i=1}^N |\tau(X_i^e)|
 \mathbf 1\{\widehat\pi_j(X_i^e)\ne\pi^*(X_i^e)\},
\end{aligned}
\]
where \(j\) indexes the fitted forest,
\(\widehat\pi_j(x)=\mathbf 1\{\widehat\tau_j(x)>0\}\) is its fitted treatment
rule, and \(\pi^*(x)=\mathbf 1\{\tau(x)>0\}\) is the optimal treatment rule.
Table~\ref{tab:losses} reports
both losses, including results for class sampling, which was evaluated
at \(p=500\). The class-sampled fits use the same oracle nuisance functions,
certify weak-order classes on the pooled training and evaluation covariates,
and apply the default candidate budget to the number of classes.

\begin{table}[htbp]
\caption{CATE accuracy and treatment-rule regret}
\label{tab:losses}
\centering\small
\setlength{\tabcolsep}{5pt}
\begin{tabular}{@{}rlr@{\enspace}lr@{\enspace}l@{}}
\toprule
\(p\) & Forest & \multicolumn{2}{c}{MSE} & \multicolumn{2}{c}{Regret}\\
\midrule
40 & Encodings of \(X_1\) & 0.0361 & (0.0012) & 0.0127 & (0.0009)\\
 & Encodings of \(X_2\) & 0.0296 & (0.0010) & 0.0058 & (0.0007)\\
\addlinespace[2pt]
100 & Encodings of \(X_1\) & 0.0747 & (0.0018) & 0.0222 & (0.0006)\\
 & Encodings of \(X_2\) & 0.0615 & (0.0018) & 0.0093 & (0.0015)\\
\addlinespace[2pt]
250 & Encodings of \(X_1\) & 0.1450 & (0.0019) & 0.0257 & (0.0001)\\
 & Encodings of \(X_2\) & 0.1511 & (0.0023) & 0.0438 & (0.0026)\\
\addlinespace[2pt]
500 & Encodings of \(X_1\) & 0.1962 & (0.0015) & 0.0262 & (0.0001)\\
 & Encodings of \(X_2\) & 0.2346 & (0.0020) & 0.0647 & (0.0016)\\
 & Class sampling & \textbf{0.3653} & (0.0021) & \textbf{0.0047} & (0.0004)\\
\bottomrule
\end{tabular}

  \par\medskip\begin{minipage}{\linewidth}\footnotesize
  \textit{Notes:} Means across the same 100 replications as the representation comparisons in Table~\ref{tab:mc}. Parentheses give Monte Carlo standard errors. Both class-sampled representations have exactly identical predictions in every replication. Regret is in outcome units per person.
  \end{minipage}
\end{table}

At \(p=500\), class sampling has mean squared error 0.3653, compared
with 0.1962 and 0.2346 when encodings of \(X_1\) and \(X_2\)
are retained. Its mean regret is 0.0047, compared with 0.0262
and 0.0647. Class sampling improves treatment decisions in this design
while increasing mean squared CATE error.

\FloatBarrier

\subsection{Empirical Replication: Job Training and Earnings}

I replicate specifications 1 and 2 of \citet{chernozhukov2022automatic} for
the National Supported Work (NSW) experimental comparison and the Panel Study
of Income Dynamics (PSID) and Current Population Survey (CPS) comparison groups.
Across these six cases, the reconstructed full-dictionary ATETs are within
0.10 published standard errors of the reported estimates.

The outcome-regression dictionaries include age, education, 1974 earnings,
and 1975 earnings together with their squares. Since
their observed supports are nonnegative, each raw-square pair offers the same
CART threshold partitions. I certify classes on the pooled observed and
treatment-counterfactual rows, including both treatment states for every
covariate vector used in prediction. The reduction retains one original
column per class and removes four or five of 24 to 30 columns. It changes only the
random-forest outcome regression, leaving the samples, folds, Riesz/Lasso
stage, and orthogonal score fixed.

Table~\ref{tab:empirical} compares the full and reduced dictionaries using
original column values. One reduction recomputes the
\texttt{randomForest} regression default, one third of the supplied column
count rounded down, after removing columns. The other holds its original numerical value fixed.
All fits use 1,000 trees and the same seed. The lower panels report ATET
changes and individual contrast sign changes, with benchmarks from four
alternative seeds of the full dictionary.

\begin{table}[htbp]
\caption{ATET estimates with full and reduced forest dictionaries}
\label{tab:empirical}
\centering\small
\setlength{\tabcolsep}{6pt}
\begin{tabular}{@{}lrrr@{}}
\toprule
 & Full dictionary & Reduced, default & Reduced, fixed\\
Sample / specification & & \texttt{mtry} & \texttt{mtry}\\
\midrule
NSW / 1 & 3,013.6 (1,277.9) & 3,127.8 (1,322.0) & 3,043.6 (1,304.9)\\
NSW / 2 & 3,207.0 (1,364.9) & 3,191.1 (1,359.7) & 3,038.1 (1,264.3)\\
PSID / 1 & 1,469.0 (975.6) & 1,555.0 (924.2) & 1,645.8 (941.6)\\
PSID / 2 & 1,381.1 (949.0) & 1,362.6 (921.7) & 1,345.0 (931.0)\\
CPS / 1 & 1,636.2 (616.3) & 1,483.6 (599.7) & 1,621.5 (607.5)\\
CPS / 2 & 1,566.2 (618.3) & 1,505.1 (605.7) & 1,570.0 (608.5)\\
\midrule
 & \multicolumn{2}{c}{Change from full dictionary} & Seed variation\\
 & Default \texttt{mtry} & Fixed \texttt{mtry} & Mean absolute (max.)\\
\midrule
NSW / 1 & +114.3 & +30.0 & 43.8 (86.4)\\
NSW / 2 & -15.9 & -169.0 & 176.1 (234.7)\\
PSID / 1 & +86.0 & +176.8 & 36.4 (61.4)\\
PSID / 2 & -18.5 & -36.1 & 46.1 (64.8)\\
CPS / 1 & -152.6 & -14.7 & 22.3 (30.4)\\
CPS / 2 & -61.1 & +3.8 & 10.1 (20.0)\\
\midrule
 & \multicolumn{2}{c}{Individual contrast sign changes (\%)} & Seed variation (\%)\\
 & Default \texttt{mtry} & Fixed \texttt{mtry} & Mean (max.)\\
\midrule
NSW / 1 & 5.88 & 4.20 & 1.75 (2.80)\\
NSW / 2 & 5.88 & 5.32 & 2.17 (2.80)\\
PSID / 1 & 4.17 & 2.30 & 1.26 (1.86)\\
PSID / 2 & 2.96 & 3.07 & 1.70 (1.86)\\
CPS / 1 & 10.66 & 7.16 & 4.38 (4.58)\\
CPS / 2 & 11.50 & 7.13 & 4.61 (4.93)\\
\bottomrule
\end{tabular}

  \par\medskip\begin{minipage}{\linewidth}\footnotesize
  \textit{Notes:} ATETs and ATET changes are in dollars. Upper-panel parentheses give standard errors. Full-dictionary entries are reconstructed estimates. Each fit uses 1,000 trees and fixed five-fold cross-fitting. Representation comparisons pair seed 1 before and after reduction. Sign changes are percentages of all observations whose cross-fitted contrast \(\widehat m(1,x)-\widehat m(0,x)\) changes sign. Seed benchmarks compare the full dictionary at seed 1 with seeds 2--5 and report the mean and maximum across these four comparisons. Specifications 1 and 2 have 24 and 30 original columns. Reduction leaves 19 and 25 columns in NSW and CPS, and 20 and 26 in PSID. Recomputed \texttt{mtry} is 6 and 8, versus 8 and 10 when held fixed.
  \end{minipage}
\end{table}

Removing split-equivalent columns reverses the sign of the cross-fitted
outcome-regression contrast \(\widehat m(1,x)-\widehat m(0,x)\) for
2.3--11.5 percent of all observations and 3.2--11.4 percent of treated
observations. The corresponding mean seed benchmarks range from 1.3 to
4.6 percent and from 1.8 to 3.5 percent. In all six sample--specification
cases, both reductions produce a higher sign-change rate over all observations
than any of the four seed-only comparisons in Table~\ref{tab:empirical}.
Stable aggregate conclusions therefore do not imply stable signs for
individual first-stage contrasts.

By comparison, the ATET changes range from 4 to 177 dollars in absolute value. All estimates
remain positive, with no changes in statistical significance at the 5 percent
level. Representation changes do not uniformly exceed seed variation in the
aggregate ATET. For example, in NSW specification 2, the default-budget
reduction changes the estimate by 16 dollars, compared with a mean absolute
seed change of 176 dollars.

These sign changes may partly reflect differences in cutoff routing, not
just candidate sampling. With nonlinear encodings, native midpoint cutoffs
can send the same evaluation observation to different leaves.
To remove this source of variation, Table~\ref{tab:canonical} compares the
full and reduced dictionaries after
assigning identical dense ranks to equivalent columns on the pooled observed
and counterfactual array. Both dictionaries use these same ranks, the original
numerical \texttt{mtry}, folds, seed, and Riesz estimates. Only the forest inputs
use rank encodings. The orthogonal score retains its original dictionary.

\begin{table}[htbp]
\caption{ATET comparisons with identical canonical rank coding}
\label{tab:canonical}
\centering\small
\setlength{\tabcolsep}{5pt}
\begin{tabular}{@{}lrrrr@{}}
\toprule
Sample / specification & Full & Reduced & Change & Sign changes (\%)\\
\midrule
NSW / 1 & 3,142.3 (1,340.2) & 3,066.5 (1,290.1) & -75.8 & 3.36\\
NSW / 2 & 3,221.9 (1,410.8) & 3,289.5 (1,413.2) & +67.6 & 2.80\\
PSID / 1 & 1,506.4 (971.5) & 1,646.2 (941.2) & +139.8 & 2.52\\
PSID / 2 & 1,385.5 (949.7) & 1,336.4 (934.9) & -49.1 & 2.63\\
CPS / 1 & 1,677.7 (616.3) & 1,597.1 (607.0) & -80.6 & 6.83\\
CPS / 2 & 1,551.6 (618.1) & 1,522.5 (609.7) & -29.2 & 8.34\\
\bottomrule
\end{tabular}

  \par\medskip\begin{minipage}{\linewidth}\footnotesize
  \textit{Notes:} ATETs and changes are in dollars, with standard errors in parentheses.
Changes are reduced minus full. Both dictionaries use 1,000 trees, seed 1,
the same five folds, and \texttt{mtry} equal to 8 or 10. Sign changes concern
the cross-fitted outcome-regression contrast over all observations.
  \end{minipage}
\end{table}

With canonical ranks, absolute ATET changes range from 29 to 140 dollars,
and 2.5--8.3 percent of individual contrasts change sign. The ATET estimates
remain positive, with no changes in statistical significance at the 5 percent
level. Thus nonlinear
midpoint routing does not account for all of the first-stage sensitivity.

Code and outputs are available in the
\href{https://github.com/YiNiu-bot/representation-multiplicity-causal-forests}{replication repository}.
From its root, \texttt{python3 scripts/verify\_replication.py} reconstructs the
tables. The package documents full refits, encodings, retained columns,
software versions, folds, and seeds.

\FloatBarrier

\section{Conclusion}\label{sec:conclusion}

Feature subsampling makes column allocation part of a forest's specification.
Under the conditions of Theorem~\ref{thm:main}, reallocating redundant columns
can change the limiting CATE and treatment rule without changing covariate
information. In the Monte Carlo, class sampling lowers treatment-rule regret but increases
CATE mean squared error. The replication illustrates that aggregate ATET
comparisons alone can miss changes in individual first-stage contrasts. Sampling certified split classes removes the extra candidate weight assigned
to redundant columns. Under common class-level randomness and canonical
routing, equivalent representations give identical predictions on the
certified array.

\clearpage
\begin{appendix}

\section{Proofs}\label{app:proofs}

\begin{proof}[Proof of Theorem~\ref{thm:main}]
All probability bounds for the endpoints are uniform over \(a\in\mathcal C_a\).
Write \(\mathcal D_n\) for the training data and the fitted nuisance functions,
including their training randomization. Uniform boundedness, the fixed
two-dimensional rectangle class, and relative Vapnik--Chervonenkis (VC)
Bernstein bounds give
\[
r_n=\sqrt{\frac{\log(B_ns_n)}{k_n}}+
\frac{\log(B_ns_n)}{k_n}+
\|\widehat m-m_a\|_\infty=o_p(1).
\]
These bounds hold simultaneously for the root splitting and estimation
samples and all their rectangular restrictions. They therefore cover both
ordinary and failure trees, even though the latter use conditional transition
laws. Increasing encodings do not enlarge this rectangle class. The score
identity and its perturbation bound are
\[
\mathbb E(\Gamma_i\mid X_i=x)=\tau_a(x),
\qquad
\max_i|\widehat\Gamma_i-\Gamma_i|
\le2\|\widehat m-m_a\|_\infty.
\]
Combining the concentration bounds with \eqref{eq:transfers} yields
\begin{equation}\label{eq:proof-criterion}
\sup_{C,j,t}
\left|\widehat{\mathcal Q}^{L}_C(j,t)-\mathcal Q_C(j,t)\right|
=o_p(1),
\end{equation}
where \(\mathcal Q_C\) is the population score gain.

First consider a node before coordinate \(j\) has been used. Its range in
that coordinate is still \([0,1]\), and independence removes the other
component from the split contrast. Direct calculation gives
\begin{equation}\label{eq:proof-shape}
\mathcal Q_C(j,t)=
\begin{cases}
a_j^2t/(1-t),&0<t\le1/2,\\
a_j^2(1-t)/t,&1/2\le t<1.
\end{cases}
\end{equation}
The unique maximizer is \(1/2\), with gain \(a_j^2\). Positivity of
\(\underline a\) and the coefficient gap imply
\(a_2^2-a_1^2\ge2\underline a\Delta_a>0\).
At nodes with at least \(C_0k_n\) splitting observations, cuts approaching
\(1/2\) are size-admissible and balanced on the concentration event.
Maximization and \eqref{eq:proof-criterion} thus imply
\begin{equation}\label{eq:proof-localization}
\max_{j,F}|\widehat t_{j,F}-1/2|=o_p(1),
\end{equation}
where \(F\) ranges over first-use nodes above this size band in the ordinary
and failure trees.

The continuation condition now supplies the depth bound. It is used here
in addition to balance. If \(n_d(x)\) is the splitting-sample size on a path,
then, whenever a split is made,
\[
\beta n_d(x)\le n_{d+1}(x)\le(1-\beta)n_d(x).
\]
The root size is proportional to \(s_n\), no path stops above \(C_0k_n\),
and every child has at least \(k_n\) observations. Consequently there are
constants \(0<c_\beta<C_\beta<\infty\) and an integer \(K\), independent of
\(n,a,h\), such that, with probability tending to one,
\begin{equation}\label{eq:proof-depth}
c_\beta H_n\le J_{h,n}(X),J_{h,n}^0(X)\le C_\beta H_n.
\end{equation}
Here \(J_{h,n}\) is the number of candidate draws on an ordinary path,
and \(J_{h,n}^0\) is defined when \(\omega_n<1\).
At most \(K\) draws occur after the path enters the band
\(n_d<C_0k_n\), including a final unsuccessful search. Reached leaves have
splitting sizes between \(k_n\) and \(C_0k_n\). Relative concentration gives
their population masses of order \(k_n/s_n\) and honest estimation counts
of order \(k_n\). In particular,
\begin{equation}\label{eq:proof-leaf}
\max_{b,L}\left|
\frac{1}{N_{b,n}^{\rm est}(L)}
\sum_{i\in I_{b,n}^{\rm est}:X_i\in L}\widehat\Gamma_i
-\mathbb E\{\tau_a(X)\mid X\in L\}
\right|=o_p(1).
\end{equation}
The maximum includes both representations. The counts are positive on this
event.

We next control the approximation after first use. Choose a deterministic
\(\delta_n\downarrow0\) so that \eqref{eq:proof-localization} is at most
\(\delta_n\) with probability tending to one. For each coordinate, its
first-use nodes above the terminal band form an antichain. Label only their
children by the sign suggested by the side of the cut, and retain this label
in their descendants. The total population mass receiving a wrong label is
\[
\sum_F P_X(F)|\widehat t_{j,F}-1/2|\le\delta_n,
\]
where the sum is over these above-band first-use nodes.
For a descendant \(C\), let \(q(C)\) be the conditional fraction with the
wrong label. Then
\[
\sup_t\mathcal Q_C(j,t)\le4\overline a^2q(C),
\qquad
\int_C|\mathbb E(s_j\mid C)-s_j(x)|\,dP_X(x)\le4P_X(C)q(C).
\]
These bounds also apply after further splits. For
\(u_n=\sqrt{\delta_n}\), select the first descendant on each path for which
\(q(C)>u_n\). Those descendants are disjoint, so their combined mass is at
most \(\delta_n/u_n\). Outside this vanishing set, a previously used
coordinate has gain at most \(4\overline a^2u_n\) at every subsequent node.
An offered unused coordinate has gain at least
\(\underline a^2-o_p(1)\) above the terminal band and therefore wins.
Only the root can involve competition between two unused coordinates.

The repeated coordinate is offered with probability at least \(1/2\) at
each draw. Together with \eqref{eq:proof-depth}, the preceding ordering
argument bounds its probability of remaining unused above the terminal
band by
\[
2^{-\lfloor c_\beta H_n\rfloor+K+1}+o(1)=o(1).
\]
For the singleton, the probability of first use only in that band is also
\(o(1)\). If \(\omega_n\le H_n^{-1/2}\), it is at most \(K\omega_n\).
Otherwise, avoiding an earlier use has probability at most
\(\exp\{-\omega_n(\lfloor c_\beta H_n\rfloor-K-1)\}+o(1)\).
The error terms here include the exceptional target mass just bounded.

Let \(D_{h,n}(x)\) indicate first use of the singleton in a generic tree,
and let \(\check T^{\rm tree}_{h,n}\) be that tree's honest score prediction.
If \(D_{h,n}(x)=0\), its leaf has no restriction in the singleton coordinate,
whose conditional mean is exactly zero. For a first use above the terminal
band, localization and the wrong-label bound control the integrated
approximation error. A late first use adds at most twice its probability to
the integrated error for the sign component, which vanishes by the preceding
bound.
The same bound applies to the repeated component. Thus
\begin{equation}\label{eq:proof-mixture}
\mathbb E_\Theta\!\left[
\left\|\check T^{\rm tree}_{h,n}
-D_{h,n}\tau_a-(1-D_{h,n})a_hs_h\right\|_{L^1(P_X)}
\middle|\mathcal D_n\right]=o_p(1).
\end{equation}
This is an approximation after first use, not an assertion that every leaf
is exactly pure.

Suppose now that \(\omega_n<1\). Conditional on \(Q_{M_n}=q\), the singleton
is included with probability \(q/M_n\), so its unconditional inclusion
probability at a node is \(\omega_n\). On the locally conditioned failure
tree, write \(\rho_{h,n,t}^0(x)\) for the probability that the ordinary
transition at the current node chooses the singleton as its splitting
coordinate. It satisfies \(0\le\rho_{h,n,t}^0\le\omega_n\).
After the root and above the terminal band, this probability equals
\(\omega_n\) outside the exceptional paths. With
\(\Lambda_{h,n}^0=\sum_{t\le J_{h,n}^0}\rho_{h,n,t}^0\), we obtain
\begin{equation}\label{eq:proof-hazard}
\left|\Lambda_{h,n}^0-J_{h,n}^0\omega_n\right|
\le(K+1)\omega_n
\end{equation}
outside a set of joint training, failure-tree, and test-point probability
tending to zero.

Node locality ensures that conditioning transitions on other branches leaves
the transition kernels on the target path unchanged. At each stage, factor
the probability of avoiding a singleton split from
the transition kernel conditional on that event. Multiplication along the
path and integration over the conditional kernels give the exact identity
\begin{equation}\label{eq:proof-survival}
u_{h,n}(x):=\mathbb P_\Theta\{D_{h,n}(x)=0\mid\mathcal D_n\}
=\mathbb E_{\Theta^0}\!\left[
\prod_{t=1}^{J_{h,n}^0(x)}(1-\rho_{h,n,t}^0(x))
\middle|\mathcal D_n\right].
\end{equation}
The kernels are well-defined because their conditioning probabilities are
at least \(1-\omega_n>0\). This identity concerns no first use throughout
the path, exactly the event defining \(D_{h,n}=0\).

If \(\mathcal I_n\to0\), then \(\omega_n\to0\) and
\(\Lambda_{h,n}^0\to_p0\) by \eqref{eq:proof-depth} and
\eqref{eq:proof-hazard}. The product converges to one since its deficit is
at most \(\Lambda_{h,n}^0\). If \(\mathcal I_n\to\infty\) and
\(\omega_n<1\), the cumulative hazard diverges and
\[
\prod_t(1-\rho_{h,n,t}^0)\le e^{-\Lambda_{h,n}^0}\longrightarrow_p0.
\]
For indices with \(\omega_n=1\), both coordinates are always offered.
The stronger one wins at the root and the other at the next interior node,
outside the same exceptional set. Thus recovery also holds on these indices,
without a failure-tree conditioning on a null event.

For the intermediate case, fix \(a\in\mathcal C_a\).
The condition \(\mathcal I_n\to\kappa\in(0,\infty)\) implies
\(\omega_n\to0\). Equations~\eqref{eq:intermediate-depth} and
\eqref{eq:proof-hazard} yield
\(\Lambda_{h,n}^0\to_p\kappa d_h(a)\). Moreover,
\[
0\le-\log\prod_t(1-\rho_{h,n,t}^0)-\Lambda_{h,n}^0
\le\frac{\omega_n\Lambda_{h,n}^0}{1-\omega_n}
\longrightarrow_p0.
\]
The product therefore converges to \(e^{-\kappa d_h(a)}\).
All products are bounded. Joint convergence with an independent test point
implies convergence of \(u_{h,n}\) in \(L^1(P_X)\), in probability over
\(\mathcal D_n\), to one, zero, or \(e^{-\kappa d_h(a)}\) in the respective
regimes.

Finally, conditional on \(\mathcal D_n\), the independent partition of the
\(B_n\) trees into groups of bounded size, together with bounded score
predictions, gives
\[
\left\|\check T_{h,n}-
\mathbb E_\Theta(\check T^{\rm tree}_{h,n}\mid\mathcal D_n)\right\|_{L^1(P_X)}
=O_p(B_n^{-1/2})=o_p(1).
\]
Combine this with \eqref{eq:proof-mixture}, the three limits for \(u_{h,n}\),
and the prediction transfer in \eqref{eq:transfers}. This proves
\eqref{eq:selection-limit}, \eqref{eq:recovery-limit}, and
\eqref{eq:intermediate-targets}.

A strictly increasing encoding maps a threshold \(t\) to \(\varphi(t)\)
and preserves \(\varphi(x)\le\varphi(t)\) exactly when \(x\le t\).
All cells and concentration bounds above are expressed in the original
coordinates. Their constants therefore do not depend on the number or
form of the increasing encodings.
\end{proof}

\begin{proof}[Proof of Corollary~\ref{cor:sign}]
In the selection regime, Markov's inequality and
\eqref{eq:selection-limit} give, for \(g=1,2\),
\[
\mathbb P_X\{\operatorname{sgn}(\widehat T_{g,n})\ne s_g\}
\le\frac{2}{\underline a}
\|\widehat T_{g,n}-a_gs_g\|_{L^1(P_X)}=o_p(1).
\]
The independent signs \(s_1\) and \(s_2\) disagree with probability one half.
On that event, \(|\tau_a|=a_2-a_1\ge\Delta_a\). A second application of
Markov's inequality shows that both fitted magnitudes exceed
\(\underline a/2\) outside a set of \(P_X\)-mass \(o_p(1)\). This proves
\eqref{eq:sign-reversal} and the stated separation from zero.

For any rule \(\pi\),
\[
\operatorname{Reg}_a(\pi)
=\mathbb E\!\left[|\tau_a(X)|
\mathbf 1\{\pi(X)\ne\pi_a^*(X)\}\right].
\]
Since \(a_2>a_1\), \(\pi_a^*=\mathbf 1\{s_2=1\}\), so the limit of
\(\widehat\pi_{2,n}\) has zero regret. For the other representation,
\[
\operatorname{Reg}_a(\mathbf 1\{s_1=1\})
=\mathbb E\!\left[\tau_a
\{\mathbf 1\{s_2=1\}-\mathbf 1\{s_1=1\}\}\right]
=\frac{a_2-a_1}{2}.
\]
Boundedness and classification convergence transfer these values to the
estimated rules, proving \eqref{eq:regret}.
\end{proof}

\begin{proof}[Proof of Corollary~\ref{cor:boundary}]
The capped-Poisson rule satisfies
\[
\mathbb E Q_M=\xi_M+e^{-\xi_M}-\mathbb E(N_M-M)_+.
\]
For fixed \(\xi_M=\xi\), the final term vanishes as \(M\to\infty\), giving
\(\omega_n\sim(\xi+e^{-\xi})/M_n\). If \(\xi_M\to\infty\) and
\(\xi_M/M\to0\), Poisson concentration gives
\(\mathbb E Q_M/\xi_M\to1\). Under the package default,
\(\xi_M/\sqrt M\to1\), so \(\omega_n\sim M_n^{-1/2}\). The two boundaries
follow by substituting these expressions into
\(\mathcal I_n=H_n\omega_n\). For fixed finite \(M\), \(\omega_n>0\) is
constant and \(H_n\to\infty\).
\end{proof}

\begin{proof}[Proof of Proposition~\ref{prop:class}]
Couple the two representations with the common class-indexed randomness in the
proposition. At a common node they draw the same classes, evaluate the same
certified actions, and apply the same scores and tie order. Equal certificates
give identical unordered children, while canonical orientation sends every
point in \(\mathcal X_{\rm cert}\) to the same child. Induction gives identical
tree partitions on the certified array. Leaf observations and forest weights
therefore coincide. Nuisance fits coincide because they are held fixed or
computed from the same canonical matrix with common randomness. The same
inputs, settings, and randomization then give identical stopping decisions,
predictions, variance calculations, rankings, and tie-broken selected sets.
\end{proof}

\end{appendix}


\begingroup
\small
\bibliographystyle{plainnat}
\bibliography{references}
\endgroup