Learn R Programming

Directional (version 7.0)

Hyper spherical-spherical regression: Hyper spherical-spherical regression

Description

Regression when both the dependent and independent variables are directional data-.

Usage

hspher.reg(y, x, xnew = NULL)

Value

A list including:

A

The estimated rotation matrix.

est

The fitted values in unit vectors, if the argument xnew is not NULL.

Arguments

y

The dependent variable; a matrix with either two columns, latitude and longitude, either in radians or in degrees. Alternatively it is a matrix with three columns, unit vectors.

x

The dependent variable; a matrix with either two columns, latitude and longitude, either in radians or in degrees. Alternatively it is a matrix with three columns, unit vectors. The two matrices must agree in the scale and dimensions.

xnew

The new values of some directional independent variable(s) whose directional response values you want to predict. If you have no new x values, leave it NULL (default).

Author

Michail Tsagris.

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

Details

Spherical regression as proposed by Chang (1986) is implemented. If the estimated rotation matrix has a determinant equal to -1, singular value decomposition is performed and the last unit vector is multiplied by -1.

References

Ted Chang (1986). Spherical Regression. Annals of Statistics, 14(3): 907--924.

See Also

spher.cor, spml.reg, spher.reg, sphereplot

Examples

Run this code
mx <- rnorm(5)
mx <- mx/sqrt( sum(mx^2) )
my <- rnorm(5)
my <- my/sqrt( sum(my^2) )
x <- rvmf(100, mx, 15)
A <- rotation(mx, my)
y <- x %*% t(A)
mod <- hspher.reg(y, x)
A
mod$A ## exact match, no noise
y <- x %*% t(A)
y <- y + rvmf(100, colMeans(y), 40)
mod <- hspher.reg(y, x)
A
mod$A ## noise added, more relistic example

Run the code above in your browser using DataLab