# Calculate generalized (oblique) W-correlation matrix

### Description

Function calculates oblique W-correlation matrix for the series.

### Usage

1 |

### Arguments

`x` |
the input object of ‘ossa’ class |

`groups` |
list of numeric vectors, indices of elementary components used for reconstruction. The elementary components must belong to the current OSSA component set |

`...` |
further arguments passed to |

`cache` |
logical, if 'TRUE' then intermediate results will be cached in 'ssa' object. |

### Details

Matrix of oblique weighted correlations will be computed. For two series, oblique W-covariation is defined as follows:

*
owcov(F_1, F_2) = <L* X_1 (R*)^T, L* X_2 (R*)^T>_F,
*

where
*X_1, X_2* denotes the trajectory matrices of series *F_1, F_2*
correspondingly, *L = [U_{b_1} : ... : U_{b_r}], R = [V_{b_1}: ... V_{b_r}]*,
where *{b_1, …, \b_r}* is current OSSA component set
(see description of ‘ossa.set’ field of ‘ossa’ object),
'*<., .>_F*' denotes Frobenius matrix inner product
and '***' denotes Moore-Penrose pseudo-inverse matrix.

And oblique W-correlation is defined the following way:

*
owcor(F_1, F_2) = owcov(F_1, F_2) / sqrt(owcov(F_1, F_1) owcov(F_2, F_2))
*

Oblique W-correlation is OSSA analogue of W-correlation, that is, a measure of series separability. If I-OSSA procedure separates series exactly, their oblique W-correlation will be equal to zero.

### Value

Object of class ‘wcor.matrix’

### References

Golyandina N. and Shlemov A. (2015): *Variations of Singular Spectrum Analysis
for separability improvement: non-orthogonal decompositions of time series*,
Statistics and Its Interface. Vol.8, No 3, P.277-294.
http://arxiv.org/abs/1308.4022

### See Also

`Rssa`

for an overview of the package, as well as,
`wcor`

,
`iossa`

,
`fossa`

.

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
# Separate two non-separable sines
N <- 150
L <- 70
omega1 <- 0.06
omega2 <- 0.065
F <- 4*sin(2*pi*omega1 * (1:N)) + sin(2*pi*omega2 * (1:N))
s <- ssa(F, L)
ios <- iossa(s, nested.groups = list(1:2, 3:4), kappa = NULL, maxIter = 200, tol = 1e-8)
p.wcor <- plot(wcor(ios, groups = list(1:2, 3:4)))
p.owcor <- plot(owcor(ios, groups = list(1:2, 3:4)), main = "OW-correlation matrix")
print(p.wcor, split = c(1, 1, 2, 1), more = TRUE)
print(p.owcor, split = c(2, 1, 2, 1))
``` |