SVDplot {rainbow} | R Documentation |
Singular value decomposition plot
Description
The singular value decomposition (SVD) plot of Zhang et al. (2007) captures the changes in the singular columns as the number of curves gradually increases.
Usage
SVDplot(object, order = 3, plot = TRUE, plot.type = c("fts", "image"),
mfrow = c(2, 3))
Arguments
object |
An object of |
order |
Number of Singular Value Decomposition (SVD) components. The maximum order is 4. |
plot |
Is graphical display required? |
plot.type |
Plot functional time series or images? |
mfrow |
Grid of graphics. |
Details
By using the SVD, Zhang et al. (2007) proposed a plot for visualizing patterns
of functional time series. They considered a set of curves as a two-way (p * n)
data matrix, where p
is the total number of covariates and n
is the total number of curves.
The main advantage of this dynamic plot is to visualize both column and row information of a two-way matrix simultaneously, relate the matrix to the corresponding curves, show local variations, and highlight interactions between columns and rows of a two-way matrix.
Value
When plot = TRUE
, it returns a plot.
When plot = FALSE
, it returns the following:
svds |
A number of singular value decomposition ordered by the amount of explained variation. |
reconstruction |
Reconstruction of the original data using the SVD. |
residual |
Residual of the original data. |
Note
MATLAB code is available at https://www.stat.purdue.edu/~lingsong/.
Using the animate package of Grahn(2011), a set of dynamic movies can be created to visualize the changes in singular rows and singular columns.
Author(s)
Han Lin Shang. Please, report bugs and suggestions to hanlin.shang@anu.edu.au
References
L. Zhang, J. Marron, H. Shen and Z. Zhu (2007) "Singular value decomposition and its visualization", Journal of Computational and Graphical Statistics, 16(4), 833-854.
A. Grahn (2011) "The animate Package", https://ctan.org/pkg/animate?lang=en.
See Also
Examples
SVDplot(ElNino_OISST_region_1and2)
SVDplot(ElNino_OISST_region_1and2, plot.type = "image")