circ.ridge: Ridge circular regression

View source: R/circ.ridge.R

circ.ridgeR Documentation

Ridge circular regression

Description

Ridge circular regression.

Usage

circ.ridge(y, x, rads = TRUE, type = "vm", lambda = NULL, nlambda = 100,
xnew = NULL, tol = 1e-6, maxiters = 100)

Arguments

y

A vector with the circular data expressed in radians, or angles.

x

The independent variable(s). Can be Euclidean or categorical (factor variables).

rads

If the data are expressed in angles set this to FALSE.

type

The distribution to fit, "vm" is von Mises distribution, "pn" is projected normal distribution, "cipc" is CIPC (or wrapped Cauchy) distribution.

lambda

A vector with a sequence of the ridge \lambda values. If you do not know it leave it NULL and the function will compute it internally.

nlambda

The number of \lambda values to compute.

xnew

The new values of some independent variable(s) whose circular values you want to predict. The can be Euclidean or categorical. If you have no new x values, leave it NULL (default).

tol

The tolerance value to terminate the Newton-Raphson algorithm.

maxiters

The maximum number of iterations the Newton-Raphson algorithm will perform.

Details

Ridge regression using the von Mises, the projected normal or the CIPC (or wrapped Cauchy) distribution.

Value

A list including:

runtime

The runtime of the ridge regression model.

info

A matrix with two columns containing the lambda, and the penalized log-likelihood.

be

A list with the ridge beta coefficients.

est

A list with the ridge estimated compositions.

Author(s)

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

References

Tsagris M., Papastamoulis P. and Kato S. (2025). Directional data analysis using the spherical Cauchy and the Poisson kernel-based distribution. Statistics and Computing, 35:51.

Presnell B., Morrison S. P. and Littell Ramon C. (1998). Projected multivariate linear models for directional data. Journal of the American Statistical Association, 93(443): 1068–1077.

See Also

circridge.cv, circ.reg

Examples

y <- rcirc(100, mu = 3, kappa = 2, rads = TRUE, type = "vm")
x <- matrix( rnorm(100 * 10), ncol = 10)
circ.ridge(y, x, type = "vm")

circda documentation built on Sept. 15, 2026, 5:09 p.m.