Note: You are currently viewing documentation for Moodle 3.9. Up-to-date documentation for the latest stable version of Moodle may be available here: Analytics.

Analytics: Difference between revisions

From MoodleDocs
No edit summary
(added video)
 
(68 intermediate revisions by 8 users not shown)
Line 1: Line 1:
''Info to be added soon...''
{{Learning analytics}}
This page describes the Analytics models tool used to visualise, manage and evaluate prediction models.
==Overview==


== Settings ==
{{MediaPlayer | url = https://youtu.be/TFhQVwk1CQY | desc = Analytics in Moodle 3.8}}
 
 
=== What are learning analytics? ===
Learning analytics are software algorithms that are used to predict or detect unknown aspects of the learning process, based on historical data and current behavior. There are four main categories of learning analytics:
* descriptive (what happened?)
* predictive (what will happen next?)
* diagnostic (why did it happen?)
* prescriptive (do this to improve)
 
Most commercial solutions are descriptive only. Those that are predictive or proactive make certain assumptions about learning that don’t apply to everyone.
 
=== Analytics vs. reporting ===
Moodle provides a variety of built-in reports based on log data, but they are primarily descriptive in nature -- they tell participants what happened, but not why, and they don’t predict outcomes or advise participants how to improve outcomes. Log entries, while very detailed, are not in themselves descriptive of the learning process.  They tell us “who,” “what,” and “when,” but not “why” or “how well.” Much more context is needed around each micro-action to develop a pattern of engagement.


You can access ''Analytics settings'' from ''Site administration > Analytics > Analytics settings''.
Many third-party plugins also exist for Moodle that provide descriptive analytics. There are also integrations with third-party off-site reporting solutions. Again, these primarily provide descriptive analytics that rely on human judgment to interpret reports and generate predictions and prescriptions.


=== Predictions processor ===
Often in the past, learning analytics systems have attempted to analyze past activities to predict future activities in real time. With Moodle Learning Analytics, we are more ambitious. We believe a full learning analytics solution will help us not only predict events, but change them to be more positive.


Prediction processors are the machine learning backends that process the datasets generated from the calculated indicators and targets and return predictions. This plugin is shipped with 2 prediction processors:
===Features===
* Two types of models supported:
** Machine-learning based models, including predictive models
** "Static" models to detect situations of concern using simple rules
* Three built-in models: "[[Students at risk of dropping out]]", "Upcoming activities due" and "No Teaching".
* A set of student engagement [[Learning_analytics_indicators|indicators]] based on the  [https://en.wikipedia.org/wiki/Community_of_inquiry Community of Inquiry].
* Built-in tools to evaluate models against your site's data
* Proactive notifications using [[Events_list_report|Events]]
* A list of suggested Actions is provided with the Insight notifications for each model. For example, in the [[Students at risk of dropping out]] model, instructors can easily send messages to students identified by the model, or jump to the [[Activity_report|Activity report]] for that student for more detail about student activity within the course
* An [[dev:Analytics API|  API]] to build indicators and prediction models for third-party Moodle plugins
* Machine learning backend plugin type - supports PHP and Python, and can be extended to implement other ML backends
* The system can be easily extended with new custom models, based on reusable targets, indicators, and other components. For more information, see the [[dev:Analytics API| Analytics API]] developer documentation.


* The PHP one is the default
===Limitations===
* The Python one is more powerful and it generates graphs with the model performance but it requires setting up extra stuff like Python itself (https://wiki.python.org/moin/BeginnersGuide/Download) and the moodlemlbackend package.


    pip install moodlemlbackend
* Machine learning models such as [[Students at risk of dropping out]] must be trained on a site with data . These models cannot make predictions on a site until this is done.
* Models must be designed and selected to match the educational priorities of the institution.


=== Time splitting methods ===
== Settings ==


The time splitting method divides the course duration in parts, the predictions engine will run at the end of these parts. It is recommended that you only enable the time splitting methods you could be interested on using; the site contents analyser will calculate all indicators using each of the enabled time splitting methods. The more enabled time splitting methods the slower the evaluation process will be.
The Moodle learning analytics system requires some initial configuration before use. See [[Analytics settings]] for more detail.


== Models management ==
== Using analytics ==
The Moodle Learning Analytics API is an open system that can become the basis for a very wide variety of models. Models can contain indicators (a.k.a. predictors), targets (the outcome we are trying to predict), insights (the predictions themselves), notifications (messages sent as a result of insights), and actions (offered to recipients of messages, which can become indicators in turn).


You can access the tool from ''Site Administration > Analytics > Analytics models'' to see the list of prediction models.
Most learning analytics models are not enabled by default. Enabling models for use should be done after considering the institutional goals the models are meant to support. See [[Using analytics]] for more information.


[[File:prediction-models-list.jpeg]]
== Managing models ==
Once models have been enabled and trained, insights will be generated. Models should also be monitored for performance and accuracy. See [[Managing analytics]] for more information.


These are some of the actions you can perform on a model:
==Capabilities==


* ''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.
There are two analytics capabilities:
* ''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.
* ''Evaluate:'' Evaluate the prediction model by getting all the training data available on the site, calculating all the indicators and the target and passing the resulting dataset to machine learning backends, they will split the dataset into training data and testing data and calculate its accuracy. Note that the evaluation process use all information available on the site, even if it is very old, the accuracy returned by the evaluation process will generally be lower than the real model accuracy as indicators are more reliably calculated straight after training data is available because the site state changes along time. The metric used as accuracy is the ''Matthew’s correlation coefficient'' (good metric for binary classifications)
* ''Log:'' View previous evaluations log, including the model accuracy as well as other technical information generated by the machine learning backends like ROC curves, learning curves graphs, the tensorboard log dir or the model's Matthew’s correlation coefficient. The information available will depend on the machine learning backend in use.
* ''Get predictions:'' Train machine learning algorithms with the new data available on the system and get predictions for ongoing courses. ''Predictions are not limited to ongoing courses, this depends on the model.''


[[File:model-evaluation.jpeg]]
* [[Capabilities/moodle/analytics:managemodels|Manage models]] - allowed for the default role of manager only
* [[Capabilities/moodle/analytics:listinsights|List insights]] - allowed for the default roles of manager, teacher and non-editing teacher


== 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.
==Frequently Asked Questions==
[[Moodle Learning Analytics FAQ]]


Each model defines which predictions will generate insights and which predictions will be ignored. This is an example of ''Students at risk of dropping out'' prediction model; if a student is predicted as not at risk no insight is generated as what is interesting is to know which students are at risk of dropping out of courses, not which students are not at risk.
[[Category:Analytics]]


[[File:prediction-model-insights.jpeg]]
[[es:Analítica]]
[[de:Analytics]]
[[fr:Analyses de données]]

Latest revision as of 12:16, 21 November 2019

Overview

Analytics in Moodle 3.8


What are learning analytics?

Learning analytics are software algorithms that are used to predict or detect unknown aspects of the learning process, based on historical data and current behavior. There are four main categories of learning analytics:

  • descriptive (what happened?)
  • predictive (what will happen next?)
  • diagnostic (why did it happen?)
  • prescriptive (do this to improve)

Most commercial solutions are descriptive only. Those that are predictive or proactive make certain assumptions about learning that don’t apply to everyone.

Analytics vs. reporting

Moodle provides a variety of built-in reports based on log data, but they are primarily descriptive in nature -- they tell participants what happened, but not why, and they don’t predict outcomes or advise participants how to improve outcomes. Log entries, while very detailed, are not in themselves descriptive of the learning process. They tell us “who,” “what,” and “when,” but not “why” or “how well.” Much more context is needed around each micro-action to develop a pattern of engagement.

Many third-party plugins also exist for Moodle that provide descriptive analytics. There are also integrations with third-party off-site reporting solutions. Again, these primarily provide descriptive analytics that rely on human judgment to interpret reports and generate predictions and prescriptions.

Often in the past, learning analytics systems have attempted to analyze past activities to predict future activities in real time. With Moodle Learning Analytics, we are more ambitious. We believe a full learning analytics solution will help us not only predict events, but change them to be more positive.

Features

  • Two types of models supported:
    • Machine-learning based models, including predictive models
    • "Static" models to detect situations of concern using simple rules
  • Three built-in models: "Students at risk of dropping out", "Upcoming activities due" and "No Teaching".
  • A set of student engagement indicators based on the Community of Inquiry.
  • Built-in tools to evaluate models against your site's data
  • Proactive notifications using Events
  • A list of suggested Actions is provided with the Insight notifications for each model. For example, in the Students at risk of dropping out model, instructors can easily send messages to students identified by the model, or jump to the Activity report for that student for more detail about student activity within the course
  • An API to build indicators and prediction models for third-party Moodle plugins
  • Machine learning backend plugin type - supports PHP and Python, and can be extended to implement other ML backends
  • The system can be easily extended with new custom models, based on reusable targets, indicators, and other components. For more information, see the Analytics API developer documentation.

Limitations

  • Machine learning models such as Students at risk of dropping out must be trained on a site with data . These models cannot make predictions on a site until this is done.
  • Models must be designed and selected to match the educational priorities of the institution.

Settings

The Moodle learning analytics system requires some initial configuration before use. See Analytics settings for more detail.

Using analytics

The Moodle Learning Analytics API is an open system that can become the basis for a very wide variety of models. Models can contain indicators (a.k.a. predictors), targets (the outcome we are trying to predict), insights (the predictions themselves), notifications (messages sent as a result of insights), and actions (offered to recipients of messages, which can become indicators in turn).

Most learning analytics models are not enabled by default. Enabling models for use should be done after considering the institutional goals the models are meant to support. See Using analytics for more information.

Managing models

Once models have been enabled and trained, insights will be generated. Models should also be monitored for performance and accuracy. See Managing analytics for more information.

Capabilities

There are two analytics capabilities:

  • Manage models - allowed for the default role of manager only
  • List insights - allowed for the default roles of manager, teacher and non-editing teacher


Frequently Asked Questions

Moodle Learning Analytics FAQ