A validation framework for causal models.
Project description
Causal Validation
This package provides functionality to define your own causal data generation process and then simulate data from the process. Within the package, there is functionality to include complex components to your process, such as periodic and temporal trends, and all of these operations are fully composable with one another.
A short example is given below
from causal_validation import Config, simulate
from causal_validation.effects import StaticEffect
from causal_validation.plotters import plot
from causal_validation.transforms import Trend, Periodic
from causal_validation.transforms.parameter import UnitVaryingParameter
from scipy.stats import norm
cfg = Config(
n_control_units=10,
n_pre_intervention_timepoints=60,
n_post_intervention_timepoints=30,
)
# Simulate the base observation
base_data = simulate(cfg)
# Apply a linear trend with unit-varying intercept
intercept = UnitVaryingParameter(sampling_dist = norm(0, 1))
trend_component = Trend(degree=1, coefficient=0.1, intercept=intercept)
trended_data = trend_component(base_data)
# Simulate a 5% lift in the treated unit's post-intervention data
effect = StaticEffect(0.05)
inflated_data = effect(trended_data)
# Plot your data
plot(inflated_data)
Examples
To supplement the above example, we have two more detailed notebooks which exhaustively present and explain the functionalty in this package, along with how the generated data may be integrated with AZCausal.
- Basic notebook: We here show the full range of available functions for data generation
- AZCausal notebook: We here show how the generated data may be used within an AZCausal model.
Installation
In this section we guide the user through the installation of this package. We distinguish here between users of the package who seek to define their own data generating processes, and developers who wish to extend the existing functionality of the package.
Prerequisites
- Python 3.10 or higher
- Hatch (optional, but recommended for developers)
To install the latest stable version, run
pip install causal-validation
in your terminal.
For Users
- It's strongly recommended to use a virtual environment. Create and activate one using your preferred method before proceeding with the installation.
- Clone the package
git clone git@github.com:amazon-science/causal-validation.git
- Enter the package's root directory
cd causal-validation
- Install the package
pip install -e .
For Developers
- Follow steps 1-3 from
For Users
- Create a hatch environment
hatch env create
- Open a hatch shell
hatch shell
- Validate your installation by running
hatch run tests:test
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file causal_validation-0.0.4.tar.gz
.
File metadata
- Download URL: causal_validation-0.0.4.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bdaf0f454feddec1aeaf1b60a2f56d22b99e2081d582a9cbc0082985cbbc168 |
|
MD5 | de157c3c3aff08736acd068d47521c80 |
|
BLAKE2b-256 | 8fdd3e3817ca9868b65279f95f3ce5c668d60a9dbd09b90c9c1f5eb7aea3ea43 |
File details
Details for the file causal_validation-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: causal_validation-0.0.4-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3bcf21c8308aae1dea55bd139502ac66773a7116e25090d40c28a6aabec16c8 |
|
MD5 | d5c267f71c0922f32d50367219316f0b |
|
BLAKE2b-256 | 03036a21e7ce8c72bd35a695df85bbe243f30634f74462c0f74d5634a8afdae3 |