Learn R Programming

otsfeatures (version 1.0.0)

ordinal_dispersion_2: Computes the estimated dispersion of an ordinal time series according to the approach based on the diversity coefficient (DIVC)

Description

ordinal_dispersion_2 computes the estimated dispersion of an ordinal time series according to the approach based on the diversity coefficient

Usage

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

Value

The estimated dispersion according to the approach based on the diversity coefficient.

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 dispersion is returned. Otherwise, the function returns the normalized estimated dispersion.

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 DIVC estimated dispersion given by \(\widehat{disp}_{d}=\frac{T}{T-1}\sum_{i,j=0}^nd\big(s_i, s_j\big)\widehat{p}_i\widehat{p}_j\), where \(d(\cdot, \cdot)\) is a distance between ordinal states and \(\widehat{p}_k\) is the standard estimate of the marginal probability for state \(s_k\). If normalize = TRUE, and distance = "Block" or distance = "Euclidean", then the normalized versions are computed, that is, the corresponding estimates are divided by the factors \(2/m\) or \(2/m^2\), respectively.

References

weiss2019distanceotsfeatures

Examples

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

Run the code above in your browser using DataLab