Skip to content

"Parameter" Terminology across the package #118

@willGraham01

Description

@willGraham01

In #116 (comment) the terminology we use for our variables was bought to light.
TLDR; we use the term "parameters" quite ambiguously.

As such, it was decided that we should be slightly more descriptive in the package (and our examples) going forwards. The following terms were decided upon:

  • Model parameters: these are the variables that fully parameterise a DAG or causal problem. Equivalently, they are the independent variables (optimisation meaning, not probabilistic meaning) which the corresponding min/max problem will be min/maxed over. At present, we simply call these variables "parameters", and use ParameterNodes to describe them.
  • Derived (RV) parameters: any parameters of a RV that are either (a) determined by sampling from another RV or (b) determined by the value of a model parameter. These are the values which are stored (as the keys in) a DistributionNodes parameters attribute.
  • Constant (RV) parameters: any parameters of a RV that take a constant value. These are the values which are stored (as the keys in) a DistributionNodes constant_parameters attribute.

The extent of the action we take is up for debate, but in its fullest:

  • Rename ParameterNode to ModelParameterNode? Might not be super necessary but it is clear.
  • Rename the parameters attribute of a DistributionNode to derived_parameters. And corresponding arguments to the constructor method(s).
  • Check docstrings / input argument names across the codebase for reference to the old terms, and update accordingly.
  • Check the documentation for any references to the old terms, and update accordingly.
  • Add a page to the docs build that discusses common terminology in the causalprog package. This would also save us repeating ourselves in the examples too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions