Predict Method for Ellipsoid Objects
predict.ellipsoid.RdCompute points on the ellipsoid boundary, mostly for drawing.
Usage
<!-- % method *and* stand alone function on purpose : -->
predict.ellipsoid(object, n.out=201, ...)
# S3 method for class 'ellipsoid'
predict(object, n.out=201, ...)
ellipsoidPoints(A, d2, loc, n.half = 201)Arguments
- object
an object of class
ellipsoid, typically fromellipsoidhull(); alternatively any list-like object with proper components, see details below.- n.out, n.half
half the number of points to create.
- A, d2, loc
arguments of the auxilary
ellipsoidPoints, see below.- ...
passed to and from methods.
Details
Note ellipsoidPoints is the workhorse function of
predict.ellipsoid a standalone function and method for
ellipsoid objects, see ellipsoidhull.
The class of object is not checked; it must solely have valid
components loc (length \(p\)), the \(p \times p\)
matrix cov (corresponding to A) and d2 for the
center, the shape (“covariance”) matrix and the squared average
radius (or distance) or qchisq(*, p) quantile.
Unfortunately, this is only implemented for \(p = 2\), currently; contributions for \(p \ge 3\) are very welcome.
Examples
## see also example(ellipsoidhull)
## Robust vs. L.S. covariance matrix
set.seed(143)
x <- rt(200, df=3)
y <- 3*x + rt(200, df=2)
plot(x,y, main="non-normal data (N=200)")
mtext("with classical and robust cov.matrix ellipsoids")
X <- cbind(x,y)
C.ls <- cov(X) ; m.ls <- colMeans(X)
d2.99 <- qchisq(0.99, df = 2)
lines(ellipsoidPoints(C.ls, d2.99, loc=m.ls), col="green")
if(require(MASS)) {
Cxy <- cov.rob(cbind(x,y))
lines(ellipsoidPoints(Cxy$cov, d2 = d2.99, loc=Cxy$center), col="red")
}# MASS
#> Loading required package: MASS