Function calculates the heterogeneity matrix for the one-dimensional series.
hmatr(F, ...,
B = N %/% 4, T = N %/% 4, L = B %/% 2,
neig = 10)# S3 method for hmatr
plot(x,
col = rev(heat.colors(256)),
main = "Heterogeneity Matrix", xlab = "", ylab = "", ...)
object of type 'hmatr'
the series to be checked for structural changes
further arguments passed to ssa
routine for
hmatr
call or image
for plot.hmatr
call
integer, length of base series
integer, length of tested series
integer, window length for the decomposition of the base series
integer, number of eigentriples to consider for calculating projections
'hmatr' object
color palette to use
plot title
labels for 'x' and 'y' axis
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\).
Golyandina, N., Nekrutkin, V. and Zhigljavsky, A. (2001): Analysis of Time Series Structure: SSA and related techniques. Chapman and Hall/CRC. ISBN 1584881941
ssa
# Calculate H-matrix for co2 series
h <- hmatr(co2, L = 24)
# Plot the matrix
plot(h)
Run the code above in your browser using DataLab