【问题标题】:Simulation of random points on a multivariate convex hull with scipy用 scipy 模拟多元凸包上的随机点
【发布时间】:2021-04-09 12:03:23
【问题描述】:

我有一个包含 10 000 行和 10 列的数据。我研究的第一个目标是根据这些数据计算“凸包”。包“scipy”可以很容易地做到这一点,我可以得到顶点,不同超平面的参数,例如:b0 + b1.x1 + b2.x2 + .... + b10.x10 = 0 其中:(b0, b1,...,b10) 是凸包一个面的参数(我可以知道上面的顶点)。

from scipy.spatial import ConvexHull, convex_hull_plot_2d
import numpy as np
fit_hull = ConvexHull(data)
V = fit_hull.vertices
parameters = fit_hull.equations

我的问题是:我怎样才能统一模拟:凸包上的随机点,知道所有这些?

这很困难,因为在超平面上模拟随机点非常简单,但在这里,它是一个以 facet 的顶点为界的超平面(例如,有 3 个变量:要创建一个 facet,我需要三个点,所以它会是一个三角形)。

非常感谢

祝你有美好的一天(来自法国)

【问题讨论】:

    标签: python scipy simulation convex-hull scipy-spatial


    【解决方案1】:
    • 对凸包进行 Delaunay 细分。在 2D 中这些是三角形,在 3D 中这些是四面体,您可以得到它们的面积/体积。

    • 随机选择一个三角形/四面体,概率由归一化的面积/体积给出。

    • 在这个三角形/四面体中均匀地选取一个点。

    【讨论】:

      猜你喜欢
      • 2017-07-04
      • 2013-01-21
      • 2015-10-12
      • 2021-02-13
      • 2011-10-09
      • 2020-02-16
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      相关资源
      最近更新 更多