当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R ellipsoidhull 计算点集的椭球体或跨越椭球体


R语言 ellipsoidhull 位于 cluster 包(package)。

说明

计算 “ellipsoid hull” 或 “spanning ellipsoid”,即最小体积的椭球体(二维中的‘area’),使得所有给定点都位于椭球体的内部或边界上。

用法

ellipsoidhull(x, tol=0.01, maxit=5000,
              ret.wt = FALSE, ret.sqdist = FALSE, ret.pr = FALSE)
## S3 method for class 'ellipsoid'
print(x, digits = max(1, getOption("digits") - 2), ...)

参数

x

维点为数字 矩阵。

tol

Titterington 算法的收敛容差。将其设置为更小的值可能会大大增加所需的迭代次数,并且您可能还想增加maxit

maxit

给出算法的最大迭代步骤数的整数。

ret.wt , ret.sqdist , ret.pr

指示是否应返回附加信息的逻辑,ret.wt指定权重,ret.sqdist 平方乌拉德距离祖先ret.pr算法中的最终概率。

digits , ...

print 方法的常用参数。

细节

据说 “spanning ellipsoid” 算法源于 Pison 等人 (1999) 中的 Titterington(1976),他们将其用于clusplot.default.
该问题可以看作是 “Min.Vol.” 椭球体的特例,其中更灵活和通用的实现是cov.mve在里面MASS包。

"ellipsoid" 的对象,本质上是具有多个组件的 list ,至少包括

cov

协方差矩阵说明椭球体。

loc

- 椭球中心的维位置。

d2

平均半径平方。此外, ,其中 是“椭圆边界上t-statistic的值”(来自 ellipse 包中的ellipse),因此,更有用的是d2 = qchisq(alpha, df = p),其中alpha 是 p-variate 正态分布数据的置信水平,其位置和协方差 loccov 位于椭球体内。

wt

权重向量 iff ret.wt 为真。

sqdist

平方距离向量 iff ret.sqdist 为真。

prob

算法概率向量 iff ret.pr 为真。

it

使用的迭代次数。

tol , maxit

只是输入参数,见上文。

eps

达到的公差是最大平方半径减去

ierr

算法中的错误代码; 0 表示可以。

conv

逻辑指示是否收敛。这被定义为 it < maxit && ierr == 0

例子

x <- rnorm(100)
xy <- unname(cbind(x, rnorm(100) + 2*x + 10))
exy. <- ellipsoidhull(xy)
exy. # >> calling print.ellipsoid()

plot(xy, main = "ellipsoidhull(<Gauss data>) -- 'spanning points'")
lines(predict(exy.), col="blue")
points(rbind(exy.$loc), col = "red", cex = 3, pch = 13)

exy <- ellipsoidhull(xy, tol = 1e-7, ret.wt = TRUE, ret.sq = TRUE)
str(exy) # had small 'tol', hence many iterations
(ii <- which(zapsmall(exy $ wt) > 1e-6))
## --> only about 4 to 6  "spanning ellipsoid" points
round(exy$wt[ii],3); sum(exy$wt[ii]) # weights summing to 1
points(xy[ii,], pch = 21, cex = 2,
       col="blue", bg = adjustcolor("blue",0.25))

作者

Martin Maechler did the present class implementation; Rousseeuw et al did the underlying original code.

参考

Pison, G., Struyf, A. and Rousseeuw, P.J. (1999) Displaying a Clustering with CLUSPLOT, Computational Statistics and Data Analysis, 30, 381-392.

D.M. Titterington (1976) Algorithms for computing D-optimal design on finite design spaces. In Proc.\ of the 1976 Conf.\ on Information Science and Systems, 213-216; John Hopkins University.

也可以看看

predict.ellipsoid这也是predict方法用于ellipsoid对象。volume.ellipsoid以‘manual’为例ellipsoid对象构造;
更远ellipse从包装中ellipseellipsePoints从包装中sfsmisc.

chull 用于凸包,clusplot 利用了它; cov.mve

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Compute the Ellipsoid Hull or Spanning Ellipsoid of a Point Set。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。