Eine Einführung in Agentenbasierte Modellierung mit Python

Allgemeine Informationen

Dieser Kurs richtet sich an Menschen, die gerne die Methode des agentenbasierten Modellierens (ABM) erlernen wollen und dabei nicht auf eine spezialisierte Plattform wie Netlogo verwenden wollen, sondern eine generell anwendbare Programmiersprache erlernen möchten.

In diesem Kurs erlernen wir die Grundlagen in der Programmiersprache Python. Dabei fokussieren wir uns auf die Konzepte, die wir auch für das agentenbasierte Modellieren benötigen. Der Kurs vermittelt aber ausreichend allgemeine Grundkenntnisse damit Python auch schon für andere Aufgaben verwendet werden kann. Zudem sollte es euch nach dem Kurs leicht(er) fallen, euch andere Anwendungsgebiete - wie z.B. Ökonometrie, Netzwerkanalyse, oder Machine Learning - selbtständig zu erschließen.

Python ist hervorragend zur Programmierung von ABM geeignet. Allerdings gibt es noch viele weitere Gründe, sich diese Programmiersprache anzueignen: Python ist eine der am schnellsten wachsenden Sprachen, immer mehr Arbeitgeber sind auf der Suche nach Menschen mit Kenntnissen in Python, es handels sich bei Python um eine breit anwendbare, general purpose Sprache, zudem ist Python vergleichsweise leicht kommunizierbar und gleichzeitig sehr mächtig, und so weiter.

Der Kurs ist in mehrere Blocks unterteilt. Die meisten der Blöcke bauen aufeinander auf, Menschen mit Grundkenntnissen können aber gerade die Blöcke zu speziellen Modulen auch unabhängig durcharbeiten. Für jeden Block gibt es neben den Videos auch ein Skript (auf Englisch), das alle Inhalte noch einmal zusammenfasst und auch unabhängig der Videos verwendet werden kann. Außerdem gibt es Übungsaufgaben, die am besten im Team zu lösen sind. Für die Lösungen kontaktiert mich bitte per email.

Die Videos sind alle in der ersten Version. Das bedeutet, dass es mit Sicherheit einige Verbesserungsmöglichkeiten gibt und ich bin für Hinweise natürlich extrem dankbar - egal ob es sich um Kleinigkeiten oder grundlegendes Feedback handelt. Ihr erreicht mich unter claudius@claudius-graebner.com.

Falls ihr einen Abschnitt des Kurses absolviert habe, wäre ich euch dankbar, das jeweilige Feedbackformular auszufüllen. Das würde mir helfen, den Kurs für die Zukunft zu verbessern.

Einführende Texte zur ökonomischen Methodologie

Ich bin überzeugt, dass jede sozialwissenschaftliche Methode ihre Vor- und Nachteile hat. Um angemessen zwischen verschiedenen Methoden zu wählen und deren Ergebnisse aufeinander zu beziehen bedarf es Kenntnisse der Epistemologie und Methodologie. Hier habe ich einige einführende Texte zu diesem Themenbereich zusammengestellt.

Eine Zusammenfassung der Argumente warum auch angewandte Forscherinnen und Forscher sich mit solchen Fragen auseinendersetzen sollten, wie das praktisch umsetzbar ist, und wie ein epistemologisches Framework für Modelle aussehen kann gebe ich in diesem (open access) Artikel, der 2018 im Journal of Artificial Societies and Social Simulation (JASSS) veröffentlicht wurde:

How to Relate Models to Reality? An Epistemological Framework for the Validation and Verification of Computational Models

Der Artikel gibt auch eine einführende Zusammenfassung relevanter wissenschaftstheoretischer Konzepte.

Einführung in Python

Installationsanleitung

Anleitung zur Oberfläche von Spyder (auf Englisch)

Block 2: Klassen und objektorientierte Programmierung

Videos

Skript zum zweiten Block (auf English)

Feedback zu Block 2 (sehr kurzes Google Formular)

Aufgaben Block 2

Aufgabenstellung (html, online).

Für die Musterlösung kontaktiert mich bitte per email.

Block 4: Agentenbasierte Technologiewahlmodelle

In dieser Woche werden wir das bisher gelernte anwenden und gemeinsam ein ABM von Grund auf programmieren. Daher gibt es kein Skript, sondern nur eine Beschreibung des zugrundeliegenden Modells und die fertige Implementierung.

Videos

Beschreibung Technologiewahl Modell

Beispiel-Implementierung des Modells (wie im Video, leicht erweiterte Kommentierung)

Feedback zu Block 4 (sehr kurzes Google Formular)

Aufgaben Block 4

Aufgabenstellung (html, online)

Für die Musterlösung kontaktiert mich bitte per email.

Back to main page.