Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

spml.reg

Circular or angular regression


Description

Regression with circular dependent variable and Euclidean or categorical independent variables.

Usage

spml.reg(y, x, rads = TRUE, xnew = NULL, seb = FALSE, tol = 1e-07)

Arguments

y

The dependent variable, a numerical vector, it can be in radians or degrees.

x

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

rads

If the dependent variable is expressed in rads, this should be TRUE and FALSE otherwise.

xnew

The new values of some independent variable(s) whose circular values you want to predict. Can be Euclidean or categorical. If they are categorical, the user must provide them as dummy variables. It does not accept factor variables. If you have no new x values, leave it NULL (default).

seb

a boolean variable. If TRUE, the standard error of the coefficients will be be returned. Set to FALSE in case of simulation studies or in other cases such as a forward regression setting for example. In these cases, it can save some time.

tol

The tolerance value to terminate the Newton-Raphson algorithm.

Details

The Newton-Raphson algorithm is fitted in this regression as described in Presnell et al. (1998).

Value

A list including:

runtime

The runtime of the procedure.

iters

The number of iterations required until convergence of the EM algorithm.

beta

The regression coefficients.

seb

The standard errors of the coefficients.

loglik

The value of the maximised log-likelihood.

est

The fitted values expressed in radians if the obsereved data are in radians and in degrees otherwise. If xnew is not NULL, i.e. if you have new x values, then the predicted values of y will be returned.

Author(s)

Michail Tsagris

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr and Giorgos Athineou <gioathineou@gmail.com>

References

Presnell Brett, Morrison Scott 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

Examples

x <- rnorm(100)
z <- cbind(3 + 2 * x, 1 -3 * x)
y <- cbind( rnorm(100,z[ ,1], 1), rnorm(100, z[ ,2], 1) )
y <- y / sqrt( rowSums(y^2) )
y <- ( atan( y[, 2] / y[, 1] ) + pi * I(y[, 1] < 0) ) %% (2 * pi)
spml.reg(y, x, rads = TRUE)

Directional

A Collection of R Functions for Directional Data Analysis

v4.9
GPL-2
Authors
Michail Tsagris, Giorgos Athineou, Anamul Sajib, Eli Amson, Micah J. Waldstein
Initial release
2021-03-26

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.