paint-brush
Erstellen eines systematischen ESG-Bewertungssystems: Methodenvon@carbonization
224 Lesungen

Erstellen eines systematischen ESG-Bewertungssystems: Methoden

Zu lang; Lesen

Ziel dieses Projekts ist die Schaffung eines datengesteuerten ESG-Bewertungssystems, das durch die Einbeziehung gesellschaftlicher Stimmungen eine bessere Orientierung und systematischere Bewertungen bieten kann.
featured image - Erstellen eines systematischen ESG-Bewertungssystems: Methoden
Carbonization Process Evolution Publication HackerNoon profile picture
0-item

Autoren:

(1) Aarav Patel, Amity Regional High School – E-Mail: [email protected];

(2) Peter Gloor, Center for Collective Intelligence, Massachusetts Institute of Technology und korrespondierender Autor – E-Mail: [email protected].

Linktabelle

4. Methoden

Die Erstellung dieses Projekts erfolgte in drei Schritten. Der erste Schritt war die Datenerfassung durch Web Scraper in verschiedenen sozialen Netzwerken. Anschließend wurden Textdaten vorverarbeitet und mithilfe der Verarbeitung natürlicher Sprache in Unterkategorienwerte umgewandelt. Schließlich wurden mithilfe dieser Daten maschinelle Lernalgorithmen trainiert, um ein zusammenhängendes ESG-Rating zu berechnen.


Abbildung 2: Eine Übersicht darüber, wie der datenbasierte ESG-Index Daten aus sozialen Netzwerken nutzt, um ein zusammenhängendes ESG-Rating zu berechnen

4.1. Datenerfassung

Anstatt selbst gemeldete Unternehmensunterlagen zu verwenden, wurden Daten aus sozialen Netzwerken verwendet, um ESG ganzheitlich zu quantifizieren. Mithilfe von sozialen Netzwerkanalysen und Web Scraping können Trends identifiziert werden (Gloor et al., 2009). Beliebte soziale Netzwerke wie Twitter, LinkedIn und Google News verfügen über eine Fülle von Daten zu nahezu jedem Thema. Diese Daten können einen ausgewogenen Überblick über die ESG-Praktiken von Unternehmen bieten und dabei helfen, sowohl kurzfristige als auch langfristige ESG-Trends von Unternehmen abzudecken. Sie können auch Daten sammeln, die möglicherweise nicht in Unterlagen enthalten sind. Schließlich können diese Daten die Bedenken von Außenstehenden direkt hervorheben, wodurch die ESG-Initiativen von Unternehmen besser ausgerichtet werden können, um wirkungsvoller zu sein.


Abbildung 3: Schlüsselwörter/Themen für die Datenerhebung


Zu diesem Zweck wurde eine umfassende Liste mit ESG-relevanten Schlüsselwörtern erstellt (Abbildung 3). Diese Liste mit Schlüsselwörtern wurde von Unterkategorien inspiriert, die häufig in aktuellen ESG-Bewertungsmethoden verwendet werden. Diese Liste wurde verwendet, um öffentlich verfügbare Unternehmensdaten von Wikipedia, LinkedIn, Twitter und Google News zu sammeln. Zur Datenerfassung wurden Web Scraper in Python entwickelt. Wikipedia-Daten wurden mithilfe der Wikipedia-API (Application Programming Interface) erfasst. Wikipedia dient dazu, einen allgemeinen Überblick über die Praktiken eines Unternehmens zu geben. Google News-Daten wurden durch die Identifizierung der wichtigsten Nachrichtenartikel anhand einer Google-Suche erfasst. Die Links zu diesen Artikeln wurden gespeichert. Die Nachrichten dienen dazu, allgemeine Updates zu wichtigen ESG-Entwicklungen zu liefern. Twitter-Daten wurden mithilfe der Snscrape-Bibliothek erfasst. Snscrape ist eine leichtgewichtige API, mit der Benutzer nahezu unbegrenzt viele Tweets (mit gewissen Einschränkungen hinsichtlich der Anzahl der pro Stunde erfassten Tweets) aus nahezu jedem beliebigen Zeitrahmen erfassen können. Twitter wurde in erster Linie ausgewählt, um verbraucherseitiges Feedback zu den Praktiken eines Unternehmens zu geben. Da die LinkedIn-API das Sammeln von LinkedIn-Posts nicht unterstützt, wurde stattdessen ein von Grund auf neuer Algorithmus dafür entwickelt. Der Algorithmus nutzte den Selenium Chromedriver, um einen Menschen zu simulieren, der durch eine LinkedIn-Abfrage scrollt. Darauf basierend wurde der Text jedes Beitrags mithilfe von HTML-Anfragen über BeautifulSoup gesammelt und gespeichert. LinkedIn dient dazu, professionellere Informationen über die Praktiken eines Unternehmens bereitzustellen. Diese Datenerfassungsarchitektur ermöglicht es, Bewertungen bei Bedarf in Echtzeit zu aktualisieren und zu generieren. Anschließend wurden die Daten für jede Unterkategorie in einer CSV-Datei gespeichert.


Diese vier sozialen Netzwerke decken ein breites Spektrum an ESG-Daten von Unternehmen ab. Daten wurden für die meisten S&P 500-Unternehmen (ohne Immobilien) gesammelt. Immobilien wurden hauptsächlich deshalb ausgeschlossen, weil sie nicht so viel Berichterstattung zu ESG-Themen erhielten (basierend auf oberflächlicher Analyse), sodass sie für das vorgeschlagene System nicht praktikabel erschienen. Dadurch wird sichergestellt, dass die gesammelten Unternehmen über Sektoren und Branchen hinweg gut ausgewogen sind. Die Web Scraper versuchten, ~100 Posts/Artikel für jedes Schlüsselwort in einem sozialen Netzwerk zu sammeln. Manchmal wurden jedoch weniger Daten gesammelt, da API-Ratenbegrenzungen und eine begrenzte Datenverfügbarkeit für die weniger bekannten Unternehmen bestanden. Um die Erfassung zu beschleunigen, wurden mehrere Skripte gleichzeitig ausgeführt. Anfangs wurden die Programme oft durch die Erfassung so vieler Daten in so kurzer Zeit geschwindigkeitsbegrenzt. Um dies zu beheben, wurden Sicherheitsvorkehrungen hinzugefügt, um das Programm in diesem Fall anzuhalten. Die gesamte Datenerfassung erfolgte gemäß den Geschäftsbedingungen der jeweiligen Site. Insgesamt wurden ungefähr ~937.400 Datenpunkte von ~470 Unternehmen gesammelt, mit einem Durchschnitt von ~37 Punkten pro Schlüsselwort des sozialen Netzwerks. Die meisten dieser Daten konzentrierten sich auf das Jahr 2021. Es wurde jedoch kein fester Datumsbereich festgelegt, da dadurch Datenpunkte für weniger bekannte Unternehmen verloren gegangen wären, die bereits Schwierigkeiten hatten, genügend Informationen zu sammeln.


Nachdem alle Daten erfasst waren, wurden sie zur weiteren Analyse in eine Tabelle exportiert. Die Daten wurden mit RegEx (Reguläre Ausdrücke) vorverarbeitet. Zunächst wurden URLs und Links entfernt. Erwähnungen wurden durch ein generisches Wort ersetzt, um Namen zu abstrahieren. Schließlich wurden ungewöhnliche Zeichen und Satzzeichen entfernt. Dadurch konnten Wörter/Zeichen herausgefiltert werden, die die NLP-Analyse beeinträchtigen könnten.

4.2. NLP-Analyse

Nachdem die Daten bereinigt und organisiert wurden, wurde ein NLP-Algorithmus zur Analyse erstellt. Zunächst wurde ein ESG-Relevanzalgorithmus erstellt, um ESG-irrelevante Daten herauszufiltern, die die Ergebnisse beeinträchtigen könnten. Zu diesem Zweck wurde die Schlüsselworterkennung verwendet, um festzustellen, ob der Beitrag/Artikel das aktuelle Unternehmen sowie eine oder mehrere der ESG-Unterkategorien besprach. Als Nächstes wurde die Named Entity Recognition-Bibliothek des Natural Language Toolkit (NLTK) von Python verwendet, um festzustellen, ob sich ein Beitrag auf die Organisation bezieht, um unbeabsichtigte Daten zu entfernen. Wenn beispielsweise nach der Abfrage „Apple-Klima“ gesucht wird, könnte ein Beitrag mit dem Inhalt „Frühlingsklima ist die beste Zeit, um Apfelbäume anzubauen“ angezeigt werden. Die Named Entity Recognition könnte jedoch erkennen, dass dieser Satz nicht ESG-relevant ist, da „Apple“ als Adjektiv verwendet wird. Daher wird der Algorithmus ihn bei der Analyse ignorieren. Wenn der Beitrag hingegen lautet: „Apple investiert 500 Millionen Dollar in Initiativen zum Klimawandel“, würde der Algorithmus feststellen, dass der Beitrag über die Organisation Apple spricht. Dieser Filterschritt hilft, irrelevante Informationen zu entfernen, um die Datenqualität zu verbessern.


Nach der Filterung wurde mithilfe der NLP-Sentimentanalyse bewertet, ob ein Beitrag ESG-positiv oder -negativ war. Zu diesem Zweck wurden zwei NLP-Algorithmen entwickelt: Der NLP-Algorithmus für kurze Beiträge analysierte kürzere Textkörper (Tweets, LinkedIn-Beiträge), während der NLP-Algorithmus für lange Artikel längere Texte (Nachrichtenartikel, Wikipedia-Artikel) analysierte.


Es wurde eine literarische Analyse verschiedener Python-Sentimentanalyse-Bibliotheken durchgeführt. Nach dem Vergleich verschiedener Sentimentanalyse-Bibliotheken wie TextBlob, VADER, FastText und Flair stellte sich heraus, dass Flair die anderen Klassifikatoren übertraf. Dies liegt wahrscheinlich daran, dass die einfachen Bag-of-Words-Klassifikatoren wie VADER oder TextBlob die Beziehungen zwischen verschiedenen Wörtern nicht erkennen konnten. Flair hingegen verwendete kontextbezogene Wortvektoren, um die Beziehungen eines Satzes auf Wort- und Zeichenebene zu analysieren. Dies ist wahrscheinlich der Grund, warum beim Testen dieser Algorithmen auf der Stanford Sentiment Treebank (SST) zur Bewertung der Stimmung von Filmkritiken auf einer Skala von 1 bis 5 festgestellt wurde, dass der Flair-Algorithmus mit einem F1-Score von 49,90 % (Akbik et al., 2018) (Rao et al., 2019) (Abbildung 4) am besten abschnitt. Der Short-Post-Algorithmus wurde also mithilfe der Flair-Sentimentanalyse-Bibliothek erstellt. Der Algorithmus für lange Artikel ist im Wesentlichen der Algorithmus für kurze Beiträge, allerdings gemittelt über alle relevanten Textabsätze (d. h. Absätze, die den Firmennamen enthalten) in einem Artikel.


Abbildung 4: Vergleich der Genauigkeit verschiedener Sentimentanalyse-Algorithmen auf der SST-5-Datenbank


Diese übergeordneten Algorithmen wurden für jedes spezifische soziale Netzwerk weiter optimiert. Der LinkedIn-Algorithmus analysierte beispielsweise das Profil des Autors eines LinkedIn-Posts, um Selbstauskünfte auszuschließen. Dies liegt daran, dass Führungskräfte häufig über ihre positiven Initiativen und Ziele sprechen, was andere unvoreingenommene Beobachtungen verwässern und so die Ergebnisse verfälschen kann. Darüber hinaus analysierte der Algorithmus für Twitter und LinkedIn den Artikel zur Bewertung, wenn im Text eine Linkadresse gefunden wurde.


Anfangs war der Analysealgorithmus sehr langsam, da Flair 3-4 Sekunden brauchte, um einen Beitrag zu analysieren. Daher wurde eine Variante namens „Flair Sentiment-Fast“ installiert. Dadurch konnte Flair eine Stapelanalyse durchführen, bei der mehrere Beiträge gleichzeitig analysiert wurden. Dies verkürzte die Analysezeit erheblich, während die Genauigkeit leicht beeinträchtigt wurde.


Nachdem alle Rohdaten ausgewertet waren, wurden die Werte in einer zusammenhängenden Tabelle gemittelt. Mittels Mittelwertbildung wurden fehlende Teilwertdaten ergänzt. Diese Teilwertwerte können Führungskräften Aufschlüsselungen der sozialen Stimmung zu wichtigen Themen liefern und ihnen konkrete Informationen liefern. Abbildung 4: Vergleich der Genauigkeit verschiedener Stimmungsanalysealgorithmen in der SST-5-Datenbank darüber, welche Bereiche verbessert werden müssen. Diese Werte können als Rohwerte verwendet werden, um Initiativen zu leiten, oder sie können durch maschinelles Lernen weiter kompiliert werden, um eine ESG-Prognose zu erstellen.

4.3. Algorithmen für maschinelles Lernen

Nach der Zusammenstellung der Daten wurden verschiedene Modelle des maschinellen Lernens getestet. Das Ziel dieser Modelle war es, einen ESG-Score von 0-100 vorherzusagen, wobei 0 der schlechteste und 100 der beste Wert ist. Die meisten dieser überwachten Lernmodelle waren leichte Regressionsalgorithmen, die nichtlineare Muster mit begrenzten Daten lernen können. Einige dieser Algorithmen umfassen Random Forest Regression, Support Vector Regression, K-Nearest Neighbors Regression und XGBoost (Extreme Gradient Boosting) Regression. Random Forest Regression funktioniert, indem während der Trainingszeit mehrere Entscheidungsbäume erstellt und die mittlere Vorhersage ausgegeben wird (Tin Kam Ho, 1995). Support Vector Regression identifiziert die am besten passende Linie innerhalb eines Werteschwellenwerts (Awad et al., 2015). K-Nearest Neighbors Regression sagt einen Wert basierend auf dem Durchschnittswert seiner benachbarten Datenpunkte voraus (Kramer, 2013). XGBoost (Extreme Gradient Boosting) Regression verwendet Gradient Boosting durch die Kombination der Schätzungen/Vorhersagen einfacherer Regressionsbäume (Chen et al., 2016).


Diese Regressionsalgorithmen wurden anhand von 19 Merkmalen trainiert. Diese Merkmale umfassen die durchschnittliche Stimmung für jedes der 18 Schlüsselwörter mit einer zusätzlichen Kategorie für Wikipedia. Sie wurden auf öffentliche S&P Global ESG-Ratings kalibriert, um sicherzustellen, dass sie nicht zu stark von bestehenden Lösungen abweichen. Ein öffentlich lizenzierter ESG-Rating-Scraper auf GitHub wurde verwendet, um S&P Global ESG-Scores für alle analysierten Unternehmen abzurufen (Shweta-29). Optimierungstechniken wie Regularisierung wurden verwendet, um Überanpassungen zu vermeiden und so eine höhere Genauigkeit zu erzielen.


Vor der Erstellung der Algorithmen wurden Unternehmen mit weniger als 5 Artikeln/Posts pro ESG-Unterkategorie herausgefiltert. Damit blieben ~320 Unternehmen für die Analyse übrig. Um den Algorithmus zu erstellen und zu testen, wurden ~256 Unternehmen als Trainingsdaten verwendet, während ~64 Unternehmen als Testdaten verwendet wurden. Diese Ergebnisse wurden verwendet, um die Vorhersagefähigkeiten des Algorithmus zu bestimmen.