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

1 view (last 30 days)
simplified
simplified on 18 Jan 2018
Answered: Ilya on 19 Jan 2018
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:

Accepted Answer

the cyclist
the cyclist on 18 Jan 2018
Edited: the cyclist on 18 Jan 2018
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.

More Answers (1)

Ilya
Ilya on 19 Jan 2018
To estimate covariance per class, use fitcdiscr with discriminant type 'quadratic'.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by