scikit-agent

scikit-agent is a scientific Python toolkit for agent-based economic modeling and multi-agent systems design. It provides a unified interface for creating, solving, and simulating economic models using modern computational methods including deep reinforcement learning as well as more traditional numerical techniques.

Our goal is for scikit-agent to be for computational social scientific modeling and statistics what scikit-learn is for machine learning.

Key Features

  • Built on Scientific Python and Torch for easy integration with the Python ecosystem

  • Modular modeling system. Construct multi-agent environments from modular blocks of structural equations.

  • Solution algorithms including deep reinforcement learning methods.

  • Simulation tools for generating synthetic data and running policy experiments

Installation

pip install scikit-agent

For development installation:

git clone https://github.com/scikit-agent/scikit-agent.git
cd scikit-agent
pip install -e ".[dev,docs]"

Quick Example

import skagent as ska
from skagent.models.consumer import consumption_block, calibration

# Create a consumption-saving model
model = consumption_block
model.construct_shocks(calibration)

# Define simple decision rule
decision_rules = {"c": lambda m: 0.9 * m}

# Run simulation
simulator = ska.MonteCarloSimulator(
    calibration=calibration,
    block=model,
    dr=decision_rules,
    initial={"k": 1.0, "p": 1.0},
    agent_count=1000,
    T_sim=50,
)

results = simulator.simulate()

Next Steps

New to scikit-agent? Start with the Quickstart Guide guide.

Want to dive deeper? Check out:

Community & Support


Indices and tables