Подогнать 3d эллипсоид к распределению 3d точек? - PullRequest
0 голосов
/ 24 марта 2020

У меня есть несколько точек в трехмерном пространстве (декартово x, y, z), и я хотел бы подогнать к этому эллипсоид, чтобы определить ось крысы ios. Проблема здесь в том, что у меня есть распределение точек (не точек на поверхности), и решения этой проблемы в основном учитывают точки на поверхности. Также будет ли это совпадение итеративным (например, метод оптимизации или тип mcm c), я работаю в Python.

Код, который я использую, был дан в этом ответе: Python: подогнать трехмерный эллипсоид (сплюснуть / вытянуть) к трехмерным точкам

Но это не работает для меня (я думаю, это было предназначено для точек на поверхности эллипсоида). Но у меня больше плотность распределения точек, чем точек поверхности.

1 Ответ

0 голосов
/ 24 марта 2020

Я полагаю, что вы находитесь не за самым жестким ограничивающим эллипсоидом или каким-либо наиболее подходящим эллипсоидом, основанным на «внешних» точках (например, за эллипсоидом на выпуклой оболочке).

Я понимаю, что вы после распределение, то есть положительная функция с единичной суммой координат, которую вы хотите иметь «эллипсоидальной» симметрией, чтобы локусы равновероятных точек были эллипсоидами.

Если вы предполагаете, что ваше распределение многомерно нормальное,

P(p) = c.exp(-(p-µ)^T M (p-µ)/2) 

, тогда M является обратной к ковариационной матрице и µ средний вектор.

...