This function is for producing designs by minimizing the clustering error.
clustering.design(
n,
p,
X = NULL,
D.ini = NULL,
multi.start = 1,
alpha = 1,
Lloyd.iter.max = 100,
cen.iter.max = 10,
Lloyd.tol = 1e-04,
cen.tol = 1e-04
)final design points.
cluster assignment for each cluster points.
final cluster error.
design size.
design dimension.
candidate points in \([0,1]^p\). If X is not provided, Sobol points is generated as cluster points.
initial design points. If D.ini is not provided, Sobol points are generated as initial design.
number of starting designs (cluster centers).
power of the Euclidean distance.
maximum number of iterations for the Lloyd algorithm.
maximum number of iterations for the center calculation for each cluster.
minimum relative change for the Lloyd algorithm to continue.
minimum relative change for the center calculation algorithm to continue.
clustering.design produces a design by clustering algorithms. It minimize the clustering error (see cluster.error) by Lloyd's algorithm. When \(\alpha > 2\), accelerated gradient descent is used to find the center for each cluster (Mak, S. and Joseph, V. R. 2018). When \(\alpha \leq 2\): Weizfeld algorithm is used to find the center for each cluster. Let \(\bm{x}^{(0)}_i=\bm{x}_i\) denote the initial position of the \(i\)th center and and let \(\bm{S}_i\) represent the points within its Voronoi cell. The center is then updated as: \(\bm{x}^{(k+1)}_i = \left.\left(\sum_{\bm{s}\in\bm{S}_i}\frac{\bm{s}}{\|\bm{s}-\bm{x}^{(k)}_i\|_2^{2-\alpha}}\right)\middle/ \left(\sum_{\bm{s}\in\bm{S}_i}\frac{1}{\|\bm{s}-\bm{x}^{(k)}_i\|_2^{2-\alpha}}\right)\right. \quad \text{for } k=0, 1, \dots.\)
Mak, S. and Joseph, V. R. (2018), “Minimax and minimax projection designs using clustering,” Journal of Computational and Graphical Statistics, 27, 166–178.
n = 20
p = 3
X = spacefillr::generate_sobol_set(1e5*p, p)
D = clustering.design(n, p, X)
Run the code above in your browser using DataLab