score.test: Score Test for the Likelihood of the Record Indicators

View source: R/score.test.R

score.testR Documentation

Score Test for the Likelihood of the Record Indicators

Description

This function performs score (or Lagrange multiplier) tests for the likelihood of the record indicators I_t to study the hypothesis of the classical record model (i.e., of IID continuous RVs).

Usage

score.test(
  X,
  record = c("upper", "lower"),
  alternative = c("two.sided", "greater", "less"),
  probabilities = c("different", "equal"),
  simulate.p.value = FALSE,
  B = 1000
)

Arguments

X

A numeric vector, matrix (or data frame).

record

A character string indicating the type of record, "upper" or "lower".

alternative

A character indicating the alternative hypothesis ("two.sided", "greater" or "less"). Different statistics are used in the one-sided and two-sided alternatives (see Details).

probabilities

A character indicating if the alternative hypothesis assume all series with "equal" or "different" probabilities of record.

simulate.p.value

Logical. Indicates whether to compute p-values by Monte Carlo simulation.

B

An integer specifying the number of replicates used in the Monte Carlo estimation.

Details

The null hypothesis of the score tests is that in every vector (columns of the matrix X), the probability of record at time t is 1/t as in the classical record model, and the alternative depends on the alternative and probabilities arguments. The probability at time t is any value, but equal in the M series if probabilities = "equal" or different in the M series if probabilities = "different". The alternative hypothesis is more specific in the first case than in the second one. Furthermore, the "two.sided" alternative is tested with the usual Lagrange multiplier statistic, while the one-sided alternatives use specific statistics based on scores. (See Cebrián, Castillo-Mateo and Asín (2022) for details on these tests.)

If alternative = "two.sided" & probabilities = "equal", under the null, the Lagrange multiplier statistic has an asymptotic \chi^2 distribution with T-1 degrees of freedom. It has been seen that for the approximation to be adequate M should be greater than T. Otherwise, a simulate.p.value can be computed.

If alternative = "two.sided" & probabilities = "different", the asymptotic behaviour of the Lagrange multiplier statistic is not fulfilled, but the Monte Carlo approach to simulate the p-value is applied.

If alternative is one-sided and probabilities = "equal", the statistic of the test is

\mathcal{T} = \sum_{t=2}^T \frac{(t S_t-M)^2}{M(t-1)} I_{\{S_t > M/t\}}.

The p-value of this test is estimated with Monte Carlo simulations, since the compute the exact distribution of \mathcal{T} is very expensive.

If alternative is one-sided and probabilities = "different", the statistic of the test is

\mathcal{S} = \frac{\sum_{t=2}^T t (t S_t - M) / (t - 1)}{\sqrt{M \sum_{t=2}^T t^2 / (t - 1)}},

which is asymptotically standard normal distributed in M. It is equivalent to the statistic of the weighted number of records N.test with weights \omega_t = t^2 / (t-1) (t=2,\ldots,T).

Value

A list of class "htest" with the following elements:

statistic

Value of the statistic.

parameter

Degrees of freedom of the approximate \chi^2 distribution.

p.value

P-value.

method

A character string indicating the type of test.

data.name

A character string giving the name of the data.

alternative

A character string indicating the alternative hypothesis.

Author(s)

Jorge Castillo-Mateo

References

Cebrián AC, Castillo-Mateo J, Asín J (2022). “Record Tests to Detect Non Stationarity in the Tails with an Application to Climate Change.” Stochastic Environmental Research and Risk Assessment, 36(2), 313-330. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s00477-021-02122-w")}.

See Also

lr.test, global.test

Examples

set.seed(23)
# two-sided and different probabilities of record, always simulated the p-value
score.test(ZaragozaSeries, probabilities = "different")
# equal probabilities
score.test(ZaragozaSeries, probabilities = "equal")
# equal probabilities with simulated p-value
score.test(ZaragozaSeries, probabilities = "equal", simulate.p.value = TRUE)

# one-sided and different probabilities of record
score.test(ZaragozaSeries, alternative = "greater", probabilities = "different")
# different probabilities with simulated p-value
score.test(ZaragozaSeries, alternative = "greater", probabilities = "different", 
  simulate.p.value = TRUE)
# equal probabilities, always simulated the p-value
score.test(ZaragozaSeries, alternative = "greater", probabilities = "equal")

RecordTest documentation built on Aug. 8, 2023, 1:09 a.m.