Skip to content

Commit

Permalink
README update -- TD version
Browse files Browse the repository at this point in the history
  • Loading branch information
BAFurtado committed Oct 15, 2020
1 parent 832be2f commit 52bafb1
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 26 deletions.
45 changes: 24 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,44 @@
#### Análise crimininalidade e violência com modelos baseados em agentes -- ABMs
# VIDA: Simulando VIolência DomésticA em Tempos de Quarentena

**Lígia Mori Madeira**

**Bernardo Alves Furtado**

**Alan Rafael Dill**

"Traditionally, researchers have employed statistical methods to model crime. However, these approaches
are limited by being unable to model individual actions and behaviour. ... [a model should] attempt to model
the occurrence of crimes and motivations behind it. ... **explore the potential of the model to realistically
simulate the main processes and drivers within this system**." (Malleson, Heppenstall, See, 2009).

We developed the model on top of [https://github.com/projectmesa/mesa] mesa wolf_sheep example
We developed the model on top of [https://github.com/projectmesa/mesa] mesa.
We thank Jackie Kazil, David Massa and all the contributors of the mesa project.

**Lígia Mori Madeira**
# [VIDA video explicativo -- 4 minutos](https://www.youtube.com/watch?v=14r831iPbbM&feature=youtu.be])

**Bernardo Alves Furtado**

**Alan Rafael Dill**
## Objetivos

We are considering two models (see the other one at github.com/bafurtado/armas):
1. Ilustrar –- por meio de um **Modelo Baseado em Agentes** -– situações de violência doméstica
antes e depois da pandemia, reproduzindo os principais achados da literatura

### 1. Home violence model
2. Contribuir com o entendimento dos fatores preponderantes e a adequação de medidas
de dissuasão

An exploratory **stay-at-home-COVID-increased-violence** model. *Under construction*
3. ... empiricamente considerando as
diversidades das RMs brasileiras.

See folder `home_violence`
## Resultados

1. A partir de um indicador de **stress** dos agentes, baseados em fatores tais como: gênero, histórico de agressões
salário, horas em casa e número de membros na família; maior probabilidade de agressão.
2. Entidades: pessoas (adultos, crianças, famílias)
3. Alterações nos estados: trabalha/não trabalho, salário (0, 1), número de horas em casa
4. Perguntas:
![Baseline](prt.png)

4.1 Em que medida o aumento do número de dias em casa aumenta a violência doméstica e os feminicídios?
![Comparação entre metrópoles](text/metropolis.png)

4.2 Em que medida o não acesso à rede de proteção amplia a violência doméstica e os feminicídios?
![Intrametropolitano -- Porto Alegre](text/Attacks_poa2.png)

![Influential factors](violence/table.png)
![Intrametropolitano -- Brasília](text/BSB_attacks2.png)

### To run the models:
#### Para rodar os modelos, desde a instalação inicial
# To run the model:
## Instalação inicial

1. Preferencialmente, download e instale Python, via [https://www.anaconda.com/distribution] conda.
No mínimo, tenha Pyton3 instalado
Expand All @@ -48,7 +51,7 @@ clone esse repositório:
1. `git clone https://github.com/BAFurtado/home_violence.git`
2. `pip install mesa`

#### To actually run
## Para rodar o modelo
5. Utilize o comando `cd` para que o Terminal esteja no diretorio correto:
1. `cd home_violence`
2. Type `mesa runserver` e pronto. Se tudo foi instalado, o browser se abrirá automaticamente.
Expand Down
11 changes: 6 additions & 5 deletions violence/generalization.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ def main(parameters, iterations=50, max_steps=None):
"Females": lambda m: m.count_type_citizens(m, 'female'),
"Stress": lambda m: m.count_stress(m)}
if not max_steps:
print('running_here')
batch_run = BatchRunner(model.Home, variable_parameters=parameters, max_steps=10, iterations=iterations,
model_reporters=model_reporters)
else:
Expand Down Expand Up @@ -69,22 +70,22 @@ def main2(iterates=200, dissuasion=True, quarantine=False):
# dfqf = main2(dissuasion=False, quarantine=False)
# dfqt = main2(dissuasion=False, quarantine=True)
# dtqf = main2(dissuasion=True, quarantine=False)
dtqt = main2(dissuasion=True, quarantine=True)
# dtqt = main2(dissuasion=True, quarantine=True)

# iterates = 200
iterates = 3
# subdivisions = 8

# params = {'gender_stress': np.linspace(.1, .9, subdivisions)}
# params = {'under_influence': np.linspace(.01, .5, subdivisions)}
# params = {'has_gun': np.linspace(.1, .9, subdivisions)}
# params = {'is_working_pct': np.linspace(.1, .9, subdivisions)}
# params = {'chance_changing_working_status': np.linspace(.01, .5, subdivisions)}

params = {'quarantine': [True, False], 'dissuasion': [True, False]}
# params = {'pct_change_wage': np.linspace(.01, .5, subdivisions)}
# params = {'metro': metropolis}
# # Max steps

#
# print([self.schedule.time, self.schedule.get_breed_count(Person)])
# df = main(params, iterations=iterates)
# df.to_csv(f'output/output_{iterates}_BRASILIA_TFTF_{params.keys()}.csv', sep=';', index=False)
df = main(params, iterations=iterates)
df.to_csv(f'output/output_{iterates}_BRASILIA_TFTF_{params.keys()}.csv', sep=';', index=False)

0 comments on commit 52bafb1

Please sign in to comment.