Sitio web: Policychangeindex.org
Autores: Julian TszKin Chan y Weifeng Zhong
Envíe todos los comentarios/preguntas por correo electrónico a julian.chan [AT] Policychangeindex.org o Weifeng.zhong [AT] Policychangeindex.org
El proceso de industrialización de China ha sido durante mucho tiempo producto de la dirección gubernamental, ya sea mediante una planificación central coercitiva o una política industrial ambiciosa. Por primera vez en la literatura, desarrollamos un indicador cuantitativo de las prioridades políticas de China durante un largo período de tiempo, al que llamamos Índice de Cambio de Políticas para China (PCI-China). El PCI-China es un indicador adelantado que va desde 1951 hasta el trimestre más reciente y puede actualizarse en el futuro. En otras palabras, el PCI-China no sólo nos ayuda a comprender el pasado de la industrialización de China, sino que también nos permite hacer predicciones a corto plazo sobre sus direcciones futuras.
El diseño del PCI-China tiene dos componentes básicos: (1) toma como datos de entrada el texto completo del Diario del Pueblo --- el periódico oficial del Partido Comunista de China --- desde su fundación en 1946; (2) emplea un conjunto de técnicas de aprendizaje automático para "leer" los artículos y detectar cambios en la forma en que el periódico prioriza las cuestiones políticas.
La fuente del poder predictivo del PCI-China reside en el hecho de que el Diario del Pueblo está en el centro neurálgico del sistema de propaganda de China y que los cambios de propaganda a menudo preceden a los cambios de política. Antes de la gran transformación de la planificación central bajo Mao al programa de reforma económica después de Mao, por ejemplo, el gobierno chino hizo esfuerzos considerables para promover la idea de reforma, movilizar a la opinión pública y movilizar recursos hacia la nueva agenda. Por lo tanto, al detectar cambios (en tiempo real) en la propaganda, el PCI-China está, efectivamente, prediciendo cambios (futuros) en la política.
Para obtener detalles sobre la metodología y los hallazgos de este proyecto, consulte el siguiente artículo de investigación:
Los resultados cambiarán a medida que mejoren los modelos subyacentes. Una razón fundamental para adoptar métodos de código abierto en este proyecto es que personas de todos los orígenes puedan contribuir a los modelos que nuestra sociedad utiliza para evaluar y predecir cambios en las políticas públicas; cuando se incorporen mejoras aportadas por la comunidad, el modelo producirá mejores resultados.
El primer paso para todos (usuarios y desarrolladores) es abrir una cuenta gratuita en GitHub. Y luego puede especificar cómo desea "ver" el repositorio PCI-China haciendo clic en el botón Ver en la esquina superior derecha de la página principal del repositorio.
El segundo paso es familiarizarse con el repositorio PCI-China leyendo la documentación.
Si desea hacer una pregunta o informar un error, cree un nuevo problema aquí y publique su pregunta o díganos qué cree que está mal con el repositorio.
Si desea solicitar una mejora, cree una nueva edición aquí y proporcione detalles sobre lo que cree que debería agregarse al repositorio.
Primero, instale las dependencias y configure el entorno adecuado ejecutando el siguiente comando en el shell:
./PCI-China>conda env create -f environment.yml
En segundo lugar, active el nuevo entorno pci_env
:
./PCI-China>conda activate pci_env
En tercer lugar, ejecute lo siguiente en el entorno pci_env
:
./PCI-China>sh run_all.sh
El comando anterior realizará las siguientes tareas: (1) procesar datos, (2) entrenar modelos para ventanas móviles de dos, cinco y diez años, (3) compilar resultados, (4) crear resultados de texto y (5 ) visualizar resultados.
Si no tiene los datos del People's Daily, puede ejecutar nuestras pruebas que estiman un PCI utilizando un conjunto de datos simulados:
./PCI-China>pytest
Notas
El script Python y R que se enumeran a continuación están contenidos en el archivo run_all.sh
. Están disponibles para que los usuarios realicen las siguientes tareas, respectivamente.
proc_pd.py
: procesa y prepara los datos sin procesar del People's Daily para construir los modelos de redes neuronales.pci.py
: entrene un modelo de red neuronal para construir PCI-China para un trimestre anual específico, utilizando una longitud de ventana móvil específica.compile_tuning.py
: compila los resultados de todos los modelos y los exporta a un archivo .csv
.create_text_output.py
: genera los datos sin procesar junto con el resultado de clasificación del modelo para cada artículo en un trimestre del año específico.gen_figures.R
: Genera figuras.create_plotly.py
: crea una figura Plotly interactiva. Para el archivo pci.py
, los usuarios también pueden consultar las descripciones de los argumentos de la función usando la opción --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
Los datos sin procesar del People's Daily , que no se proporcionan en este repositorio, deben colocarse en la subcarpeta PCI-China/Input/pd/
. Cada archivo en esta subcarpeta debe contener un trimestre de datos, tener el nombre del trimestre del año respectivo y estar en formato .pkl
. Por ejemplo, los datos sin procesar del primer trimestre de 2018 deberían estar en el archivo 2018_Q1.pkl
. A continuación se muestra la lista de nombres de columnas y tipos de cada archivo de datos sin procesar:
>>> 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
donde title
y body
son los textos chinos del título y cuerpo de cada artículo.
Los datos procesados del People's Daily , que no se proporcionan en este repositorio, deben colocarse en la subcarpeta PCI-China/data/Output/database.db
. El archivo está en formato SQLite. El esquema de la base de datos se muestra en la siguiente tabla:
import sqlite3
import pandas as pd
conn = sqlite3.connect("data/output/database.db")
pd.read_sql_query("PRAGMA TABLE_INFO(main)", conn)
cid | nombre | tipo | no nulo | valor_dflt | paquete | |
---|---|---|---|---|---|---|
0 | 0 | fecha | MARCA DE TIEMPO | 0 | Ninguno | 0 |
1 | 1 | identificación | ENTERO | 0 | Ninguno | 0 |
2 | 2 | página | REAL | 0 | Ninguno | 0 |
3 | 3 | título | TEXTO | 0 | Ninguno | 0 |
4 | 4 | cuerpo | TEXTO | 0 | Ninguno | 0 |
5 | 5 | estratos | ENTERO | 0 | Ninguno | 0 |
6 | 6 | título_seg | TEXTO | 0 | Ninguno | 0 |
7 | 7 | cuerpo_seg | TEXTO | 0 | Ninguno | 0 |
8 | 8 | año | ENTERO | 0 | Ninguno | 0 |
9 | 9 | cuarto | ENTERO | 0 | Ninguno | 0 |
10 | 10 | mes | ENTERO | 0 | Ninguno | 0 |
11 | 11 | día | ENTERO | 0 | Ninguno | 0 |
12 | 12 | día laborable | ENTERO | 0 | Ninguno | 0 |
13 | 13 | portada | ENTERO | 0 | Ninguno | 0 |
14 | 14 | pagina1a3 | ENTERO | 0 | Ninguno | 0 |
15 | 15 | título_len | ENTERO | 0 | Ninguno | 0 |
16 | 16 | cuerpo_len | ENTERO | 0 | Ninguno | 0 |
17 | 17 | n_artículos_ese_día | ENTERO | 0 | Ninguno | 0 |
18 | 18 | n_páginas_ese_día | REAL | 0 | Ninguno | 0 |
19 | 19 | n_frontpage_artículos_ese_día | ENTERO | 0 | Ninguno | 0 |
donde title_int
y body_int
son las incrustaciones de palabras (vectores numéricos) del título y cuerpo de cada artículo.
Las estadísticas resumidas de los datos procesados se pueden encontrar en el siguiente archivo .csv
:
https://github.com/PSLmodels/PCI-China/blob/master/PCI-China/figures/Summary%20statistics.csv
Los autores no pueden revelar ni los datos brutos ni los datos procesados del People's Daily . Los usuarios que tengan preguntas sobre la aplicación del repositorio a sus propios datos pueden contactar a los autores:
Cite la fuente del último PCI-China en el sitio web: https://policychangeindex.org.
Para trabajos académicos, cite el siguiente trabajo de investigación: