Website: Policychangeindex.org
Autoren: Julian TszKin Chan und Weifeng Zhong
Bitte senden Sie alle Kommentare/Fragen per E-Mail an julian.chan [AT] Policychangeindex.org oder weifeng.zhong [AT] Policychangeindex.org
Chinas Industrialisierungsprozess ist seit langem ein Produkt staatlicher Lenkung, sei es durch erzwungene zentrale Planung oder ehrgeizige Industriepolitik. Zum ersten Mal in der Literatur entwickeln wir einen quantitativen Indikator für Chinas politische Prioritäten über einen langen Zeitraum, den wir den Policy Change Index für China (PCI-China) nennen. Der PCI-China ist ein Frühindikator, der von 1951 bis zum letzten Quartal reicht und in der Zukunft aktualisiert werden kann. Mit anderen Worten: PCI-China hilft uns nicht nur, die Vergangenheit der Industrialisierung Chinas zu verstehen, sondern ermöglicht uns auch, kurzfristige Vorhersagen über seine zukünftige Richtung zu treffen.
Das Design des PCI-China besteht aus zwei Bausteinen: (1) Es verwendet als Eingabedaten den vollständigen Text der People's Daily – der offiziellen Zeitung der Kommunistischen Partei Chinas – seit ihrer Gründung im Jahr 1946; (2) Es nutzt eine Reihe maschineller Lerntechniken, um die Artikel zu „lesen“ und Änderungen in der Art und Weise zu erkennen, wie die Zeitung politische Themen priorisiert.
Der Ursprung der Vorhersagekraft der PCI-China liegt in der Tatsache, dass die „People's Daily“ das Nervenzentrum des chinesischen Propagandasystems ist und dass Propagandaänderungen oft politischen Änderungen vorausgehen. Vor dem großen Wandel von der zentralen Planung unter Mao zum Wirtschaftsreformprogramm nach Mao unternahm die chinesische Regierung beispielsweise erhebliche Anstrengungen, um die Reformidee zu fördern, die öffentliche Meinung zu bewegen und Ressourcen für die neue Agenda zu mobilisieren. Durch die Erkennung von (Echtzeit-)Änderungen in der Propaganda kann die PCI-China daher effektiv (zukünftige) Änderungen in der Politik vorhersagen.
Einzelheiten zur Methodik und den Ergebnissen dieses Projekts finden Sie im folgenden Forschungspapier:
Die Ergebnisse ändern sich, wenn die zugrunde liegenden Modelle verbessert werden. Ein wesentlicher Grund für den Einsatz von Open-Source-Methoden in diesem Projekt besteht darin, dass Menschen mit unterschiedlichem Hintergrund zu den Modellen beitragen können, die unsere Gesellschaft zur Bewertung und Vorhersage von Veränderungen in der öffentlichen Ordnung verwendet. Wenn von der Community beigesteuerte Verbesserungen einbezogen werden, wird das Modell bessere Ergebnisse liefern.
Der erste Schritt für alle (Benutzer und Entwickler) besteht darin, ein kostenloses GitHub-Konto zu eröffnen. Und dann können Sie angeben, wie Sie das PCI-China-Repository „beobachten“ möchten, indem Sie auf die Schaltfläche „Beobachten“ in der oberen rechten Ecke der Hauptseite des Repositorys klicken.
Der zweite Schritt besteht darin, sich durch das Lesen der Dokumentation mit dem PCI-China-Repository vertraut zu machen.
Wenn Sie eine Frage stellen oder einen Fehler melden möchten, erstellen Sie hier ein neues Problem und posten Sie Ihre Frage oder teilen Sie uns mit, was Ihrer Meinung nach mit dem Repository nicht stimmt.
Wenn Sie eine Verbesserung anfordern möchten, erstellen Sie hier ein neues Problem und geben Sie Details dazu an, was Ihrer Meinung nach zum Repository hinzugefügt werden sollte.
Installieren Sie zunächst die Abhängigkeiten und richten Sie die richtige Umgebung ein, indem Sie den folgenden Befehl in der Shell ausführen:
./PCI-China>conda env create -f environment.yml
Zweitens aktivieren Sie die neue Umgebung pci_env
:
./PCI-China>conda activate pci_env
Drittens führen Sie Folgendes in der pci_env
-Umgebung aus:
./PCI-China>sh run_all.sh
Der obige Befehl führt die folgenden Aufgaben aus: (1) Verarbeiten von Daten, (2) Trainieren von Modellen für zwei-, fünf- und zehnjährige rollierende Zeitfenster, (3) Kompilieren von Ergebnissen, (4) Erstellen einer Textausgabe und (5 ) Visualisierung der Ergebnisse.
Wenn Sie nicht über die People's Daily-Daten verfügen, können Sie unsere Tests ausführen, die einen PCI anhand eines simulierten Datensatzes schätzen:
./PCI-China>pytest
Notizen
Das unten aufgeführte Python- und ein R-Skript sind in der Datei run_all.sh
enthalten. Sie stehen Benutzern zur Verfügung, um jeweils die folgenden Aufgaben auszuführen.
proc_pd.py
: Verarbeiten und bereiten Sie die Rohdaten aus der People's Daily für den Aufbau der neuronalen Netzwerkmodelle vor.pci.py
: Trainieren Sie ein neuronales Netzwerkmodell, um das PCI-China für ein bestimmtes Jahr-Quartal unter Verwendung einer bestimmten rollierenden Fensterlänge zu erstellen.compile_tuning.py
: Kompilieren Sie die Ergebnisse aller Modelle und exportieren Sie sie in eine .csv
Datei.create_text_output.py
: Generieren Sie die Rohdaten zusammen mit dem Klassifizierungsergebnis des Modells für jeden Artikel in einem bestimmten Jahresquartal.gen_figures.R
: Figuren generieren.create_plotly.py
: Erstellen Sie eine interaktive Plotly-Figur. Für die Datei pci.py
können Benutzer auch die Beschreibungen der Argumente für die Funktion mithilfe der Option --help
einsehen:
./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
Die Rohdaten des People's Daily , die nicht in diesem Repository bereitgestellt werden, sollten im Unterordner PCI-China/Input/pd/
abgelegt werden. Jede Datei in diesem Unterordner sollte Daten für ein Jahresquartal enthalten, nach dem jeweiligen Jahresquartal benannt sein und im .pkl
-Format vorliegen. Die Rohdaten für das erste Quartal 2018 sollten sich beispielsweise in der Datei 2018_Q1.pkl
befinden. Nachfolgend finden Sie die Liste der Spaltennamen und -typen der einzelnen Rohdatendateien:
>>> 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
Dabei sind title
und body
die chinesischen Texte des Titels und Texts jedes Artikels.
Die verarbeiteten Daten der People's Daily , die nicht in diesem Repository bereitgestellt werden, sollten im Unterordner PCI-China/data/Output/database.db
abgelegt werden. Die Datei liegt im SQLite-Format vor. Das Schema der Datenbank ist in der folgenden Tabelle dargestellt:
import sqlite3
import pandas as pd
conn = sqlite3.connect("data/output/database.db")
pd.read_sql_query("PRAGMA TABLE_INFO(main)", conn)
cid | Name | Typ | nichtnull | dflt_value | pk | |
---|---|---|---|---|---|---|
0 | 0 | Datum | ZEITSTEMPEL | 0 | Keiner | 0 |
1 | 1 | Ausweis | GANZE ZAHL | 0 | Keiner | 0 |
2 | 2 | Seite | REAL | 0 | Keiner | 0 |
3 | 3 | Titel | TEXT | 0 | Keiner | 0 |
4 | 4 | Körper | TEXT | 0 | Keiner | 0 |
5 | 5 | Schichten | GANZE ZAHL | 0 | Keiner | 0 |
6 | 6 | title_seg | TEXT | 0 | Keiner | 0 |
7 | 7 | body_seg | TEXT | 0 | Keiner | 0 |
8 | 8 | Jahr | GANZE ZAHL | 0 | Keiner | 0 |
9 | 9 | Quartal | GANZE ZAHL | 0 | Keiner | 0 |
10 | 10 | Monat | GANZE ZAHL | 0 | Keiner | 0 |
11 | 11 | Tag | GANZE ZAHL | 0 | Keiner | 0 |
12 | 12 | Wochentag | GANZE ZAHL | 0 | Keiner | 0 |
13 | 13 | Titelseite | GANZE ZAHL | 0 | Keiner | 0 |
14 | 14 | Seite1bis3 | GANZE ZAHL | 0 | Keiner | 0 |
15 | 15 | title_len | GANZE ZAHL | 0 | Keiner | 0 |
16 | 16 | body_len | GANZE ZAHL | 0 | Keiner | 0 |
17 | 17 | n_articles_that_day | GANZE ZAHL | 0 | Keiner | 0 |
18 | 18 | n_pages_that_day | REAL | 0 | Keiner | 0 |
19 | 19 | n_frontpage_articles_that_day | GANZE ZAHL | 0 | Keiner | 0 |
Dabei sind title_int
und body_int
die Worteinbettungen (numerische Vektoren) des Titels und des Hauptteils jedes Artikels.
Die zusammenfassenden Statistiken für die verarbeiteten Daten finden Sie in der folgenden .csv
Datei:
https://github.com/PSLmodels/PCI-China/blob/master/PCI-China/figures/Summary%20statistics.csv
Weder die Rohdaten noch die verarbeiteten Daten der People's Daily können von den Autoren veröffentlicht werden. Benutzer, die Fragen zur Anwendung des Repositorys auf ihre eigenen Daten haben, können sich gerne an die Autoren wenden:
Bitte geben Sie die Quelle des neuesten PCI-China auf der Website an: https://policychangeindex.org.
Für wissenschaftliche Arbeiten zitieren Sie bitte die folgende Forschungsarbeit: