Подбор кривой [1] [2] — это процесс построения кривой или математической функции , которая наилучшим образом соответствует ряду точек данных [3] , возможно, с учетом ограничений. [4] [5] Аппроксимация кривой может включать либо интерполяцию , [6] [7] , где требуется точное соответствие данным, либо сглаживание , [8] [9] , при котором строится «гладкая» функция, которая приблизительно соответствует данные. Связанной темой является регрессионный анализ [10] [11] , который больше фокусируется на вопросах статистического вывода , таких как степень неопределенности, присутствующая в кривой, которая соответствует данным, наблюдаемым со случайными ошибками. Подогнанные кривые могут использоваться в качестве вспомогательного средства для визуализации данных, [12] [13] для вывода значений функции при отсутствии данных [14] и для суммирования взаимосвязей между двумя или более переменными. [15] Экстраполяция подразумевает использование подобранной кривой за пределами диапазона наблюдаемых данных, [16] и подвержена определенной степени неопределенности [17] , поскольку она может отражать метод, использованный для построения кривой, в той же степени, в какой она отражает наблюдаемые данные.
Для линейно-алгебраического анализа данных «подгонка» обычно означает попытку найти кривую, которая минимизирует вертикальное ( ось Y ) смещение точки от кривой (например, обычный метод наименьших квадратов ). Однако для графических приложений и изображений геометрическая подгонка стремится обеспечить наилучшее визуальное соответствие; что обычно означает попытку минимизировать ортогональное расстояние до кривой (например, общее число наименьших квадратов ) или иным образом включить обе оси смещения точки от кривой. Геометрические подгонки не пользуются популярностью, поскольку обычно требуют нелинейных и/или итеративных расчетов, хотя их преимущество заключается в более эстетичном и геометрически точном результате. [18] [19] [20]
Чаще всего подходит функция вида y = f ( x ) .
Полиномиальное уравнение первой степени
представляет собой линию с наклоном a . Линия соединит любые две точки, поэтому полиномиальное уравнение первой степени точно соответствует любым двум точкам с различными координатами x.
Если порядок уравнения увеличить до полинома второй степени, получим следующие результаты:
Это точно соответствует простой кривой трем точкам.
Если повысить порядок уравнения до полинома третьей степени, получится следующее:
Это будет ровно соответствовать четырем точкам.
Более общим утверждением было бы сказать, что оно точно соответствует четырем ограничениям . Каждое ограничение может быть точкой, углом или кривизной (которая является обратной величиной радиуса соприкасающейся окружности ). Ограничения угла и кривизны чаще всего добавляются к концам кривой и в таких случаях называются конечными условиями . Идентичные конечные условия часто используются для обеспечения плавного перехода между полиномиальными кривыми, содержащимися в одном сплайне . Также можно добавить ограничения более высокого порядка, такие как «изменение скорости кривизны». Это, например, было бы полезно при проектировании клеверного листа на шоссе , чтобы понять скорость изменения сил, приложенных к автомобилю (см. « Рывок »), когда он следует за клеверным листом, и соответственно установить разумные ограничения скорости.
Полиномиальное уравнение первой степени также может точно соответствовать одной точке и углу, в то время как полиномиальное уравнение третьей степени также может точно соответствовать двум точкам, ограничению угла и ограничению кривизны. Для этих и полиномиальных уравнений более высокого порядка возможны многие другие комбинации ограничений.
Если существует более n + 1 ограничений ( n — степень полинома), полиномиальную кривую все равно можно пройти через эти ограничения. Точное соответствие всем ограничениям не является гарантированным (но может произойти, например, в случае, когда полином первой степени точно соответствует трем коллинеарным точкам ). Однако в целом для оценки каждого приближения необходим какой-то метод. Метод наименьших квадратов — один из способов сравнения отклонений.
Есть несколько причин получить приблизительное соответствие, когда можно просто увеличить степень полиномиального уравнения и получить точное совпадение:
Степень полиномиальной кривой выше, чем необходимо для точного подбора, нежелательна по всем причинам, перечисленным ранее для полиномов высокого порядка, но также приводит к случаю, когда существует бесконечное число решений. Например, полином первой степени (линия), ограниченный только одной точкой вместо обычных двух, даст бесконечное количество решений. Возникает проблема сравнения и выбора только одного решения, что может быть проблемой как для программного обеспечения, так и для людей. По этой причине обычно лучше выбирать как можно более низкую степень для точного соответствия всем ограничениям и, возможно, даже более низкую степень, если приближенное соответствие приемлемо.
В некоторых случаях также могут использоваться другие типы кривых, такие как тригонометрические функции (например, синус и косинус).
В спектроскопии данные могут быть аппроксимированы гауссовскими , лоренцианскими , фойгтовскими и соответствующими функциями.
В биологии, экологии, демографии, эпидемиологии и многих других дисциплинах рост численности населения , распространение инфекционных заболеваний и т. д. можно подогнать с помощью логистической функции .
В сельском хозяйстве обратная логистическая сигмовидная функция (S-кривая) используется для описания связи между урожайностью сельскохозяйственных культур и факторами роста. Синий рисунок получен с помощью сигмовидной регрессии данных, измеренных на сельскохозяйственных землях. Видно, что первоначально, т. е. при малом засолении почвы, урожайность сельскохозяйственных культур при увеличении засоления почвы снижается медленно, а в дальнейшем снижение происходит быстрее.
Если функцию формы невозможно постулировать, все равно можно попытаться подогнать плоскую кривую .
В некоторых случаях также могут использоваться другие типы кривых, такие как конические сечения (круговые, эллиптические, параболические и гиперболические дуги) или тригонометрические функции (такие как синус и косинус). Например, траектории объектов под действием силы тяжести следуют параболической траектории, если не учитывать сопротивление воздуха. Следовательно, сопоставление точек данных траектории с параболической кривой имело бы смысл. Приливы следуют синусоидальной форме, поэтому точки данных о приливах следует сопоставлять с синусоидальной волной или суммой двух синусоидальных волн разных периодов, если учитывать влияние Луны и Солнца.
Для параметрической кривой эффективно подогнать каждую из ее координат как отдельную функцию длины дуги ; предполагая, что точки данных можно упорядочить, можно использовать расстояние по хорде . [22]
Куп [23] подходит к проблеме поиска наилучшего визуального соответствия круга набору 2D-точек данных. Этот метод элегантно преобразует обычную нелинейную задачу в линейную задачу, которую можно решить без использования итерационных численных методов, и, следовательно, он работает намного быстрее, чем предыдущие методы.
Вышеописанный метод распространяется на общие эллипсы [24] путем добавления нелинейного шага, в результате чего получается быстрый метод, но при этом находит визуально приятные эллипсы произвольной ориентации и смещения.
Обратите внимание: хотя это обсуждение велось с точки зрения 2D-кривых, большая часть этой логики также распространяется на 3D-поверхности, каждый участок которых определяется сетью кривых в двух параметрических направлениях, обычно называемых u и v . Поверхность может состоять из одного или нескольких участков поверхности в каждом направлении.
Многие статистические пакеты, такие как R и числовое программное обеспечение , такое как gnuplot , GNU Scientific Library , MLAB , Maple , MATLAB , TK Solver 6.0, Scilab , Mathematica , GNU Octave и SciPy , включают команды для аппроксимации кривой в различных сценариях. Существуют также программы, специально написанные для подгонки кривой; их можно найти в списках программ статистического и численного анализа, а также в категории: Программное обеспечение для регрессии и подбора кривых .