Documentation des fonctions de SimGen

Données

Les fonctions de données permettent de préparer les données pour la simulation.

simgen.bdsps(file, year=2017, iprint=False)

Nettoyage de la BDSPS.

Fonction qui permet de mettre en forme la BDSPS.

Paramètres
  • year (int) – Année de la base de départ

  • iprint (boolean) – Switch pour imprimer ou non des outputs intermédiaires de cette fonction

simgen.isq(year)

Population par âge de l’ISQ

Fonction qui permet d’obtenir la population par âge de l’ISQ.

Paramètres

year (int) – année pour la population

Renvoie

Dataframe pandas contenant la population par âge (hommes et femmes)

Type renvoyé

Dataframe

class simgen.parse

Mise en forme des variables pour référence SimGen

Classe qui permet de prendre un dataframe provenant d’une base de donnée particulière et retourner un dataframe propre interpretable par SimGen. Les noms de variables peuvent être matché avec initialisation de la classe en utilisant les dictionnaires map_hh, map_sp et map_kd pour les trois registres.

dominants(data)

Mise en forme des dominants

Fonction membre qui permet de prendre un dataframe dominant et d’appliquer les dictionnaires map_hh pour les noms de variables qui match avec SimGen.

Paramètres

data (dataframe) – dataframe de dominants

Renvoie

dataframe avec les noms de variables de SimGen

Type renvoyé

dataframe

kids(data)

Mise en forme des enfants

Fonction membre qui permet de prendre un dataframe enfants et d’appliquer les dictionnaires map_kd pour les noms de variables qui match avec SimGen.

Paramètres

data (dataframe) – dataframe d’enfants

Renvoie

dataframe avec les noms de variables de SimGen

Type renvoyé

dataframe

spouses(data)

Mise en forme des conjoints

Fonction membre qui permet de prendre un dataframe conjoint et d’appliquer les dictionnaires map_sp pour les noms de variables qui match avec SimGen.

Paramètres

data (dataframe) – dataframe de conjoints

Renvoie

dataframe avec les noms de variables de SimGen

Type renvoyé

dataframe

class simgen.population

Structure de population.

Cette classe permet d’abriter sous un seul toit les dominants, conjoints et enfants et de permettre certaines opérations.

input(hh, sp, kd)

Fonction pour entrer les registres.

Fonction qui permet d’entrer les registres dominants, conjoints et enfants qui ont été préalablement passé dans parse().

Paramètres
  • hh (dataframe) – Dataframe des dominants

  • sp (dataframe) – Dataframe des conjoints

  • kd (dataframe) – Dataframe des enfants

Transitions

class simgen.update

Classe pour les transitions.

Classe permettant d’effectuer différentes transitions d’une année à l’autre.

birth(pop, year, ntarget)

Fonction de transition naissance

Paramètres
  • pop (population) – population (instance de la classe population)

  • year (int) – année de la transition

  • ntarget (int) – nombre de naissance visé (si alignement)

Renvoie

instance de la classe population

Type renvoyé

population

params_birth()

Chargement des paramètres pour transition de naissances.

Le chargement est fait automatiquement avec création instance de la classe.

Simulation

La classe permetant de faire les simulations est model. Voici sa descriptions.

class simgen.model(start_yr=2017, stop_yr=2100)

Modèle de simulation SimGen.

Cette classe permet de créer une instance d’un modèle de microsimulation.

Paramètres
  • start_yr (int) – starting year of simulation

  • stop_yr (int) – last year of simulation

immig_assumptions(allow=True, num=55000.0, init=None)

Hypothèses d’immigration.

Fonction membre qui permet de spécifier les hypothèses d’immigration.

Paramètres
  • allow (boolean) – switch pour aligner le nombre d’immigrants sur ISQ

  • num (float) – total d’immigration (nombre). Par défaut, scénario de référence de l’ISQ.

  • init (str) – nom du fichier contenant la population d’immigrants

startpop(file)

Charger une population de départ.

Fonction membre qui permet de charger une population de départ.

Paramètres

file (str) – nom du fichier contenant la population de départ

Statistiques

La classe permet de faire des statistiques dans le cadre d’une simulation.

class simgen.statistics(stratas)

Classe pour créer les statistiques provenant d’une simulation.

Cette classe permet de capturer la distribution de la population par strata durant une simulation. Elle permet ensuite de faire plusieurs tableaux dynamiques à partir de ces distributions.

Paramètres

stratas (list of str) – liste des noms de variables du fichiers dominants afin de stratifier la population et collecter les fréquences (pondérées)

add(pop, year)

Fonction pour ajouté une année à la distribution.

À chaque année d’une simulation, cette fonction est invoquée afin de collecter la distribution par strata dans l’année en cours. Cette population est ajoutée à counts.

Paramètres
  • pop (population) – Population de départ (instance de la classe population)

  • year (int) – Année de départ de la simulation

freq(strata=None, bins=[0], sub=None)

Fonction de fréquences.

Fonction qui permet, à l’aide de counts, de calculer les fréquences pondérés pour une strata donnée. Deux options sont disponibles: l’une, bins, permet de modifier les catégories de la strata (par exemple groupe d’âge), tandis que sub permet de définir un critère de sélection particulier pour le calcul des fréquence (en str).

Paramètres
  • strata (str) – nom de la variable par laquelle on veut couper les données. Ne pas spécifier cette option revient à demander les fréquences totales.

  • bins (list of int) – list de valeurs pour couper les données selon la variable strata. Fonctionne seulement avec des variables de types int (pas str)

  • sub (str) – condition à respecter pour un sous-échantillon, e.g. “age>=18”.

Renvoie

Un dataframe avec les fréquences par année (rangées) et valeur de la strata (colonnes).

Type renvoyé

dataframe

prop(strata, bins=[0], sub=None)

Fonction de proportion.

Fonction qui permet, à l’aide de counts, de calculer les proportions pondérés pour une strata donnée. Deux options sont disponibles: l’une, bins, permet de modifier les catégories de la strata (par exemple groupe d’âge), tandis que sub permet de définir un critère de sélection particulier pour le calcul des proportions (en str).

Paramètres
  • strata (str) – nom de la variable par laquelle on veut couper les données.

  • bins (list of int) – list de valeurs pour couper les données selon la variable strata. Fonctionne seulement avec des variables de types int (pas str)

  • sub (str) – condition à respecter pour un sous-échantillon, e.g. “age>=18”.

Renvoie

Un dataframe avec les proportions par année (rangées) et valeur de la strata (colonnes).

Type renvoyé

dataframe

save(file)

Fonction pour sauvegarder les fichiers de fréquences.

Paramètres

file (str) – nom du fichier de sauvegarde, incluant l’extension pkl (format pickle)

start(pop, year)

Initialisation de la distribution sur année de départ.

Le membre de la class qui contient les fréquences (counts) est populé pour l’année de départ.

Paramètres
  • pop (population) – Population de départ (instance de la classe population)

  • year (int) – Année de départ de la simulation