Making a model travel · step 4 of 6
The facets a graph cannot settle
The population is licensed. What about the window and the level?
A selection diagram settles one facet out of eight. Twelve weeks is not fifty-two weeks, and a household is not a person, and no causal graph has an opinion about either. transfer_to walks all eight facets and, for each one that differs, either names the assumption that licenses it or refuses.
Three differing facets, three named assumptions, every one unverified until something checks it. Nothing passed silently — and note the last block: a transfer that cannot be licensed at all is refused rather than assumed away.
plan = measured.transfer_to(needed)
print("plan status:", plan.status)
print()
for entry in plan.entries:
print(f"{entry.facet}")
print(f" {entry.statement}")
for a in entry.assumptions:
print(f" needs {a.name} [{a.state}]")
print(f" challenged by {a.challenged_by}")
print()
# A facet that is not bridgeable by any assumption is refused, not
# licensed. A different functional is a different quantity.
elasticity = needed.model_copy(
update={"name": "elasticity", "quantity": Quantity(kind="elasticity")})
blocked = measured.transfer_to(elasticity)
print("asking for an elasticity instead:", blocked.status)
print(" ", blocked.reason)
plan status: downgraded
population
population differs: district_A vs district_B
needs s_admissibility [unverified]
challenged by overlap; moderator interaction in meta
window
time window or basis differs
needs stationary_dynamics [unverified]
challenged by half-life against window length
needs carryover_contained [unverified]
challenged by half-life against window length
level
level differs
needs linear_aggregation [unverified]
challenged by the Jensen gap under a nonlinear response
asking for an elasticity instead: blocked
quantity: a different functional is a different quantity; re-express first
Every line above was captured by running this code at build time. The steps share one namespace, so the code on this page is the code you would type after the steps before it.