4 ms·
Interesting that PCA or any kind of dimensionality reduction does not rate a mention (at at least, not obviously ...). If I had one piece of advice to give on
by zmmmmm 6y ago
Interesting that PCA or any kind of dimensionality reduction does not rate a mention (at at least, not obviously ...).
If I had one piece of advice to give on the subject it would be PCA the crap out of everything and understand what the top components are doing. 9 times out of ten they will turn out to be very significant confounders and in the cases where they are not they will be confirming the structure of your data set in very useful and significant ways.
- Galanwe 6y agoAgree with you on the general idea that dimension reduction is a very important tool. But from my experience performing a PCA first and then trying to make sense of the coefficients is a level 100 reverse engineering task. The coefficients will most likely be numerous and noisy, making sense of them will be impossible. You need to have an hypothesis first of what the principal components might be, and only then compare your idea with the PCA coefficients to see if that works.
- sgt101 6y agoI think that this is something to do when you have a "good" data set in hand - when you've filtered and checked and wrangled the data into something approximating a training table. Or if the data is set to you after that process or the collection process has produced good clean data (for example survey results). Until then I don't think that PCA really tells you what you need to know - which is "is this data set what I think it is " and "is the information that I need to extract actually in here"?
- vatican_banker 6y ago>If I had one piece of advice to give on the subject it would be PCA the crap out of everything and understand what the top components are doing There are at least four issues with this advice (wrt doing data analysis): 1. How do you link your PCA components to the original data? Let's say you are tasked to find the main drivers of sales on a given city. You run PCA on the data and find two main components on the dataset. What do you do next? How do you make this information actionable? 2. How do you treat categorical variables? There are PCA methods for dealing with categorical variables but by the time you apply these methods plus the issues in 1) your data has lost all actionable meaning. 3. PCA is _very_ difficult to explain to business stakeholders. The more difficulty business stakeholders have to understand the analysis, the less they will use it. 4. Data-driven business stakeholders will favour clarity and simplicity over sophistication (somewhat linked to 3)
- zmmmmm 6y agoThe goal isn't to present PCA directly to stakeholders. It is something you do at the start to understand your data. The premise is that it is extremely likely that there are significant batch effects or other statistical correlations in the data that you are probably unaware of at the outset. You should aim to discover these early on. To do this you need to use an unsupervised method because the whole point is you don't what they are. > you are tasked to find the main drivers of sales on a given city. You run PCA on the data and find two main components on the dataset Obviously it depends what comes out. But in all likelihood you will see some significant clusterings / divisions in PC1 and PC2, so you will try to interpret what properties of the points are driving those. You can do it in a data driven way (what are the significant coefficients in principal component vectors) or you can often do it in an exploratory way ... are they related to geography, are they related to age demographics, are they seasonal ... you color the data points by different possible explanatory variables to see what group things together. And you will very likely see things jump out (eg: you could find that the main reason a particular month was down in sales was due to a technical problem with the web site and you'll want to put that aside, because it doesn't have any predictive value).
- efavdb 6y agoShameless plug: I previously wrote up a blog post on how to use an unsupervised feature selection analog of PCA to avoid many of the issues you point out here, and an associated python package to carry it out ("linselect", which you can pip install): https://www.efavdb.com/unsupervised-feature-selection-in-python-with-linselect https://www.efavdb.com/unsupervised-feature-selection-in-pyt...
- Der_Einzige 6y agoDon't use PCA, use modern dimensionality reduction techniques like UMAP or Ivis.
- zmmmmm 6y agoDespite the usefulness of those other techniques, I still prefer to start with PCA. Its direct interpretability in terms of well understood statistical attributes of the data mean that for first line data interpretation it's better (in my mind) for the "QC" portion of analysis. The other methods are great to do after your PCA is looking sane.
- Der_Einzige 6y agoI don't think even starting with PCA is the right approach anymore. Ivis has better interpretability than PCA (e.g. built in features to watch it as it separates the data points out, feature importance explanations just like PCA, and it also supports inverse transforms (so does UMAP) just like PCA. The only thing that PCA has on top of UMAP or Ivis is estimated explained variance calculations which has almost no value. There will be many problems where you can't easily get a "PCA that looks sane", but you can definitely get a UMAP/Ivis that looks sane. I guess I see where you're coming from in regards to like massive datasets and making sure you're not doing silly things (e.g. misreading an ordinal as continuous) - but outside of this I think PCA is antiquated. The antiquation of PCA yet it's still ubiquitous usage is most likely one of the many factors holding back fields like bioinformatics dramatically. Please switch over to modern techniques. Your data will thank you!
- zmmmmm 6y agoInteresting - will admit I use UMAP but have not tried Ivis. Thanks for the suggestion!