The standard way we choose to parametrize copula dependence structure is similar to the way we parametrize the other causal structures. We specify a variable is a link function of a linear combination of other variables.
For instance, we return to the following example: \[\begin{align*} Z &\sim N(0, \; 1)\\ X \mid Z=z &\sim N(0.5\times z, \; 1)\\ Y \mid \operatorname{do}(X=x) &\sim N(0.3\times x, \; 1) \end{align*}\]
The formulas and family variables are familiar.
When defining the pars variable we replace the familiar
beta in the cop entry to a tau. If the user
specifies a \(\tau\), the program will
convert the specified Kendall’s \(\tau\) to the correct parameter so that the
copula between the outcome and confounder has a Kendall correlation of
\(\tau\). This is a simpler way to
encode the dependence information as \(\tau
\in [-1,1]\) and easier to interpret. The code looks like.
pars <- list(z = list(beta = 0, phi=1),
x = list(beta = c(0,0.5), phi=1),
y = list(beta = c(0,0.3), phi=1),
cop = list(y= list(z = list(tau = 0.25)))) # NOTE tau argumentWe note that we define the dependence between y and z to be uncoditional on the treatment x. This assumption is necessary for specifying Kendall’s \(\tau\). (Is it?)
cm <- causl_model(formulas = formulas, family = family, pars = pars)
dat <- rfrugal(n = 10000, causl_model = cm)## Inversion method selected: using pair-copula parameterization