Learn R Programming

otsfeatures (version 1.0.0)

ordinal_asymmetry: Computes the estimated asymmetry of an ordinal time series

Description

ordinal_asymmetry computes the estimated asymmetry of an ordinal time series

Usage

ordinal_asymmetry(series, states, distance = "Block", normalize = FALSE)

Value

The estimated asymmetry.

Arguments

series

An OTS.

states

A numerical vector containing the corresponding states.

distance

A function defining the underlying distance between states. The Hamming, block and Euclidean distances are already implemented by means of the arguments "Hamming", "Block" (default) and "Euclidean". Otherwise, a function taking as input two states must be provided.

normalize

Logical. If normalize = FALSE (default), the value of the estimated asymmetry is returned. Otherwise, the function returns the normalized estimated asymmetry.

Author

Ángel López-Oriona, José A. Vilar

Details

Given an OTS of length \(T\) with range \(\mathcal{S}=\{s_0, s_1, s_2, \ldots, s_n\}\) (\(s_0 < s_1 < s_2 < \ldots < s_n\)), \(\overline{X}_t=\{\overline{X}_1,\ldots, \overline{X}_T\}\), the function computes the estimated asymmetry given by \(\widehat{asym}_{d}=\widehat{\boldsymbol p}^\top (\boldsymbol J-\boldsymbol I)\boldsymbol D\widehat{\boldsymbol p}\), where \(\widehat{\boldsymbol p}=(\widehat{p}_0, \widehat{p}_1, \ldots, \widehat{p}_n)^\top\), with \(\widehat{p}_k\) being the standard estimate of the marginal probability for state \(s_k\), \(\boldsymbol I\) and \(\boldsymbol J\) are the identity and counteridentity matrices of order \(n + 1\), respectively, and \(\boldsymbol D\) is a pairwise distance matrix for the elements in the set \(\mathcal{S}\) considering a specific distance between ordinal states, \(d(\cdot, \cdot)\). If normalize = TRUE, then the normalized estimate is computed, namely \(\frac{\widehat{asym}_{d}}{max_{s_i, s_j \in \mathcal{S}}d(s_i, s_j)}\).

References

weiss2019distanceotsfeatures

Examples

Run this code
estimated_asymmetry <- ordinal_asymmetry(series = AustrianWages$data[[100]],
states = 0 : 5) # Computing the asymmetry estimate
# for one series in dataset AustrianWages using the block distance

Run the code above in your browser using DataLab