hmatr: Calculate the heterogeneity matrix.

View source: R/hmatr.R

hmatrR Documentation

Calculate the heterogeneity matrix.

Description

Function calculates the heterogeneity matrix for the one-dimensional series.

Usage

hmatr(F, ...,
      B = N %/% 4, T = N %/% 4, L = B %/% 2,
      neig = 10)

## S3 method for class 'hmatr'
plot(x,
     col = rev(heat.colors(256)),
     main = "Heterogeneity Matrix", xlab = "", ylab = "", ...)

Arguments

F

the series to be checked for structural changes

...

further arguments passed to ssa routine for hmatr call or image for plot.hmatr call

B

integer, length of base series

T

integer, length of tested series

L

integer, window length for the decomposition of the base series

neig

integer, number of eigentriples to consider for calculating projections

x

'hmatr' object

col

color palette to use

main

plot title

xlab, ylab

labels for 'x' and 'y' axis

Details

The heterogeneity matrix (H-matrix) provides a consistent view on the structural discrepancy between different parts of the series. Denote by F_{i,j} the subseries of F of the form: F_{i,j} = \left(f_{i},\dots,f_{j}\right). Fix two integers B > L and T \geq L. Let these integers denote the lengths of base and test subseries, respectively. Introduce the H-matrix G_{B,T} with the elements g_{ij} as follows:

g_{ij} = g(F_{i,i+B}, F_{j,j+T}),

for i=1,\dots,N-B+1 and j=1,\dots,N-T+1, that is we split the series F into subseries of lengths B and T and calculate the heterogeneity index between all possible pairs of the subseries.

The heterogeneity index g(F^{(1)}, F^{(2)}) between the series F^{(1)} and F^{(2)} can be calculated as follows: let U_{j}^{(1)}, j=1,\dots,L denote the eigenvectors of the SVD of the trajectory matrix of the series F^{(1)}. Fix I to be a subset of \left\{1,\dots,L\right\} and denote \mathcal{L}^{(1)} = \mathrm{span}\,\left(U_{i},\, i \in I\right). Denote by X^{(2)}_{1},\dots,X^{(2)}_{K_{2}} (K_{2} = N_{2} - L + 1) the L-lagged vectors of the series F^{(2)}. Now define

g(F^{(1)},F^{(2)}) = \frac{\sum_{j=1}^{K_{2}}{\mathrm{dist}^{2}\left(X^{(2)}_{j}, \mathcal{L}^{(1)}\right)}} {\sum_{j=1}^{K_{2}}{\left\|X^{(2)}_{j}\right\|^{2}}},

where \mathrm{dist}\,(X,\mathcal{L}) denotes the Euclidean distance between the vector X and the subspace \mathcal{L}. One can easily see that 0 \leq g \leq 1.

Value

object of type 'hmatr'

References

Golyandina, N., Nekrutkin, V. and Zhigljavsky, A. (2001): Analysis of Time Series Structure: SSA and related techniques. Chapman and Hall/CRC. ISBN 1584881941

See Also

ssa

Examples

# Calculate H-matrix for co2 series
h <- hmatr(co2, L = 24)
# Plot the matrix
plot(h)

Rssa documentation built on Sept. 11, 2024, 7:20 p.m.