Processing math: 100%

This function returns the smoothing periodogram of a stationary time serie, its plot and its Fourier frequency.

smooth.periodogram(y, plot = TRUE, spar = 0)

Arguments

y

(type: numeric) data vector.

plot

(type: logical) logical argument which allows to plot the periodogram. Defaults to TRUE.

spar

(type: numeric) smoothing parameter, typically (but not necessarily) in (0,1].

Value

A list with with the smooth periodogram and the lambda values

Details

smooth.periodogram computes the periodogram from y vector and then smooth it with smoothing spline method, which basically approximates a curve using a cubic spline (see more details in smooth.spline). λ is the Fourier frequency obtained through periodogram. It must have caution with the minimum length of y, because smooth.spline requires the entered vector has at least length 4 and the length of y does not equal to the length of the data of the periodogram that smooth.spline receives. If it presents problems with tol (tolerance), see smooth.spline.

Examples

# AR(1) simulated
require(ggplot2)
#> Loading required package: ggplot2
set.seed(1776)
ts.sim <- arima.sim(n = 1000, model = list(order = c(1, 0, 0), ar = 0.7))
per <- periodogram(ts.sim)
aux <- smooth.periodogram(ts.sim, plot = FALSE, spar = .7)
sm_p <- data.frame(x = aux$lambda, y = aux$smooth.periodogram)
sp_d <- data.frame(
  x = aux$lambda,
  y = spectral.density(ar = 0.7, lambda = aux$lambda)
)
g <- per$plot
g +
  geom_line(data = sm_p, aes(x, y), color = "#ff7f0e") +
  geom_line(data = sp_d, aes(x, y), color = "#d31244")