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:
| Fator | |
|---|---|
| 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
| Tipo | Pena (meses) | P(prisão) |
|---|---|---|
crimes_violentos | 36 – 144 | 0,65 |
crimes_patrimoniais | 12 – 60 | 0,38 |
crimes_digitais | 24 – 72 | 0,22 |
crimes_de_transito | 6 – 36 | 0,55 |
crimes_corporativos | 12 – 48 | 0,10 |
trafico | 60 – 180 | 0,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.