Сравнение двух 3D поверхностей |
Здравствуйте, гость ( Вход | Регистрация )
Сравнение двух 3D поверхностей |
21.05.2017 - 22:58
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 1202 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
Такая проблема. В ячейках регулярной сетки XY 30 х 30 находятся наблюдения с разными значениями Z. Т.о. имеем трёхмерную (3D) поверхность, которую для визуализации можно сгладить сплайнами. В других условиях значения Z изменяются и поверхность меняет форму. Необходимо сравнить изменения не только визуально, но и статистически. Понятно, что категориями средних значений проблему не решить, т.к. средние могут и не измениться, а вот рисунок на поверхности - изменится: зоны локальных максимумов и минимумов сместятся.
Пока придумал приспособить подход, идею (но не реализацию) которого подсмотрел у геостатистиков: нарезать куб (XYZ) на ячейки и подсчитать количество наблюдений в них. Например, X и Y разделить на 6 ячеек по 5 точек сетки. Получим поле из 6 х 6 = 36 ячеек. Теперь ось Z нарезаем на несколько слоёв от Zmin до Zmax для объединённых наборов данных, пусть на 3 слоя: мало, средне, много. Подсчитываем количество наблюдений в кадой ячейке каждого слоя для 1-ой поверхности и для 2-ой. Получаем 2 трёхмерных таблицы сопряжённости. Насколько я понимаю, хи-квадрат здесь не подойдёт, т.к. все три входа фиксированы. Т.е. имеем не биномиальное, а гипергеометрическое распределение, и сравнивать такие таблицы нужно каким-то многомерным аналогом точного метода Фишера или рандомизационным тестом. Сделать это, наверное, смогу, но есть сомнения. Во-первых, непонятно на сколько кубиков лучше резать большой куб: дедовские рекомендации про 5 значений на ячейку для Монте-Карло не имеют смысла. Во-вторых, описанный подход сгодится и для нерегулярной сетки, т.е. возможно для регулярной он слишком груб и я просто не знаю каких-то уже существующих более точных способов, ведь с 3D-моделями работают достаточно плотно, должна быть и статистика под это. Раз мы можем построить доверительные интервалы для 2D сплайна и сравнить их для двух наборов, возможно что-то подобное можно сделать и для 3D. Буду признателен за критику, идеи, ссылки! Сообщение отредактировал nokh - 21.05.2017 - 23:22 |
|
6.06.2017 - 00:25
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 1202 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
...Раз мы можем построить доверительные интервалы для 2D сплайна и сравнить их для двух наборов, возможно что-то подобное можно сделать и для 3D. Нашёл, простой способ получить приблизительный 95% ДИ для сглаженной поверхности. Пакет mgcv по умолчанию подгоняет 2d данные обобщённой аддитивной моделью (GAM) с приблизительными 95% ДИ, вычисленными как предсказанное значение +/- 2se, а 3d-поверхности как предсказанное значение +/- 1se. Если в качестве se указать 2, то получится 3 поверхности: предсказанная поверхность и +/- 2se. vis.gam(model, se=2) Сообщение отредактировал nokh - 6.06.2017 - 00:29 |
|