How to Use elicitcausal

This app helps you construct a causal graph along with priors for the relationships between variables in the causal graph (see instructional video above and workflow below). It is designed for non-experts by using a question-and-answer format to populate the causal graph with the researcher's knowledge about the research question. Constructing a causal graph before doing a study can help you understand how much causal learning you can gain from a variety of interventions--especially if you preregister the pre-study causal graph. You can then compare the pre-study graph to a post-study graph to gain very precise measures of causal learning after doing a study (using entropy as a metric). Of course, the causal graphs are useful for many other kinds of analyses, such as diagnosing issues in research design and meta-analysis.

To facilitate inserting the pre-study graph into a preregistration, this app provides options for downloading Latex/Markdown/Word version of the causal graph as a table with associated priors on relationships between nodes. Alternatively, you can download an R object from this package or other packages that help you analyze causal graphs--CausalQueries and theorytools. The theorytools package has specific support for creating files suitable for preregistration using FAIR principles.

After performing the study, you can re-upload the pre-study causal graph--either from the Latex/Markdown/Word file or as a elicitcausal/CausalQueries/theorytools R object-- and then update the graph with what you learned from the study. The app will calculate the post-study learning using entropy metrics as described in the paper below.

This app was developed by Robert Kubinec at the University of South Carolina. For more information about this method, see the related paper 'Holistic Causal Learning with Causal Graphs: A Credible Method for Study Design and Preregistration in the Social Sciences'.

To report a bug, please file an issue at the package Github site.

Workflow

1 Draw your causal DAG (Optional). The tool requires a causal graph in dagitty notation. If you don't know how to do that, go ahead and open the Draw Causal Graph tab. Click + Add Node in the canvas toolbar to create a variable (a name dialog will appear). Then click ↗ Add Edge and drag from one node to another to draw a causal arrow. Select a node and click Edit Node to rename it. When your graph is ready, click Use This Graph in Pre-Study to load it automatically into the pre-study tab.
2 Review the graph in the Pre-Study tab. Go to the Define Graph Pre-Study tab and confirm the causal graph specification looks correct. All variables in the graph are treated as binary (0 / 1) to simplify the workflow.
3 Choose an elicitation mode. Select Probability sliders to drag values between 0% (never happens) and 100% (always happens), or Ranking to drag parent nodes into positive or negative relationship buckets and rank them by strength. Ranking is easier, especially with multiple variables, than direct probabilities but also less precise. Sliders are coupled so that all values for a given node sum to 1. Ranking mode derives probabilities automatically from a logistic model.
4 Input variable relationships. Click Elicit Probabilities and work through the modal dialogs, one per node, to add your prior beliefs about how variables are related to each other. Use Previous / Next to revise answers before clicking Done.
5 Download (optional). After completing elicitation, use the download buttons to save the result as a Word/Latex/Markdown file or as an elicitcausal RDS file that can be further analyzed in R. You can also export as a CausalQueries and/or theorytools model RDS file.
6 Repeat for Post-Study. Go to the Define Graph Post-Study tab and repeat the process after completing the study. You can either upload the file you saved to re-load the pre-study graph or input the pre-study graph probabilities manually (such as if you are interactively checking different research designs). You should update the graph with any new information that changes your beliefs about how variables are related to each other.
7 Compare. Open the Causal Learning Pre/Post tab to see the amount of causal learning that occurred from pre- to post-study. We use the entropy metric to provide a quantified summary of learning. An entropy reduction means we became more certain of the graph (type I causal learning), while an increase means we became less certain (type II causal learning).

Causal Graph/DAG specification format

Nodes are separated by spaces or newlines. Directed edges use -> . Examples:

              dag { X -> Y }

              dag { X -> Y; Z -> Y }    # collider

              dag { X -> Y -> Z; X -> Z }  # fork + direct path
            

Entropy interpretation

  • H = 0% — complete certainty (probability 0 or 1 for all states).
  • H = n × 69.66% — maximum uncertainty over 2ⁿ states (all equally likely); equals n × log₁.₀₁(2) for n binary nodes.
  • ΔH < 0 (post − pre) — beliefs became more precise after the study.
  • ΔH > 0 — beliefs became more uncertain; the study introduced new complexity.

Causal Graph Canvas

Use the toolbar above the canvas: click + Add Node to create a node (a name dialog will appear), ↗ Add Edge then drag between nodes to draw an arrow. Select a node and click Edit Node to rename it. Select a node or edge and click ✖ Delete to remove it.

Controls


DAG specification preview:

                

Causal Graph

Elicited Active Pending

Write your causal graph in dagitty format in the text box below. If you need help, try building your causal graph visually at dagitty.net , then copy the model code (Model → Export → dagitty code) and paste it below. The graph updates automatically.

Causal Graph

Elicited Active Pending

Upload pre-study file (optional)
Accepts: .rds (elicitcausal / CausalQueries / theorytools), .csv, .qmd
The causal graph is fixed to the Pre-Study graph. Only probabilities can be changed here.