# LightPERMANOVA

A lightweight implementation of PERMANOVA based on Euclidean distance from centroid.

## Overview

One known problem of machine learning models in production that affects their predictive ability is covariate shift. It is defined as a change in the distribution of one or more independent variables used to train the model.

ANOVA is often adopted to assess if two samples are from the same population by comparing the variance of their means (H0: all $$\mu$$’s are equal; H1: at least one pair of $$\mu$$’s are not equal). This test relies, however, on the normality assumption of the samples, which makes it a non-viable solution to effectively monitor batches of data.

PERMANOVA is a multivariate version of ANOVA based on the pseudo-F statistic, which makes use of permutations, allowing for a non-parametric estimation.

In the case of covariates shift monitoring, the test compares the original sample $$s\_0$$ used at time $$t\_0$$ to train the model with a new, unseen sample $$s\_1$$ on which the model made predictions at time $$t\_1$$.

## Useful links

Read the docs [here](https://light-permanova.readthedocs.io/en/latest/index.html).

This project is part of "[Root.](https://andrea-zoccatelli.gitbook.io/me/v/root.)".


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://andrea-zoccatelli.gitbook.io/me/lightpermanova/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
