persona_db/engines/family.py
Relacionamentos, família e fecundidade — engine probabilístico.
Owned by Agent 3. Signature-stable for generators/validators.
:::info Fonte
Módulo persona_db.engines.family — 112 linhas · 1 classe(s) · 0 função(ões) pública(s). Ver no GitHub
:::
Classes
class FamilyEngine
Hazard-style engine para núcleos familiares.
| Atributo de classe | Valor |
|---|---|
P_CASAMENTO_ALGUM_DIA | 0.72 |
P_DIVORCIO | 0.21 |
P_SEGUNDO_CASAMENTO | 0.38 |
SAME_CLASS_PROB | 0.58 |
SAME_EDU_PROB | 0.55 |
SAME_RELIGION_PROB | 0.61 |
__init__()
def __init__(self, rng: SeededRNG)
persona_db/engines/family.py:30
marriage_hazard()
def marriage_hazard(self, age: float, sex: str) -> float
Hazard de primeiro casamento por idade (pico M 28-32, F 25-29).
persona_db/engines/family.py:37
first_marriage_age()
def first_marriage_age(self, sex: str) -> float | None
Idade ao primeiro casamento ou None (28% nunca se casam).
persona_db/engines/family.py:43
children_count()
def children_count(self, class_label: str, modificators: dict | None=None) -> int
Nº de filhos por classe social (Poisson) com modificadores.
persona_db/engines/family.py:51
homogamy_age_diff()
def homogamy_age_diff(self) -> float
persona_db/engines/family.py:62
spouse_class()
def spouse_class(self, own_class: str) -> str
58%% mesma classe, resto adjacente.
persona_db/engines/family.py:65
divorce()
def divorce(self, risk_factors: dict | None=None) -> bool
Decisão de divórcio com fatores de risco/proteção.
persona_db/engines/family.py:74
death_likelihood()
def death_likelihood(self, age: float, sex: str) -> bool
Aproximação grosseira de mortalidade para simulação.
persona_db/engines/family.py:87
union_lifecycle()
def union_lifecycle(self, sex: str, class_label: str) -> dict
Ciclo de vida afetiva completo e coerente.