make_pd: Make a Function Positive-Definite

View source: R/kernel_regression_estimator.R

make_pdR Documentation

Make a Function Positive-Definite

Description

This function can make a function positive-definite using the methods proposed by P. Hall and his coauthors.

Usage

make_pd(x, method.1 = TRUE)

Arguments

x

A vector of numeric values of an estimated autocovariance function.

method.1

Should method 1 be used (TRUE) or method 2 (FALSE).

Details

This function perform positive-definite adjustments proposed by P. Hall and his coauthors.

Method 1 is as follows:

  1. Take the discrete Fourier cosine transform, \widehat{\mathcal{F}}(\theta).

  2. Compute a modified spectrum \widetilde{\mathcal{F}}(\theta) = \max(\widehat{\mathcal{F}}(\theta), 0) for all sample frequencies.

  3. Perform the Fourier inversion to obtain a new estimator.

Method 2 is as follows:

  1. Take the discrete Fourier cosine transform \widehat{\mathcal{F}}(\theta).

  2. Find the smallest frequency where its associated value in the spectral domain is negative

    \hat{\theta} = \inf\{ \theta > 0 : \widehat{\mathcal{F}}(\theta) < 0\}.

  3. Compute a modified spectrum \widetilde{\mathcal{F}} = \widehat{\mathcal{F}}(\theta)\textbf{1}(\theta < \hat{\theta}), where \textbf{1}(A) is the indicator function over the set A.

  4. Perform the Fourier inversion.

Value

A vector that is the adjusted function.

References

Hall, P. & Patil, P. (1994). Properties of nonparametric estimators of autocovariance for stationary random fields. Probability Theory and Related Fields 99(3), 399-424. https://doi.org/10.1007/bf01199899

Hall, P., Fisher, N. I., & Hoffmann, B. (1994). On the nonparametric estimation of covariance functions. The Annals of Statistics 22(4), 2115-2134. https://doi.org/10.1214/aos/1176325774

Bilchouris, A. & Olenko, A (2025). On Nonparametric Estimation of Covariogram. Austrian Statistical Society 54(1), 112-137. https://doi.org/10.17713/ajs.v54i1.1975

Examples

X <- c(1, 2, 3, 4)
make_pd(X)
check_pd(make_pd(X))
check_pd(make_pd(X, method.1 = FALSE))

CovEsts documentation built on Sept. 10, 2025, 10:39 a.m.

Related to make_pd in CovEsts...