當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。