Pular para o conteúdo principal

CriminalEngine — envolvimento criminal e consequências

Arquivo: persona_db/engines/criminal.py

:::danger Modelo sintético, não preditivo Os coeficientes abaixo foram escolhidos para produzir dados internamente coerentes, não para estimar risco criminal de pessoas reais. Usar este motor (ou dados dele derivados) para avaliar indivíduos é um uso indevido do projeto. Veja Ética e limitações. :::

1. Probabilidade de envolvimento (logística)​

Os coeficientes ficam em engines/constants.py::RISK_LOGLIT:

logit(p)=−3,50+∑jβjxj\text{logit}(p) = -3{,}50 + \sum_j \beta_j x_j

Fatorβ\beta
sexo masculino+1,80
idade entre 15 e 25+0,90
classe D/E+0,70
pai com histórico criminal+1,10
mãe com histórico criminal+0,80
irmão com histórico criminal+0,60
desemprego+0,50
abandono escolar+0,40
transtorno mental+0,30
ensino superior−0,90
renda alta−0,80
intercepto−3,50
engine.crime_probability({"sex": "masculino", "age": 22, "class_label": "D_E",
"education": "medio", "desemprego": True})
engine.commits_crime(features) # Bernoulli sobre a probabilidade acima

2. Tipo de crime, prisão e pena​

TipoPena (meses)P(prisão)
crimes_violentos36 – 1440,65
crimes_patrimoniais12 – 600,38
crimes_digitais24 – 720,22
crimes_de_transito6 – 360,55
crimes_corporativos12 – 480,10
trafico60 – 1800,58

arrested(crime_type, class_label, quality_advocate=0.5) modula a probabilidade de prisão pela classe social e pela qualidade da defesa — o viés de classe é explícito e intencional no modelo. Para reincidentes, sentence_months dobra o piso da faixa.

3. Reincidência​

undefined