persona_db/seeds/probability_tables.py
Tabelas de probabilidade calibradas usadas pelos motores.
Owned by Agent 5. 100% determinístico (sem random); toda calibração é feita por construção programática com fórmulas fechadas ou tabelas fixas. Consumido por engines/ (socio, health, criminal, genetics) e generators/.
:::info Fonte
Módulo persona_db.seeds.probability_tables — 329 linhas · 0 classe(s) · 6 função(ões) pública(s). Ver no GitHub
:::
Constantes e tabelas de módulo
| Nome | Anotação | Valor |
|---|---|---|
SOCIAL_CLASSES | list[str] | ['A', 'B1', 'B2', 'C1', 'C2', 'D_E'] |
AGE_BANDS | list[tuple[int, int]] | [(0, 4), (5, 9), (10, 14), (15, 19), (20, 24), (25, 29), (30, 34), (35, 39), (40, 44), (45, 49), (50, 54), (5… |
SOCIAL_MOBILITY_MATRIX | — | [[round(x / sum(row), 4) for x in row] for row in SOCIAL_MOBILITY_MATRIX] |
MORTALITY_TABLE | dict[str, list[float]] | {'M': [_qx_for_age(a, 'M') for a in range(_MAX_AGE + 1)], 'F': [_qx_for_age(a, 'F') for a in range(_MAX_AGE +… |
DISEASE_BY_AGE_SEX | dict[str, dict[str, dict[str, float]]] | {'diabetes': {'M': {'0-14': 0.0002, '15-34': 0.0012, '35-54': 0.012, '55-79': 0.032, '80+': 0.045}, 'F': {'0-… |
CRIME_BY_PROFILE | dict[str, dict[str, dict[str, float]]] | {'furto': {'M': {'15-19': 0.03, '20-29': 0.045, '30-44': 0.028, '45+': 0.01}, 'F': {'15-19': 0.008, '20-29': … |
EMPLOYMENT_RATES | dict[str, dict[str, dict[str, float]]] | {sector: {edu: {band: round(max(0.02, min(0.97, (_SECTOR_EMPLOYMENT_BASE[sector] + _EDU_BOOST[edu]) * _AGE_EM… |
INCOME_DIST | list[float] | _lorenz_curve(_GINI, 100) |
ANCESTRY_TO_TRAITS | dict[str, dict[str, dict[str, float]]] | {'europeia': {'cor_olhos': {'castanho': 0.52, 'verde': 0.13, 'azul': 0.22, 'preto': 0.13}, 'cor_cabelo': {'ca… |
Funções
mortality_qx()
def mortality_qx(age: int, sex: str) -> float
Probabilidade anual de óbito para idade/sexo (tábua de vida).
persona_db/seeds/probability_tables.py:95
disease_incidence()
def disease_incidence(disease: str, age: int, sex: str) -> float
Taxa anual base de incidência para doença/idade/sexo.
persona_db/seeds/probability_tables.py:131
crime_rate()
def crime_rate(crime: str, sexo: str, idade: int) -> float
Taxa anual per capita para tipo de crime/sexo/idade.
persona_db/seeds/probability_tables.py:176
employment_rate()
def employment_rate(sector: str, education: str, age: int) -> float
P(empregado) para setor/escolaridade/idade.
persona_db/seeds/probability_tables.py:230
income_share_percentile()
def income_share_percentile(p: float) -> float
Participação acumulada da renda até o percentil p (0-100).
persona_db/seeds/probability_tables.py:265
trait_probs()
def trait_probs(ancestry: str, trait: str) -> dict[str, float]
Distribuição do traço físico para determinada ancestralidade.