numpy.polynomial.chebyshev.chebfit
-
numpy.polynomial.chebyshev.chebfit(x, y, deg, rcond=None, full=False, w=None)[source] -
Наименьшие квадраты аппроксимации Чебышева для данных.
Возвращает коэффициенты ряда Чебышева степени
deg, являющегося наилучшей аппроксимацией методом наименьших квадратов для значений данныхy, заданных в точкахx. Еслиyодномерно, возвращаемые коэффициенты также будут одномерными. Еслиyдвумерно, выполняются несколько аппроксимаций, по одной для каждого столбцаy, и полученные коэффициенты хранятся в соответствующих столбцах двумерного результата. Аппроксимируемый многочлен (многочлены) имеет видгде
nравноdeg.- Parameters
-
-
xarray_like, shape (M,) -
Координаты x M точек выборки
(x[i], y[i]). -
yarray_like, shape (M,) or (M, K) -
Координаты y точек выборки. Несколько наборов точек выборки, имеющих одинаковые координаты x, могут быть аппроксимированы одновременно путем передачи двумерного массива, содержащего один набор данных в каждом столбце.
-
degint or 1-D array_like -
Степень (степени) аппроксимирующих многочленов. Если
deg— целое число, в аппроксимацию включаются все члены вплоть доdegвключительно. Для версий NumPy ≥ 1.11.0 можно использовать список целых чисел, определяющих степени включаемых членов. -
rcondfloat, optional -
Относительное число обусловленности аппроксимации. Сингулярные значения, меньшие этого значения по отношению к наибольшему сингулярному значению, будут проигнорированы. Значение по умолчанию равно len(x)*eps, где eps — относительная точность типа float, примерно 2e-16 в большинстве случаев.
-
fullbool, optional -
Переключатель, определяющий характер возвращаемого значения. Если значение False (значение по умолчанию), возвращаются только коэффициенты; если True, возвращается также диагностическая информация из разложения по сингулярным значениям.
-
warray_like, shape (M,), optional -
Веса. Если не None, вклад каждой точки
(x[i],y[i])в аппроксимацию взвешивается наw[i]. В идеале веса выбираются таким образом, чтобы ошибки произведенийw[i]*y[i]все имели одинаковую дисперсию. Значение по умолчанию — None.Добавлен в версии 1.5.0.
-
- Returns
-
-
coefndarray, shape (M,) or (M, K) -
Коэффициенты Чебышева, упорядоченные по возрастанию степени. Если
yбыла двумерной, коэффициенты для данных в столбце kyнаходятся в столбцеk. -
[residuals, rank, singular_values, rcond]list -
Эти значения возвращаются только если
full= Trueresid – сумма квадратов остатков наименьших квадратов; rank – числовой ранг масштабированной матрицы Вандермонда; sv – сингулярные значения масштабированной матрицы Вандермонда; rcond – значение
rcond.Для более подробной информации см.
linalg.lstsq.
-
- Warns
-
- RankWarning
-
Ранг матрицы коэффициентов в аппроксимации методом наименьших квадратов недостаточен. Предупреждение выдается только если
full= False. Предупреждения можно отключить, используя>>> import warnings >>> warnings.simplefilter('ignore', np.RankWarning)
См. также
polyfit,legfit,lagfit,hermfit,hermefit-
chebval -
Вычисляет значения полинома Чебышева.
-
chebvander -
Матрица Вандермонда ряда Чебышева.
-
chebweight -
Функция весов Чебышева.
-
linalg.lstsq -
Вычисляет аппроксимацию методом наименьших квадратов из матрицы.
-
scipy.interpolate.UnivariateSpline -
Вычисляет сплайн-аппроксимации.
Примечания
Решение — это коэффициенты ряда Чебышева
p, минимизирующие сумму взвешенных квадратов ошибокгде
— веса. Эта задача решается путем построения (как правило, переопределенного) матричного уравнения
где
V— взвешенная матрица Вандермондаx,c— искомые коэффициенты,w— веса, аy— наблюдаемые значения. Это уравнение затем решается с помощью разложения по сингулярным значениямV.Если некоторые сингулярные значения
Vнастолько малы, что ими можно пренебречь, то будет выдано предупреждениеRankWarning. Это означает, что значения коэффициентов могут быть определены неточно. Обычно предупреждение исчезает при использовании аппроксимации меньшей степени. Параметрrcondтакже может быть установлен на значение, меньшее значения по умолчанию, но полученная аппроксимация может быть ложной и иметь большие вклады от ошибки округления.Аппроксимации с использованием рядов Чебышева обычно лучше обусловлены, чем аппроксимации с использованием степенных рядов, но многое может зависеть от распределения точек выборки и гладкости данных. Если качество аппроксимации недостаточно, сплайны могут быть хорошей альтернативой.
Ссылки
-
1 -
Википедия, «Аппроксимация кривых», https://en.wikipedia.org/wiki/Curve_fitting
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.polynomial.chebyshev.chebfit.html