| node_beta | R Documentation |
Data from the parents is used to generate the node using beta regression by applying the betas to the design matrix, transforming the resulting linear predictor to a conditional mean, and sampling from the rbeta function.
node_beta(data, parents, formula=NULL, betas,
intercept, precision, link="logit")
data |
A |
parents |
A character vector specifying the names of the parents that this particular child node has. If non-linear combinations or interaction effects should be included, the user may specify the |
formula |
An optional |
betas |
A numeric vector with length equal to the number of columns in the design matrix, specifying the causal beta coefficients used to generate the node. |
intercept |
A single number specifying the intercept that should be used when generating the node. |
precision |
A single finite, positive number specifying the precision parameter |
link |
The link function used to transform the linear predictor to the conditional mean. The default is |
This function uses the linear predictor defined by the betas and the input design matrix to obtain an observation-specific conditional mean. It does so by calculating the linear predictor using the data, betas, and intercept, applying the inverse of the specified link function, and passing the resulting conditional mean to the rbeta function of the stats package.
For an observation with conditional mean \mu_i and precision parameter \phi, the generated outcome follows a beta distribution with shape parameters \mu_i\phi and (1-\mu_i)\phi. Consequently, the conditional mean is E(Y_i\mid X_i)=\mu_i and the conditional variance is \mathrm{Var}(Y_i\mid X_i)=\mu_i(1-\mu_i)/(\phi+1).
Every non-missing conditional mean must be finite and strictly between zero and one. This node type currently does not support inclusion of random effects or random slopes in the formula. The precision parameter is fixed across observations.
Returns a numeric vector of length nrow(data).
Robin Denz
empty_dag, node, node_td, sim_from_dag, sim_discrete_time
library(simDAG)
set.seed(124554)
dag <- empty_dag() +
node("age", type="rnorm", mean=50, sd=4) +
node("sex", type="rbernoulli", p=0.5) +
node("proportion", type="beta", precision=10,
formula= ~ -1 + age*0.01 + sexTRUE*0.2)
sim_dat <- sim_from_dag(dag=dag, n_sim=100, sort_dag=FALSE)
head(sim_dat)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.