or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Article h24
Soumettre à Computers, Environment and Urban Systems
A faire
Explorer les nouvelles sorties OSE pour voir si on peut isoler un ou plusieurs régimes de fonctionnement du modèle. En fonction, A choisir un ou plusizeurs jeux de parametres sur le(s)quel(s) on fera tourner le modèle. A voir combien de jeux de paramètre on choisit de garder & si on choisit ces jeux de paramètres de facon aleatoire ou "experte" [tous] A faire dès que l'OSE sera terminé
En fonction du/des nouveaux jeux de parametres choisis, produire les nouvelles sorties (données + graphiques à bosses) pour les 5 scenarios [Romain].
En fonction du/des nouveaux jeux de parametres choisis, produire pour chacun des 5 scenarios une carte de la % d'healthy par cellule à l’initialisation, une carte de la % d'healthy par cellule à la fin du modèle, une carte sur le différentiel des deux cartes précédentes, soit 15 cartes en tout [Julien] Fait à refaire !
Décrire les sorties dans l'article [Julie]
Compter pour chaque scenario le number final d'agents healthy par catégorie sexe/age/éducation (médiane sur 1000 réplications) [Julien & Romain]
Calculer à l'initialisation les % d'agents with a ’day’ cell which differs from the ’night’ cell et les % d'agents with a ’eveing’ cell which differs from the ’night’ cell (cf.Annexe 9.1) (médiane sur 1000 réplications) [Julien]
Library H24 : Dockerization + reproductibilité scripts et papier [Sebastien]
Décrire dans l'article la libray H24 (voir en bas pour le détail) [Seb, Julien & Romain]
Mettre dans l'article un lien vers le depot github du modele de simu 5aday (mettre les workflows OpenMole dans le depot 5aday)
Décrire ce qu'est un OSE en deux phrases qualitatives Appendix 9.3 [Romain]
Mettre l'article au format de la revue Computers, Environment and Urban Systems [Julie]
A faire - Bonus
Si nécessaire inserer le graphique à bosses obtenu avec un second jeu de parametre dans l'Appendix 9.5 pour monter qu'on obtient les mêmes résultats
Faire des cartes pour visualiser la variation spatiale des valeurs (avec 100 réplications par exemple) ? [Julien]
Done
Faire tourner un nouvel OSE (suite aux modifs de nov 2019 ->fevrier 2020 et au nouveau calibrage de fevrier 2020 ) [Romain & Julien].
Refaire l'Appendix 9.3 [Clémentine]
Comprendre pourquoi la social ineq avait des valeurs bizarres sur les cartes envoyées par Julien en nov 2019 [Julien & Romain].
Library H24 : mettre au propre les scripts qui nous ont permis de traiter l'EGT + les données produites. Tout mettre le repo H24 [Julie puis Julien/Seb]
Library H24 : reprendre les scripts des EMD pour généraliser le process, en prenant l’exemple de Nantes/Loire-Atlantique où l'EMD est en open data [Julie]
Revoir figure 3 ? [Clémentine]
Simplifier équations dans texte et figures [Clémentine]
Abandon
Annexe diagramme séquence
Simulation need two preprocessed
.bin
data before running.Step 1 Generating population
Initial distribution of population (
population.bin
) is generated using theh24.tools.PopulationGenerator
tools object with correct input parameters/data :c
shape of Iris,p
&f
population structure and education from census,g
population density in raster format,s
grid size for population projection.Given population density we build a matrix of cells with
Next, the function
generatePopulationRandomly
use information about structure of population (age,sex,education) at the census block level (iris) to sample new population sized individuals using direct sampling algorithm.We don't consider the census block geometries, so we attribute for each individual (
IndividualFeature
) a random cell in a matrix of same size of the population raster grid. This random cell is taken using a multinomial to respect density of population.todo >> exemples simple_grid_5 et simple_grid_cells sont inversés, la population devrait se trouver au niveau dans des cases plus grosses
Finally, individuals (x,y) are translated/relocated to some new grid of cells function of the
gridSize
parameter.Step 2 Move population
Using EGT and population previously generated, flows are precomputed as File (
move.bin
) before running simulation.In
generation.scala
, inflowsFromEgt(...)
the methodreadFlowsFromEGT()
return anArray[Flow]
We build a
MoveMatrix
(in reality aVector[TimeSlice, CellsMatrix]
) whereCellsMatrix
is anArray[Array[Cell]]
:Move
is an object with an index and a ratio.Cell
is a Map which associate anAggregatedCategory
with an array ofMove
AggregatedCategory
object take a category (ex.Education.SUP
) as input and return the coresponding aggregated category (ex.HIGH
)We first build a vector of
MoveMatrix
with empty array of Move for AggregatedCategory.For each
TimeSlice
by reading flows from EGT file (Array[Flow]
) and aggregate them by Cell (addFlowToCell
function).The
addFlowToCell()
function add the contribution of a flow toCell
for a given timeslice by :mn
timeslice andf
timeslice.cat
to this flow.c
is not updatedArray[Move]
for thiscat
.Move
already exist for the activity location of this flow, we update this Move by adding our contribution.After that, MoveMatrix is interpolated (
interpolate(...)
) then normalized (normalizedFlows(...)
).Because EGT flows are a small parts of real flow, we scale MoveMatrix CellsMatrix build using EGT at IDF level by interpolating values to neighbors. Each CellsMatrix could be interpreted as a probability by category at individual level.
To normalize CellsMatrix, we use
getMovesFromOppositeSex(...)
: in order to get more samples in areas where we have little information, we also use the information from samples in the area with the same categories but different sexStep 2 Simulating
results/population.bin
(ageCategory, sexe, education ) dans un vecteur d'IndividualFeature
generateWorld
:IndividualFeature
sont rewrappés dans des case class Age, Sexe, Education, Comportement, Lieu dansIndividual
included
World
en fonction du vecteurIndividual
, fonction comportement de typeBehaviour
(double) et une graine aléatoire.