## ----echo = FALSE, warning=FALSE---------------------------------------------- library(YEAB) ## ----------------------------------------------------------------------------- set.seed(123) # Generate a 2D normal distribution with a correlation of 0.6 n <- 1000 mean <- c(0, 0) sd_x <- 1 sd_y <- 5 correlation <- 0.6 sigma <- matrix( c( sd_x^2, correlation * sd_x * sd_y, correlation * sd_x * sd_y, sd_y^2 ), ncol = 2 ) library(MASS) simulated_data <- mvrnorm(n, mu = mean, Sigma = sigma) x <- simulated_data[, 1] y <- simulated_data[, 2] # Plot the data plot(simulated_data) # Compute entropy using normal entropy formula cov_matr <- cov(cbind(x, y)) sigmas <- diag(cov_matr) det_sig <- prod(sigmas) ## ----------------------------------------------------------------------------- normal_entropy <- function(k, pi, det_sig) { (k / 2) * (1 + log(2 * pi)) + (1 / 2) * log(det_sig) } entropia <- normal_entropy(k = 2, pi = pi, det_sig) print(entropia) # Expected value close to 4.3997 # Compute entropy using entropy_kde2d result <- entropy_kde2d(x, y, n_grid = 50) print(result) # Expected value close to 4.2177