Я пытаюсь подогнать сплайн к своим данным, имеющим 5700 выборок данных (с повторяющимися значениями x, т.е. x: горизонтальная ось), используя функцию «interp1d» из пакета «scipy» в python. Я пробовал использовать сплайн более низкого порядка (k=1) и квадратичный сплайн (k=2), кубический сплайн (k=3). И я потрясен, увидев странную реакцию «сплайна» на мои данные. Хотя сплайн при «k = 1» имел некоторый смысл, но до смешного переоснащает его (квадратичные и кубические сплайны работают слишком плохо). В моем первом испытании я использовал Полиномиальная аппроксимация данных и результатов была обнадеживающей. Я ожидал, что подбор сплайнов даст лучшие результаты, чем полиномиальный подбор.Это результат с сплайны. Подскажите пожалуйста, где я не прав?
Подгонка сплайна к данным с дубликатом x с использованием scipy (Python)
Ответы (1)
Если в наборе данных есть отдельные точки с уникальными значениями для каждого значения X, эффективный вес каждой точки данных равен 1,0. Однако, если одна точка данных в этом наборе данных дублируется или копируется, как только эта единственная точка данных будет иметь эффективный вес 2,0.
Если все точки данных в наборе данных копируются один раз, каждая точка будет иметь одинаковый эффективный вес 2,0, то есть все точки данных будут иметь одинаковый вес.
Если некоторые точки данных в этом наборе данных имеют уникальные значения X, а некоторые появляются более одного раза, один из подходов состоит в том, чтобы усреднить значения Y для «повторяющихся» точек данных, чтобы каждая точка снова имела эффективный вес 1,0. Иногда это может работать в конкретном случае, который я описываю.