Site Web : policychangeindex.org
Auteurs : Julian TszKin Chan et Weifeng Zhong
Veuillez envoyer tous vos commentaires/questions par courrier électronique à julian.chan [AT] Policychangeindex.org ou weifeng.zhong [AT] Policychangeindex.org
Le processus d'industrialisation de la Chine est depuis longtemps le produit des orientations du gouvernement, qu'il s'agisse d'une planification centrale coercitive ou d'une politique industrielle ambitieuse. Pour la première fois dans la littérature, nous développons un indicateur quantitatif des priorités politiques de la Chine sur une longue période, que nous appelons l'indice de changement politique pour la Chine (PCI-Chine). Le PCI-Chine est un indicateur avancé qui s’étend de 1951 au trimestre le plus récent et peut être mis à jour à l’avenir. En d’autres termes, le PCI-Chine nous aide non seulement à comprendre le passé de l’industrialisation de la Chine, mais nous permet également de faire des prédictions à court terme sur ses orientations futures.
La conception du PCI-Chine repose sur deux éléments de base : (1) il prend comme données d'entrée le texte intégral du Quotidien du Peuple - le journal officiel du Parti communiste chinois - depuis sa création en 1946 ; (2) il utilise un ensemble de techniques d'apprentissage automatique pour « lire » les articles et détecter les changements dans la manière dont le journal priorise les questions politiques.
La source du pouvoir prédictif du PCI-Chine repose sur le fait que le Quotidien du Peuple est au centre névralgique du système de propagande chinois et que les changements de propagande précèdent souvent les changements de politique. Avant la grande transformation de la planification centrale sous Mao au programme de réforme économique après Mao, par exemple, des efforts considérables ont été déployés par le gouvernement chinois pour promouvoir l’idée de réforme, faire bouger l’opinion publique et mobiliser des ressources vers le nouvel agenda. Par conséquent, en détectant les changements (en temps réel) dans la propagande, le PCI-Chine prédit effectivement les changements (futurs) de politique.
Pour plus de détails sur la méthodologie et les résultats de ce projet, veuillez consulter le document de recherche suivant :
Les résultats changeront à mesure que les modèles sous-jacents s’amélioreront. Une raison fondamentale pour l'adoption de méthodes open source dans ce projet est que des personnes de tous horizons puissent contribuer aux modèles que notre société utilise pour évaluer et prédire les changements dans les politiques publiques ; lorsque les améliorations apportées par la communauté sont intégrées, le modèle produira de meilleurs résultats.
La première étape pour tout le monde (utilisateurs et développeurs) est d’ouvrir un compte GitHub gratuit. Vous pouvez ensuite spécifier comment vous souhaitez « surveiller » le référentiel PCI-Chine en cliquant sur le bouton Regarder dans le coin supérieur droit de la page principale du référentiel.
La deuxième étape consiste à se familiariser avec le référentiel PCI-Chine en lisant la documentation.
Si vous souhaitez poser une question ou signaler un bug, créez un nouveau problème ici et postez votre question ou dites-nous ce qui, selon vous, ne va pas avec le référentiel.
Si vous souhaitez demander une amélioration, créez un nouveau problème ici et fournissez des détails sur ce qui, selon vous, devrait être ajouté au référentiel.
Tout d’abord, installez les dépendances et configurez l’environnement approprié en exécutant la commande suivante dans le shell :
./PCI-China>conda env create -f environment.yml
Deuxièmement, activez le nouvel environnement pci_env
:
./PCI-China>conda activate pci_env
Troisièmement, exécutez ce qui suit dans l'environnement pci_env
:
./PCI-China>sh run_all.sh
La commande ci-dessus effectuera les tâches suivantes : (1) traitement des données, (2) modèles de formation pour des fenêtres glissantes de deux, cinq et dix ans, (3) compilation des résultats, (4) création d'une sortie texte et (5 ) visualiser les résultats.
Si vous ne disposez pas des données du Quotidien du Peuple, vous pouvez exécuter nos tests qui estiment un PCI à l'aide d'un ensemble de données simulées :
./PCI-China>pytest
Remarques
Le python et un script R répertoriés ci-dessous sont contenus dans le fichier run_all.sh
. Ils sont disponibles pour que les utilisateurs effectuent respectivement les tâches suivantes.
proc_pd.py
: Traitez et préparez les données brutes du Quotidien du Peuple pour construire les modèles de réseaux neuronaux.pci.py
: entraînez un modèle de réseau neuronal pour construire le PCI-Chine pour un trimestre d'année spécifié, en utilisant une longueur de fenêtre glissante spécifiée.compile_tuning.py
: Compilez les résultats de tous les modèles et exportez-les vers un fichier .csv
.create_text_output.py
: Générez les données brutes ainsi que le résultat de classification du modèle pour chaque article au cours d'un trimestre spécifié.gen_figures.R
: Génère des figures.create_plotly.py
: Créez une figure Plotly interactive. Pour le fichier pci.py
, les utilisateurs peuvent également consulter les descriptions des arguments de la fonction à l'aide de l'option --help
:
./PCI-China>python pci.py --help
Using TensorFlow backend.
usage: pci.py [-h] [--model MODEL] [--year YEAR] [--month MONTH] [--gpu GPU]
[--iterator ITERATOR] [--root ROOT] [--temperature TEMPERATURE]
[--discount DISCOUNT] [--bandwidth BANDWIDTH]
optional arguments:
-h, --help show this help message and exit
--model MODEL Model name: window_5_years_quarterly,
window_10_years_quarterly, window_2_years_quarterly
--year YEAR Target year
--month MONTH Target month
--gpu GPU Which gpu to use
--iterator ITERATOR Iterator in simulated annealing
--root ROOT Root directory
--temperature TEMPERATURE
Temperature in simulated annealing
--discount DISCOUNT Discount factor in simulated annealing
--bandwidth BANDWIDTH
Bandwidth in simulated annealing
Les données brutes du Quotidien du Peuple , qui ne sont pas fournies dans ce référentiel, doivent être placées dans le sous-dossier PCI-China/Input/pd/
. Chaque fichier de ce sous-dossier doit contenir un trimestre d'année de données, être nommé selon le trimestre d'année respectif et être au format .pkl
. Par exemple, les données brutes du premier trimestre 2018 devraient être dans le fichier 2018_Q1.pkl
. Vous trouverez ci-dessous la liste des noms de colonnes et des types de chaque fichier de données brutes :
>>> df1 = pd.read_pickle("./PCI-China/Input/pd/pd_1946_1975.pkl")
>>> df1.dtypes
date datetime64[ns]
year int64
month int64
day int64
page int64
title object
body object
id int64
dtype: object
où title
et body
sont les textes chinois du titre et du corps de chaque article.
Les données traitées du Quotidien du Peuple , qui ne sont pas fournies dans ce référentiel, doivent être placées dans le sous-dossier PCI-China/data/Output/database.db
. Le fichier est au format SQLite. Le schéma de la base de données est présenté comme le tableau ci-dessous :
import sqlite3
import pandas as pd
conn = sqlite3.connect("data/output/database.db")
pd.read_sql_query("PRAGMA TABLE_INFO(main)", conn)
cid | nom | taper | pas nul | valeur_dflt | pk | |
---|---|---|---|---|---|---|
0 | 0 | date | HORODATAGE | 0 | Aucun | 0 |
1 | 1 | identifiant | ENTIER | 0 | Aucun | 0 |
2 | 2 | page | RÉEL | 0 | Aucun | 0 |
3 | 3 | titre | TEXTE | 0 | Aucun | 0 |
4 | 4 | corps | TEXTE | 0 | Aucun | 0 |
5 | 5 | couches | ENTIER | 0 | Aucun | 0 |
6 | 6 | titre_seg | TEXTE | 0 | Aucun | 0 |
7 | 7 | corps_seg | TEXTE | 0 | Aucun | 0 |
8 | 8 | année | ENTIER | 0 | Aucun | 0 |
9 | 9 | quart | ENTIER | 0 | Aucun | 0 |
10 | 10 | mois | ENTIER | 0 | Aucun | 0 |
11 | 11 | jour | ENTIER | 0 | Aucun | 0 |
12 | 12 | jour de la semaine | ENTIER | 0 | Aucun | 0 |
13 | 13 | première page | ENTIER | 0 | Aucun | 0 |
14 | 14 | pages1à3 | ENTIER | 0 | Aucun | 0 |
15 | 15 | title_len | ENTIER | 0 | Aucun | 0 |
16 | 16 | body_len | ENTIER | 0 | Aucun | 0 |
17 | 17 | n_articles_that_day | ENTIER | 0 | Aucun | 0 |
18 | 18 | n_pages_that_day | RÉEL | 0 | Aucun | 0 |
19 | 19 | n_frontpage_articles_that_day | ENTIER | 0 | Aucun | 0 |
où title_int
et body_int
sont les intégrations de mots (vecteurs numériques) du titre et du corps de chaque article.
Les statistiques récapitulatives des données traitées se trouvent dans le fichier .csv
suivant :
https://github.com/PSLmodels/PCI-China/blob/master/PCI-China/figures/Summary%20statistics.csv
Ni les données brutes ni les données traitées du Quotidien du Peuple ne peuvent être divulguées par les auteurs. Les utilisateurs qui ont des questions sur l'application du référentiel à leurs propres données sont invités à contacter les auteurs :
Veuillez citer la source du dernier PCI-Chine sur le site Web : https://policychangeindex.org.
Pour les travaux académiques, veuillez citer le document de recherche suivant :