I am just thrilled with the availability of BART random variables in a probabilistic programming paradigm, the work here is tremendous (available paper here: https://arxiv.org/pdf/2206.03619.pdf)

There is one implementation detail in the paper that I am confused about. In Section 4.4 (Heteroscedasticity), the standard deviation is modelled as a BART random variable using this line:

```
σ_ = pmb.BART("σ_", X, np.log(Y), m=50)
```

To me, this line suggests that the BART random variable is modelled where the leaves of the trees are all modelling log(Y) (i.e. not any type of std. dev.). Thus, when this BART rv is passed to the next line,

```
σ = pm.Deterministic("σ", np.exp(σ_))
```

aren’t all of the values σ going to be draws of “Y” as opposed to draws of the standard deviation of Y?

I feel I am missing something fundamental. How will the leaves of the tree end up being estimates of log(\sigma) instead of log(Y)?

Thanks for any insight into this.