I am creating a signature file for a supervised classification for a subset of a LANDSAT image. I know what classes I would like to create, and have identified ideal areas for training. However, I am running into a problem in some of these areas in which the covariance matrix cannot be inverted, thus I am not able to run a parametric classification, such as Maximum Likelihood. I understand that the covariance matrix must be linear for this to happen and is a function of the pixels themselves and I cannot edit this. I am using layer-stacked LANDSAT 8 imagery with 14 bands (7 from spring imagery, 7 from winter imagery to detect leaf-on and leaf-off deciduous areas).

Is there a way to determine areas that would lend themselves to fit into a linear covariance matrix? I ran across literature that suggests that an increase in bands makes it more difficult to achieve this linear satisfaction for covariance matrix inversion. I am using ERDAS 2014. It has the option to run a non-parametric (such as parallelepiped) along with a parametric (max likelihood), but I would like to stick to maximum likelihood. Would larger training areas fix this? Or more smaller areas merged together? It seems that when adding new training areas it is random as to whether the cov matrix will be invertible or not. Thanks in advance!

1 Answer 1


One of the most common reason for the covariance matrix that is not invertible from samples is the presence of null variance for one band (all your pixel in one band have the same value). In this case, increasing the size of the sample increase the chances to have a non null variance. Note that the band 6 (thermal) is the most likely to be constant, because of its lower spatial resolution.

Another reason could be that two bands are too much correlated. You number of bands is indeed quite large for a maximum likelihood classifier, so there is a high risk especially because each band is duplicated at two dates (but not all land cover change from date to date). If you want to use ML, then you should reduce the dimensionality of your dataset or try to avoid highly correlated bands. Here are some possible tricks :

1) for each Landsat, you could use some transforms like Tasseled cap or NDVI or only red/near-infrared/middle-infrared. Then you use the images of reduced dimensions at two dates. PCA could also be used directly on the 14 bands, but the results of PCA depend on the area of interest.

2) use the 7 bands of spring + the 7 difference between spring and winter. This will help you avoid strong correlations.

3) use another algorithm, e.g. SVM, that is not "cursed" by the dimensionality of the dataset.

  • This clears up many issues, thank you! After some review, it seems SVM may be a good option for me to explore.
    – Andre C
    Jul 10, 2014 at 22:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.