How can I perform a PCA analysis over 3D data?
16 views (last 30 days)
Show older comments
Jaime de la Mota
on 16 Jul 2018
Commented: Sanchay Mukherjee
on 31 Jan 2022
Hello everyone. I have a 100*50*20 matrix which contains measurements over an area of space. 100 is the number of latitudes, 50 is the number of longitudes and 20 is the number of times each measurement has been performed. I want to perform PCA over this data, but I would like to obtain eigensurfaces instead of eigenvectors, the regular PCA works just fine over a belt of constant latitude or longitude with all the 20 times; however, if I try to use it over the 3D matrix, I get an error. My next attempt has been to use reshape to merge latitude and longitude in a vector. The obtained coeff matrix obtained has a size of 20*20, not something I can plot over a map.
Can anyone please tell me if I can plot the eigensurfaces to see a 2D image for each time? Thanks.
0 Comments
Accepted Answer
Image Analyst
on 16 Jul 2018
See my attached 3-D PCA demo. My 3-D array is an RGB image.
6 Comments
Image Analyst
on 13 Nov 2018
I have not worked in the compression field. The existing tried and true methods built into other functions are fine with me and I have no desire or need to improve upon those. They meet my needs so I don't need to research better ones.
Sanchay Mukherjee
on 31 Jan 2022
I am trying to do a similar thing. I have a matrix of 200*500*3, where 200*500 is the data for corresponding 3 features (like a 3D plot). I want to find out the relative importance of the 3 features. Do you have any suggestions how should I proceed?
Thanks
More Answers (0)
See Also
Categories
Find more on Dimensionality Reduction and Feature Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!