Estimar la información mutua con rapidez y precisión no es trivial. Te recomiendo que utilices una biblioteca o tendrás que buscar en la bibliografía (por ejemplo, véase Kraskov et al, 2004, Estimación de la información mutua ).
Sin embargo, se puede obtener una estimación ingenuamente de la siguiente manera. Se habla de dos listas de valores, $X$ y $Y$ por lo que se puede estimar el discreto en lugar de información mutua continua: $$ I(X,Y) = \sum_{x\in X}\sum_{y\in Y} P(x,y) \log\left( \frac{P(x,y)}{P(x)\,P(y)} \right) $$ donde $x\in X$ significa $x$ recorre la gama de $X$ . La fórmula sólo requiere que sepas $P(x)$ , $P(y)$ y $P(x,y)$ que puede estimar a partir de los datos (por ejemplo, estimación de la densidad del núcleo o ajuste de un modelo de mezcla gaussiano).
Quizá algo mejor (e igual de fácil con bibliotecas) sea (1) determinar las densidades conjuntas y marginales $P(x)$ , $P(y)$ y $P(x,y)$ mediante la estimación de la densidad (por ejemplo, en Python, véase scipy o sklearn ) y (2) integrar numéricamente las funciones de densidad resultantes (por ejemplo, en scipy ) mediante la fórmula continua: $$ I(X,Y) = \int_{Y}\int_{X} P(x,y) \log\left( \frac{P(x,y)}{P(x)\,P(y)} \right)dx\,dy $$ por lo que se reduce a ejecutar un algoritmo de estimación de la densidad, seguido de un algoritmo de integración numérica.
También puede consultar esta pregunta que calcula primero la información mutua mediante la estimación de la densidad (utilizando histogramas) y luego utiliza la representación de la información mutua mediante Entropía de Shannon es decir $$ I(X,Y) = H(X) - H(Y) - H(X,Y) $$ donde $H$ es la entropía de la información, para terminar el cálculo en su lugar.
(1/11/19) Dado que esto se ha vuelto de mayor importancia en ciertos campos (IA, ciencia de datos y aprendizaje automático, por ejemplo), solo mencionaré algo de la literatura en esas áreas que usa/requiere estimación de información mutua.
Por ejemplo, infoGAN y HFVAE utilizan estimaciones Monte Carlo de límites de la información y/o entropía (también llamadas estimaciones de información variacional). Véase también MINA y InfoMax profundo . Obsérvese que estos métodos (y los métodos que citan o son citados por ellos) suelen preocuparse más por optimización información mutua, no sólo estimarla, lo que, por supuesto, tiene requisitos diferentes.