Learning Analytics
Neue Funktionalität
in Moodle 3.7!
Diese Seite muss überarbeitet werden. Greif zu!
Wenn du dich um diesen Artikel kümmern willst, dann kennzeichne das, indem du die Vorlage {{Überarbeiten}} durch die Vorlage {{ÜberarbeitenVergeben}} ersetzt.
Wenn du mit deiner Arbeit fertig bist, dann entferne die Vorlage aus dem Artikel.
Danke für deine Mitarbeit!
Übersicht
Ab Moodle 3.4 implementiert Moodle auf Open Source Basis eine Learning Analytics Funktionalität. Die Implementierung verwendet Algorithmen und Verfahren des maschinellen Lernens, die über die Verfahren der einfachen deskriptiven Datenanalyse hinaus gehen. Die Funktionalität ermöglicht es, Vorhersagen über den Lernerfolg einzelner Nutzer/innen zu treffen und Diagnosen und Empfehlungen für Teilnehmer/innen und Trainer/innen bereitzustellen.
In Moodle 3.4 sind zwei Modelle implementiert:
- Teilnehmer/innen sind gefährdet auszusteigen
- Keine Lehrtätigkeit
Die Analytics Funktionalität kann um weitere Modelle erweitert werden. Die Modelle müssen auf wiederverwendbaren Zielen, Indikatoren und anderen Komponenten basieren. Mehr Informationen dazu finden Sie in der Entwickler-Dokumentation unter Analytics API (englisch).
Funktionalitäten
- Zwei Vorhersagemodelle: Teilnehmer/innen sind gefährdet auszusteigen und Keine Lehrtätigkeit
- Indikatoren, die das Engagement der Teilnehmer/innen messen und auf Community of Inquiry basieren.
- Eingebaute Werkzeuge, die diese Modelle auf die Daten Ihrer Moodle-Site anwenden und auf diese Weise z.B. Nutzer/innen identifizieren, die gefährdet sind auszusteigen
- Proaktive Benachrichtigungen von Trainer/innen über diese Nutzer/innen mit Hilfe von Moodle-Events
- Trainer/innen können auf Basis dieser Benachrichtigungen den Kursteilnehmer/innen Mitteilungen senden, deren Aktivitätenberichte ansehen und weitere Informationen über diese Kursteilnehmer/innen einholen.
- Eine API, um Indikatoren und Vorhersagemodelle für weitere Analytics-Plugins zu implementieren
- Ein Plugin-Typ Machine Learning Backend, der PHP und Python unterstützt und erweitert werden kann, um weitere Backends für maschinelles Lernen zu implementieren
Hinweis: Für alle Analytics-Funktionalitäten ist PHP 7.x erforderlich.
Einschränkungen
Die Funktionalitäten von Moodle Analytics haben folgende Einschränkungen:
- Die Modelle müssen vorab mit Hilfe von Daten aus bereits abgeschlossenen Kursen Ihrer Moodle-Site "trainiert" werden, idealerweise unter Verwendung der Funktionalität Kursabschluss. Die derzeit implementierten Modelle können ohne dieses "Training" keine Vorhersagen machen.
- Das Vorhersagemodell in der aktuellen Moodle-Version erfordert, dass Kurse ein festes Kursbeginndatum und ein festes Kursendedatum haben. Das Modell funktioniert nicht bei Kursen mit fortlaufenden Einschreibungen. Modelle ohne diese Einschränkungen sollen in zukünftigen Moodle-Versionen verfügbar sein.
- Modelle und Vorhersagen sind derzeit nur für Trainer/innen und Administrator/innen sichtbar.
Wir arbeiten an der Weiterentwicklung der Funktionalitäten. Wenn Sie diesen Prozess unterstützen möchten, dann beteiligen Sie sich an den Diskussionen in der Moodle Learning Analytics Community. Insbesondere benötigen wir weiterhin Daten von möglichst vielen Institutionen, um unsere Modelle zu trainieren, so dass die Modelle zukünftig auch sofort auf einer Moodle-Site eingesetzt werden können, ohne sie vorab mit den lokalen Daten zu trainieren.
Einstellungen
Die Moodle-Administration kann die Analytics-Einstellungen auf der Seite Einstellungen > Website-Administration > Analytics > Analytics-Einstellungen vornehmen.
Vorhersage-Prozessor
Vorhersage-Prozessoren sind Backends für maschinelles Lernen, die Daten verarbeiten, die von den Zielen und Indikatoren generiert werden und aus diesen verarbeiteten Daten Vorhersagen generieren. Die Moodle-Standardinstallation stellt zwei Vorhersage-Prozessoren zur Verfügung:
- Der PHP-Prozessor ist der Standardprozessor. Es gibt keine Systemvoraussetzungen, um diesen Prozessor zu verwenden.
- Der Python-Prozessor ist mächtiger. Er generiert Grafiken, die die Performanz des Modells erklären. Er erfordert zusätzliche Tools, die auf dem Moodle-Server installiert sein müssen: Python (https://wiki.python.org/moin/BeginnersGuide/Download) und das Python-Paket moodlemlbackend.
pip install moodlemlbackend
Zeitaufteilungsmethode
Die Zeitaufteilungsmethoden erlauben es, dass Analytics-Daten, die aus einem Kurs generiert wurden, in einem anderen Kurs verwendet werden können, selbst dann wenn die beiden Kurse nicht dieselbe Dauer haben.
Jede Zeitaufteilungsmethode unterteilt die Kursdauer in Zeitabschnitte. Am Ende jedes so definierten Zeitabschnitts läuft die Vorhersage-Engine und generiert Vorhersagen. Es wird empfohlen, nur die Zeiteinteilungsmethoden zu aktivieren, die Sie tatsächlich verwenden wollen, denn der Vorhersage-Prozess iteriert über alle aktivierten Zeitaufteilungsmethoden und dauert folglich um so länger, je mehr Methoden aktiviert sind.
Einzeln bedeutet, dass eine Vorhersage einmalig gemacht wird, d.h. am Ende eines Kurses.
Keine Zeitaufteilung bedeutet, dass das Model eine Vorhersage auf der Basis der aktuell vorliegenden Daten zu einem bestimmten Zeitpunkt berechnet ("Schnapschuss"). Z.B. schaut das Model Keine Lehrtätigkeit, ob irgendwelche Trainer/innen oder Teilnehmer/innen im Kurs eingeschrieben sind und sendet eine Warnung an die Moodle-Administration, dass in einem leeren Kurs voraussichtlich keine Lehrtätigkeit stattfinden wird.
Die akkumulaiven Methoden unterscheiden sich darin, wie viele Daten in die Vorhersage einfließen. Sowohl Viertel als auch Viertel akkumuliert liefert Vorhersagen zum Ende jedes Viertels einer Zeiteinheit (z.B. nach jedem Viertel der Dauer eines Kurses). Bei der Einstellung Viertel wird die Vorhersage jedoch nur auf Basis der Daten des gerade vergangenen Viertels berechnet, bei Viertel akkumuliert dagegen auf der Basis der Daten aller vorangegangenen Viertel. Das gilt analog für die Optionen Zehntel bzw. Zehntel akkumuliert.
Die Methoden Einzeln und Keine Zeitaufteilung haben keine Zeitbeschränkungen. Die Vorhersage-Engine wird beim nächsten geplanten Vorgang (dennoch kann das Modell Bedingungen haben, z.B. dass ein Kurs abgeschlossen sein muss, um ihn zum "trainieren" zu verwenden). Die Zeiteinteilungsmethoden Einzeln und Keine Zeitaufteilung sind nicht geeignet, um Teilnehmer/innen zu identifizieren, die gefährdet sind auszusteigen. Sie sollten stattdessen im Modell Keine Lehrtätigkeit verwendet werden oder um Nutzer/innen zu identifizieren, die Spam verursachen, d.h. in Modellen, in denen einmal eine Vorhersage gemacht wird und fertig. Z.B. kann das Modell Keine Lehrtätigkeit die Zeitaufteilungsmethode Einzeln verwenden; die Zielklasse (das ist die Haupt-PHP-Klasse des Modells) akzeptiert nur Kurse, die in der folgenden Woche beginnen; die Vorhersage wird dann für alle diese Kurse einmalig berechnet.
Der Unterschied zwischen den Methoden Einzeln und Keine Zeitaufteilung besteht darin, dass Modelle, die mit der Methode Einzeln analysiert wurden, auf die analysierbaren Elemente beschränkt sind (z.B. auf die Daten Kursbeginn und Kursende im Fall des Modells Teilnehmer/innen, die gefährdet sind auszusteigen). Bei der Zeitaufteilungsmethode Keine Zeitaufteilung gibt es keine zeitlichen Einschränkungen und alle im System verfügbaren Daten können zur Berechnung der Vorhersage verwendet werden.
Anmerkung: Obwohl alle oben beschriebenen Beispiele sich auf Kurse bezogen, können Zeitaufteilungsmethoden auch auf andere analysierbare Elemente bezogen werden. Z.B. können Kurseinschreibungen ein Beginn- und ein Endedatum haben, so dass die Zeitaufteilungsmethode verwendet werden kann, um Vorhersagen in Bezug auf Aspekte der Kurseinschreibung zu machen. Für analysierbare Elemente ohne Beginn- und Endedatum sind andere Zeitaufteilungsmethoden erforderlich. Z.B. könnte eine "wöchentliche" Zeitaufteilungsmethode in einem Modell verwendet werden, das auf der Basis von Daten über seine Aktivitäten in der vergangenen Woche vorhersagt, ob eine Person sich in der Zukunftim System anmelden wird.
Ausgabeverzeichnis
Mit dieser Einstellung legen Sie fest, wo die Daten des Machine Learning Backends gespeichert werden. Stellen Sie sicher, dass dieses Verzeichnis existiert und der Webserver dort Schreibrechte hat.
Modellverwaltung
Moodle kann mehrere Vorhersagemodelle gleichzeitig unterstützen, sogar im selben Kurs. Das kann verwendet werden, um die Performaz und die Genauigkeit verschiedener Modelle zu vergleichen.
Die Standardinstallation von Moodle stellt zwei Modelle bereit: Teilnehmer/innen sind gefährdet auszusteigen und Keine Lehrtätigkeit. Weitere Modelle können mit Hilfe der Analytics API hinzugefügt werden. Jedes Modell liefert eine Vorhersage eines bestimmten Ziels, basierend auf ausgewählten Indikatoren.
Die Moodle-Administration kann die Modelle auf der Seite Einstellungen > Website-Administration > Analytics > Analytics-Modelle verwalten.
Datei:prediction-models-list.jpeg
Es gibt verschiedene Aktionen, die Sie auf einem Modell ausführen können:
Einschätzungen
Sobald Sie ein Modell mit den vorhandenen Daten Ihrer Moodle-Site trainiert haben, sehen Sie Einschätzungen (Vorhersagen) für jedes "analysierbare Element". Im Modell Teilnehmer/innen sind gefährdet auszusteigen können Sie die Einschätzungen für jeden Kurs ansehen.
Modell auswerten
Sie können das Vorhersagemodell auswerten, indem Sie alle auf der Moodle-Site verfügbaren Trainingsdaten sammeln, alle Indikatoren und alle Ziele berechnen und den daraus resultierenden Datensatz an die Machine Learning Backends weiterleiten. Bei diesem Prozess wird der Datensatz in Trainingsdaten und Testdaten aufgeteilt und daraus die Genauigkeit des Modells berechnet. Beachten Sie, dass dieser Auswertungsprozess alle Informationen verwendet, die auf der Moodle-Site verfügbar sind, selbst wenn diese sehr alt sind. Daher kann die berechnete Genauigkeit geringer sein als die tatsächliche Genauigkeit des Modells. Die Metrik, die zur Berechnung der Genauigkeit verwendet wird, ist die Matthews correlation coefficient. Das ist eine Metrik, die beim maschinellen Lernen für die Auswertung binärer Klassifikationen verwendet wird.
Sie können die Auswertung des Modell von der Kommandozeile aus starten:
$ admin/tool/analytics/cli/evaluate_model.php
Log
View previous evaluation logs, including the model accuracy as well as other technical information generated by the machine learning backends like ROC curves, learning curve graphs, the tensorboard log dir or the model's Matthews correlation coefficient. The information available will depend on the machine learning backend in use.
Edit
You can edit the models by modifying the list of indicators or the time-splitting method. All previous predictions will be deleted when a model is modified. Models based on assumptions (static models) can not be edited.
Enable / Disable
The scheduled task that trains machine learning algorithms with the new data available on the system and gets predictions for ongoing courses skips disabled models. Previous predictions generated by disabled models are not available until the model is enabled again.
Export
Export your site training data to share it with your partner institutions or to use it on a new site. The Export action for models allows you to generate a csv file containing model data about indicators and weights, without exposing any of your site-specific data. We will be asking for submissions of these model files to help evaluate the value of models on different kinds of sites. Please see the Learning Analytics community for more information.
Invalid site elements
Reports on what elements in your site can not be analysed by this model
Clear predictions
Clears all the model predictions and training data
Core models
Students at risk of dropping out
This model predicts students who are at risk of non-completion (dropping out) of a Moodle course, based on low student engagement. In this model, the definition of "dropping out" is "no student activity in the final quarter of the course." The prediction model uses the Community of Inquiry model of student engagement, consisting of three parts:
This prediction model is able to analyse and draw conclusions from a wide variety of courses, and apply those conclusions to make predictions about new courses. The model is not limited to making predictions about student success in exact duplicates of courses offered in the past. However, there are some limitations:
- This model requires a certain amount of in-Moodle data with which to make predictions. At the present time, only core Moodle activities are included in the indicator set (see below). Courses which do not include several core Moodle activities per “time slice” (depending on the time splitting method) will have poor predictive support in this model. This prediction model will be most effective with fully online or “hybrid” or “blended” courses with substantial online components.
- This prediction model assumes that courses have fixed start and end dates, and is not designed to be used with rolling enrollment courses. Models that support a wider range of course types will be included in future versions of Moodle. Because of this model design assumption, it is very important to properly set course start and end dates for each course to use this model. If both past courses and ongoing courses start and end dates are not properly set predictions cannot be accurate. Because the course end date field was only introduced in Moodle 3.2 and some courses may not have set a course start date in the past, we include a command line interface script:
$ admin/tool/analytics/cli/guess_course_start_and_end.php
This script attempts to estimate past course start and end dates by looking at the student enrolments and students' activity logs. After running this script, please check that the estimated start and end dates script results are reasonably correct.
No teaching
This model's insights will inform site managers of which courses with an upcoming start date will not have teaching activity. This is a simple model and it does not use machine learning backend to return predictions. It bases the predictions on assumptions, e.g. there is no teaching if there are no students.
Predictions and Insights
Models will start generating predictions at different point in time, depending on the site prediction models and the site courses start and end dates.
Each model defines which predictions will generate insights and which predictions will be ignored. For example, the Students at risk of dropping out prediction model does not generate an insight if a student is predicted as "not at risk," since the primary interest is which students are at risk of dropping out of courses, not which students are not at risk.
Datei:prediction-model-insights.jpeg
Actions
Each insight can have one or more actions defined. Actions provide a way to act on the insight as it is read. These actions may include a way to send a message to another user, a link to a report providing information about the sample the prediction has been generated for (e.g. a report for an existing student), or a way to view the details of the model prediction.
Insights can also offer two important general actions that are applicable to all insights. First, the user can acknowledge the insight. This removes that particular prediction from the view of the user, e.g. a notification about a particular student at risk is removed from the display.
The second general action is to mark the insight as "Not useful." This also removes the insight associated with this calculation from the display, but the model is adjusted to make this prediction less likely in the future.