MATLAB: Perform Naive-Bayes classification(fitcnb) with non-zero off-diagonal covariance matrix

monte carlonaive bayes

Greetings,
I use a Bayesian classification model to generate class-conditional probability density functions (PDFs) from a Monte Carlo (MC) simulation (see Fig 1). The different classes have inter-variable correlations such that the covariance matrix has non-zeros on the off-diagonal elements. However, the Bayesian classification model seems to assume that the off-diagonal elements are zero, such that the PDFs for each class are not shaped according to the MC simulated data (see Fig 2); this makes the PDFs look like ellipsoids that are horizontally aligned.
So, how can I specify the covariance elements in the Bayesian classification model when I for instance want to use it to predict a new data set?
Thanks,
Kenneth
Fig 1:
Fig2:

Best Answer

Disclaimer: I am not an expert on these methods.
Doesn't the "naive" in naive Bayes specifically mean that the model features are independent from each other (i.e. uncorrelated)? You might need a more sophisticated model.