# Interpretation of estimates for adjusted variables

I've started using DAG to improve the construction of my regression models and I was wondering if it made any sense to interpret the estimates I get for variable I adjusted for in my model ? Let's say I have the following DAG and I want to know the direct effect of X1 on Y. According to ggdag, my minimal adjustment set is {X3, X4, X5}.

If I build the following regression model : $$Y = \beta_1 X_1 + \beta_3 X_3 + \beta_4 X_4 + \beta_5 X_5$$ the only estimate that makes sense is the one for X1, i.e $$\beta_1$$, right ?

On the other hand if I want to know the direct effect of X5 for example, I have to use another regression model in which I adjust for {X1, X3, X4} to get an unbiased value of $$\beta_5$$ is that correct ?

Bonus question : the expressions "control for X", "do X" and "adjust for X" are all synonyms that mean including X as a predictive variable in my model right ?

• I think all of your question can be answered with "yes". For question 1, look up "table 2 fallacy" (here is a paper). Commented May 29 at 15:30

Typically we construct DAGs with focus on a single causal variable (i.e., exposure), and the rest of DAG is developed to focus on specifying an adjustment set for the effect of that variable on the outcome. That means you can omit parts of the causal system that you know are irrelevant for selecting variables to adjust for when identifyign the effect of that focal variable. For example, if a confounder X of T and Y is caused by another variable, Z, that also affects Y (but not T), it isn't necessary to include Z in the DAG because it does not affect your adjustment set. In this way, you can identifying a causal effect with an "incomplete" DAG. If this is your scenario, then you cannot do a DAG analysis to decide whether an association estimate (e.g., the coefficient on X5) represents a causal effect. The DAG was only designed to identify the effect of the treatment on the outcome, not all variables on the outcome. If you can fully specify the causal system in the DAG, then you can use the DAG to identify adjustment sets for the effects of more than one variable. In practice, though, very rarely is it the case that you can identify multiple causal effects from a single model. X1 and X5 have different adjustment sets, so adjusting for all variables in a isngle model does not guarantee both effects are identified.

For more details on this, read the famous "table 2 fallacy" paper (Westreich & Greenland, 2013) and another more recent paper aimed at social scientists (Keele et al., 2020). From these you will see that you should essentially never interpret any effect from a regression model other than the single one you built the regression model to estimate.

I would also warn you that {X3, X4, X5} is not a sufficient adjustment set for the total effect of X1 on Y. X3 is the only confounder of X1 and Y; adjusting for any other variables changes the interpretation of the effect (e.g., to a direct effect) and may induce bias in the new effect (e.g., because you are conditioning on colliders). Maybe ggdag got it wrong or you misinterpreted its output.

"control for X", "do X" and "adjust for X" are imprecise terms that do not exactly mean "include X in a regression model". There are many ways to control for X; by design (e.g., randomization), in a regression, using matching or weighting, stratifying on X, etc., including not even by measuring X; for example, adjusting for state (e.g., by including state as a predictor in a regression model) controls for all between-state differences without measuring them. "do X" refers to the do-operator, which has a very specific technical meaning: it means to set X to a value irrespective of the value its antecedents (causes) take; it is used to define causal estimands in Pearl's causal framework and is not a statistical operation. "Adjusting for X" usually means including X in a regression model, but regression isn't the only way to do so (e.g., via matching, weighting, etc.). Adjustment usually refers to a statistical procedure that is used to control for X.

• Hello @Noah. Thanks for your detailled answer, it's awesome ! There are a few things I want to clarify though. You mention that one can "omit parts of the causal system that you know are irrelevant". I understand removing the variables that are obvioulsy not connected to the causal system from the DAG but when some variables are connected to the exposure variable, directly or indirectly, isn't the purpose of daggity and ggdag to tell us if we should include them or not ? In order to avoir having to disentangle the whole thing "by hand" ? Commented Jun 6 at 17:40
• I also don't really understand how the sentences "In this way, you can identifying a causal effect with an "incomplete" DAG." and "If this is your scenario, then you cannot do a DAG analysis to decide whether an association estimate represents a causal effect" are connected. But maybe I don't understand what you mean by "identifying a causal effect" ? Because, in my case, I had the causal structure in mind before I drew the DAG. I "know" what causes what, I'm not trying to use the DAG to identify that if that's what you mean. I'm trying to estimate the strength of the causal effect. Commented Jun 6 at 18:05
• You say "X1 and X5 have different adjustment sets, so adjusting for all variables in a isngle model does not guarantee both effects are identified." If I understand correctly, you refer to the fact that wether I'm trying to estimate the direct effect of X1, and therefore adjust for {X3, X4, X5}, or the direct effect of X5, and therefore adjust for {X1, X3, X4}, the resulting regression model is the same : $Y \sim \beta_1X_1 + \beta_3X_3 + \beta_4X_4 + \beta_5X_5$. Then how can I know if both estimates are correct or get the correct values ? Commented Jun 6 at 18:13
• When you write, "may induce bias in the new effect (e.g., because you are conditioning on colliders)", I imagine you're talking about the collider between X1, X3 and X5. However isn't the association between X1 and Y created via the collider X3 (and its descendant X5) interrupted by conditionning on X5 as well ? @Noah Commented Jun 14 at 1:46