Многомерная полиномиальная регрессия (предпочтительно C / C ++, Java или Scala) - PullRequest
6 голосов
/ 04 июля 2011

Учитывая набор (N + 1) -мерных вещественных векторов с N независимыми и 1 зависимыми значениями, я хотел бы вычислить полином степени 1 (линейный), 2 (квадратичный) или выше, который обеспечивает достаточно хорошееподгонка (например, как определено ошибкой наименьших квадратов).Другими словами, при применении к элементам коллекции полином должен сопоставлять независимые значения каждого из них с соответствующим зависимым значением (с некоторой разумной погрешностью).

Я ожидаю размерность независимогопеременные должны находиться в диапазоне 2..8, и работать с коллекциями из 20..200 элементов.Я надеюсь вписать полином в миллисекунды, а не секунды.: -)

Я быстро нашел алгоритмы полиномиальной регрессии для одномерных данных, но я не смог придумать ничего практичного для многомерных данных.Меня интересуют в основном описания алгоритмов или исходный код.Есть указатели?

Ответы [ 2 ]

3 голосов
/ 04 июля 2011

Возможно, вы захотите исследовать платформу Weka для интеллектуального анализа данных и машинного обучения - она ​​чрезвычайно обширна и включает в себя все виды различных регрессионных алгоритмов.

Большим бонусом является то, что все это с открытым исходным кодом, так что вы также можете изучить код, если хотите.

0 голосов
/ 10 сентября 2011

Я искал тот же код и нашел два хороших примера этого.

См. Net.sourceforge.openforecast

В частности, смотрите класс PolynomialRegressionModel в качестве отправной точки

и простая реализация для одного класса, предназначенная для гораздо больших наборов данных, чем вы упомянули

http://blog.locut.us/2009/11/14/polynomial-regression-on-a-large-dataset-in-java/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...