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.Параметры: -
x : array_like, shape (M,) -
Координаты x M точек выборки
(x[i], y[i]). -
y : array_like, shape (M,) or (M, K) -
Координаты y точек выборки. Несколько наборов данных точек выборки, имеющих одинаковые координаты x, могут быть подогнаны одновременно путем передачи двумерного массива, содержащего один набор данных на столбец.
-
deg : int or 1-D array_like -
Степень(и) подгоняемых многочленов. Если
degявляется целым числом, то в подгонку включаются все члены до и включаяdeg-й член. Для версий NumPy >= 1.11.0 вместо этого можно использовать список целых чисел, указывающих степени членов, которые нужно включить. -
rcond : float, optional -
Относительное число обусловленности подгонки. Сингулярные значения, меньшие этого значения относительно наибольшего сингулярного значения, будут игнорироваться. Значение по умолчанию равно len(x)*eps, где eps — относительная точность типа float, примерно 2e-16 в большинстве случаев.
-
full : bool, optional -
Переключатель, определяющий характер возвращаемого значения. Когда он равен False (значение по умолчанию), возвращаются только коэффициенты; когда True, возвращается также диагностическая информация из разложения по сингулярным значениям.
-
w : array_like, shape (M,), optional -
Веса. Если не равно None, вклад каждой точки
(x[i],y[i])в подгонку взвешивается с помощьюw[i]. В идеале веса выбираются таким образом, чтобы ошибки произведенийw[i]*y[i]имели одинаковую дисперсию. Значение по умолчанию — None.Введено в версии 1.5.0.
Возвращает: -
coef : ndarray, shape (M,) or (M, K) -
Коэффициенты ряда Чебышева, упорядоченные от низшего к высшему. Если
yбыл двумерным, коэффициенты данных в столбце k изyнаходятся в столбцеk. -
[residuals, rank, singular_values, rcond] : list -
Эти значения возвращаются только если
full= Trueresid – сумма квадратов остатков наименьших квадратов подгонки rank – числовой ранг масштабированной матрицы Вандермонда sv – сингулярные значения масштабированной матрицы Вандермонда rcond – значение
rcond.Для получения дополнительной информации см.
linalg.lstsq.
Предупреждения: - RankWarning
-
Ранг матрицы коэффициентов в наименьших квадратах подгонки недостаточный. Предупреждение выдается только если
full= False. Предупреждения можно отключить, используя>>> import warnings >>> warnings.simplefilter('ignore', 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] Wikipedia, “Curve fitting”, http://en.wikipedia.org/wiki/Curve_fitting -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.polynomial.chebyshev.chebfit.html