202511122206 Status: school Tags: Datascience, correlation, non-linear correlation

Maximal Information Coefficient MIC

De Maximal Information Coëfficiënt (MIC) meet de sterkte van de relatie tussen twee variabelen en kan alle soorten verbanden detecteren: lineair, niet-lineair, monotoon en niet-monotoon.
Het is onderdeel van de MINE-familie (Maximal Information-based Nonparametric Exploration) en is gebaseerd op mutual information uit de informatietheorie.

Kenmerken

  • Waarde ligt tussen 0 en 1
  • 0 betekent: geen verband
  • 1 betekent: perfecte relatie zonder ruis
  • Streeft naar equitability: vergelijkbare scores voor relaties van verschillende aard met dezelfde hoeveelheid ruis
  • Detecteert ook complexe niet-functionele verbanden (zoals cirkels of sinussen)

Python Voorbeeld

# Eerst installeren als nodig:
# pip install minepy
 
from minepy import MINE
import numpy as np
 
x = np.array([1, 2, 3, 4, 5], dtype=float)
y = np.array([1, 4, 9, 16, 25], dtype=float)  # kwadratisch verband
 
mine = MINE()
mine.compute_score(x, y)
 
print(f"MIC tussen x en y: {mine.mic()}")

Uitleg:

  • MINE().compute_score(x, y) berekent meerdere statistieken, waaronder MIC, op basis van informatietheorie.
  • MIC kijkt naar hoe goed de verdeling van punten in een rooster informatie over elkaar onthult, niet alleen naar lineaire trends.

Vergelijking met andere methodes

KenmerkPearsonSpearmanDistance CorrelationMIC
Type relatieLineairMonotoonElke vormElke vorm
Detecteert niet-monotone verbanden?NeeNeeJaJa
Waardenbereik-1 tot 1-1 tot 10 tot 10 tot 1
Robuust bij complexe vormen (parabolen, cirkel, sinus)?NeeNeeJaJa
Equitability (vergelijkbare scores voor gelijkmatige ruis)NeeNeeMatigJa

References

Ik was een notitie aan het schrijven over non-linear correlation.

Video over MIC en MINE: MIC visualization of datasets