Библиотека для contextual bandit off-policy evaluation (OPE): оценка target/candidate policy B по логам behavior/logging policy A.
Главные выходы сравнения: V_A, V_B, Delta = V_B - V_A, CI/p-value и diagnostics/trust metadata (включая weight_ess_ratio, replay overlap и warning flags).
- Quickstart notebook (основной путь):
examples/quickstart_own_data_ru.ipynb - Покрывает:
BanditSchema,LoggedBanditDataset,compare_policies(...), режимы propensity (logged/estimated/auto), чтениеDelta, CI,p_value, diagnostics иtrust_level. - Если у вас уже есть колонка
action_B, используйтеpolicyscope.policy_adapters.DeterministicActionColumnPolicy.
- Synthetic comparison notebook:
examples/compare_estimators_vs_oracle_ru.ipynb - Покрывает сравнение Replay / IPS / SNIPS / DM / DR / SNDR / Switch-DR в контролируемых synthetic-сценариях.
- Практический интерпретационный гайд (RU):
docs/how_to_interpret_ope_outputs_ru.md
- Architecture doc:
docs/architecture.md
- Validation harness doc:
docs/validation_harness.md
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# или
pip install -e .- Replay
- IPS / SNIPS
- DM
- DR / SNDR / Switch-DR
- Bootstrap inference (clustered и non-clustered)
- Data contract слой:
BanditSchema,LoggedBanditDataset
Инференс significance в compare_policies опирается на centered paired bootstrap p-value для проверки H0: Delta = 0.
from policyscope.comparison import compare_policies
summary = compare_policies(
logged_dataset,
policyB,
estimator="dr",
target="accept",
propensity_source="auto",
)
print(summary.to_dict())Файлы в examples/:
run_synthetic_experiment.pyrun_validation_experiment.py
Это script-like experiment runners для пакетных прогонов/артефактов, а не основной обучающий путь. Для обучения и first-run используйте notebook'и из раздела «Быстрый навигатор».
examples/tutorial.ipynbсохранён как расширенный walkthrough.- Для первого запуска рекомендуется
examples/quickstart_own_data_ru.ipynb.
Для multi-metric сценариев используйте compare_policies_multi_target (повторная scalar-оценка по нескольким target).
Propensity source modes: auto, logged, estimated (для взвешенных estimators).
Nuisance model diagnostics возвращаются в summary (nuisance_diagnostics) и дополняют overlap/weight diagnostics.
Важно: OPE + diagnostics/trust metadata помогают с offline screening, но не являются автоматической заменой A/B-теста для high-stakes решений.