Difference between revisions of "Principal component analysis"
(3 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
Once the particles are represent by small sets of scalars, they can be classified with standard methods like k-means. | Once the particles are represent by small sets of scalars, they can be classified with standard methods like k-means. | ||
− | + | =Operative steps = | |
− | PCA classifications are most easily handled through ''classification | + | PCA classifications are most easily handled through ''classification wrokrkflows''. These projects can be controled through [[#GUIs for PCA classification|GUIs]] or the [[#PCA classification through the command line | command line]] |
In whichever way you control the classification project, operatively a PCA based classification will require the completion of these steps: | In whichever way you control the classification project, operatively a PCA based classification will require the completion of these steps: | ||
Line 18: | Line 18: | ||
:Using the eigencomponents to create a classification. | :Using the eigencomponents to create a classification. | ||
− | + | ==Input== | |
PCA is computed on a set of aligned particles. Thus, you need a [[data folder]] and a [[table]] that describes the alignment. | PCA is computed on a set of aligned particles. Thus, you need a [[data folder]] and a [[table]] that describes the alignment. | ||
In the most common case, you want to focus the classification in a region of the box, so that you need a [[classification mask]]. | In the most common case, you want to focus the classification in a region of the box, so that you need a [[classification mask]]. | ||
Additionally, there are some fine tuning parameters that can be passed: particles can be symmetrized, resized or bandpassed. | Additionally, there are some fine tuning parameters that can be passed: particles can be symmetrized, resized or bandpassed. | ||
+ | |||
+ | ==Computation of cross-correlation matrix== | ||
===Computation of cross-correlation matrix=== | ===Computation of cross-correlation matrix=== | ||
Line 29: | Line 31: | ||
This is typically the most time consuming part of the PCA workflow. | This is typically the most time consuming part of the PCA workflow. | ||
− | + | ==Computation of PCA== | |
− | + | ===Eigenvalues=== | |
The cross-correlation matrix is diagonalized, producing a set eigenvalues which should decay to zero (the slower the decay, the more eigenvolumes will be relevant). This computation occurs very fast. | The cross-correlation matrix is diagonalized, producing a set eigenvalues which should decay to zero (the slower the decay, the more eigenvolumes will be relevant). This computation occurs very fast. | ||
− | + | ===Eigenvolumes=== | |
To each eigenvalue an eigenvector is attached. Eigenvectors are called ''[[eigenvolumes]]'' in this context. | To each eigenvalue an eigenvector is attached. Eigenvectors are called ''[[eigenvolumes]]'' in this context. | ||
Note that they will be only defined inside the classification mask attached to the classification. | Note that they will be only defined inside the classification mask attached to the classification. | ||
− | + | ===Eigencomponents=== | |
{{main|Eigentable|Eigentable}} | {{main|Eigentable|Eigentable}} | ||
Also a time consuming step (although much less intensive than the computation of the ccmatrix). Each particle is compared to each eigenvolume. | Also a time consuming step (although much less intensive than the computation of the ccmatrix). Each particle is compared to each eigenvolume. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 18:03, 28 March 2020
In general, a Principal Component Analysis (PCA) aims at analyzing a data set and discovering a set of coordinates that capture the most representative features of said data. Often the term PCA classification is loosely used. PCA is not a classification method: classification itself is performed on the features extracted through PCA.
In Dynamo, the PCA is the process of finding a reduced set of "eigenvolumes" that allow to approximatively represent each particle in our data set as a combination of these eigenvolumes. Which this representation, a generic particle can be represented by the contributions of each "eigenvolume" to the particle, i.e., by a set of "eigencomponents", normally in a number no much higher than 20.
Once the particles are represent by small sets of scalars, they can be classified with standard methods like k-means.
Contents
Operative steps
PCA classifications are most easily handled through classification wrokrkflows. These projects can be controled through GUIs or the command line
In whichever way you control the classification project, operatively a PCA based classification will require the completion of these steps:
- Selecting the input
- a data folder, a table, a mask
- Computing a cross-correlation matrix
- Computing the eigenvalues, eigenvolumes and eigencomponents
- Using the eigencomponents to create a classification.
Input
PCA is computed on a set of aligned particles. Thus, you need a data folder and a table that describes the alignment. In the most common case, you want to focus the classification in a region of the box, so that you need a classification mask.
Additionally, there are some fine tuning parameters that can be passed: particles can be symmetrized, resized or bandpassed.
Computation of cross-correlation matrix
Computation of cross-correlation matrix
- Main article: Cross correlation matrix
All the aligned particles are compared to each other through cross correlation. This produces an NxN matrix for a set of N matrix. This is typically the most time consuming part of the PCA workflow.
Computation of PCA
Eigenvalues
The cross-correlation matrix is diagonalized, producing a set eigenvalues which should decay to zero (the slower the decay, the more eigenvolumes will be relevant). This computation occurs very fast.
Eigenvolumes
To each eigenvalue an eigenvector is attached. Eigenvectors are called eigenvolumes in this context. Note that they will be only defined inside the classification mask attached to the classification.
Eigencomponents
- Main article: Eigentable
Also a time consuming step (although much less intensive than the computation of the ccmatrix). Each particle is compared to each eigenvolume.