Проблема подгонки кривой для двумерных данных хорошо известна (НИЗКАЯ и т. Д.), Но, учитывая набор точек трехмерных данных, как мне подогнать трехмерную кривую (например, сплайн сглаживания / регрессии) к этим данным?
БОЛЬШЕ: Я пытаюсь найти кривую, соответствующую данным, представленным векторами X, Y, Z, которые не имеют никакого отношения. По сути, у меня есть 3D-облако точек, и мне нужно найти 3D-линию тренда.
Еще: Я прошу прощения за двусмысленность. Я попробовал несколько подходов (я все еще не пытался изменить линейное соответствие), и случайный NN, кажется, работает лучше всего. Т.е. я случайно выбираю точку из облака точек, нахожу центроид ее соседей (в произвольной сфере), выполняю итерацию. Соединение центроидов для формирования плавного сплайна оказывается трудным, но полученные центроиды можно преодолеть.
Чтобы прояснить проблему, данные не являются временными рядами, и я ищу плавный сплайн, который лучше всего описывает облако точек, т.е. если бы я спроецировал этот трехмерный сплайн на плоскость, образованную любыми двумя переменными, спроецированный сплайн (на 2D) будет плавно соответствовать облаку проецируемых точек (на 2D).
IMG: я включил изображение. Красные точки представляют центроид, полученный вышеупомянутым методом.
3D облако точек и локальные центроиды http://img510.imageshack.us/img510/2495/40670529.jpg