Нелинейная регрессия с ошибками в переменных в JavaScript - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужен надежный алгоритм подбора кривой, который бы работал в браузере. А именно, мне нужно, чтобы он мог соответствовать полиномиальным и тригонометрическим (и в идеале всем пользовательским) функциям, а также должен учитывать ошибки в обеих переменных.

Я хотел бы использовать существующую библиотеку или переписать реализацию, написанную на другом, но понятном языке (псевдокод, Python, C #, C без особой магии памяти и т. Д.) . В качестве альтернативы я мог бы использовать трансплайтер для JavaScript, если бы это было возможно. Однако я искал несколько часов и не нашел ни подходящей библиотеки JavaScript, ни простой реализации, которую я мог бы написать.

Я обнаружил две программы, которые могут делать то, что я хочу.

  • Первым из них является Gnuplot, утилита, написанная на C. Она с открытым исходным кодом, но я обнаружил, что код несколько запутан, а часть подбора кривой довольно сильно зависит от других частей программы, поэтому я не стал не удается перенести его на JavaScript.
  • Второй - SciPy, математическая библиотека для Python. Это было бы легкой победой, если бы соответствующая часть была написана на Python. К сожалению, это не тот случай, так как вместо этого он изменил часть старого кода на Фортране, чтобы он мог взаимодействовать с Python. Код был слишком сложным и архаичным для меня, и трансплайтеры с Фортрана в Javascript не работали из-за специфических для Python вещей в коде.

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

1 Ответ

0 голосов
/ 04 сентября 2018

gnuplot может быть перекодирован через Emscripten для запуска в браузере как javascript. Смотрите демонстрационный сайт gnuplot + emscripten . Получившийся вариант javascript в настоящее время не поддерживается проектом gnuplot, но демонстрация доказательства принципа впечатляет.

...