Математический анализ. Как найти уравнение из ряда чисел?

StackOverflow https://stackoverflow.com/questions/2052057

  •  20-09-2019
  •  | 
  •  

Вопрос

Я анализирую финансовые данные и хотел бы найти точки перегиба линии.Я знаю, что могу сделать это, используя производные, но сначала мне нужно уравнение.Есть ли способ составить уравнение на основе ряда чисел.Мне нужно было бы сделать это программно.

Это было полезно?

Решение

Сплайн-интерполяция, вероятно, будет для вас более полезна, чем полиномиальная интерполяция:если вы подбираете полином, он неизбежно должен стремиться к +/- бесконечности за пределами вашего диапазона данных.

Вам также понадобится метод, позволяющий слегка свободно прилегать:Финансовые данные часто бывают немного зашумлены, что может привести к появлению очень странных кривых, если вы попытаетесь точно их подогнать.

Другие советы

Существуют установленные процедуры преобразования набора существующих точек данных в полином;это называется Полиномиальная интерполяция.Эта статья в Википедии: http://en.wikipedia.org/wiki/Polynomial_interpolationобъясняет это математически.Вероятно, вы можете достаточно легко найти алгоритмы в Google.

При достаточном количестве точек ваш полином достаточно хорошо отслеживает исходную неизвестную функцию, поэтому точки перегиба полинома должны примерно совпадать с пиками и впадинами ваших данных.

С другой стороны, мы все знаем, что финансовые данные на самом деле не имеют какой-либо функции.Итак, на вашем месте я бы просканировал эти точки и нашел каждую точку, которая имеет меньшее значение по обе стороны от нее, и объявил бы ее высокой;и наоборот для минимумов. Принудительное встраивание этих данных в фиктивную функцию не сделает их более полезными.

Обновлять: Том Смит советует, чтобы в таких случаях сплайн-интерполяция была предпочтительнее полиномиальной, и Википедия это подтверждает.Или, скорее, его ответ оптимистичен.

Вы думаете об аналитическом исчислении...при наличии дискретных данных (например.точек), вам придется сделать это численно.У линии обычно нет точек перегиба, поэтому я думаю, вы имеете в виду кривую.Вы можете либо интерполировать его через точки, а затем вычислить первую производную (также численно, но для большего количества точек), либо просто вычислить первое производное из имеющихся у вас точек (что будет лучше, зависит от сколько очков у вас на самом деле).

Но на самом деле это всего лишь теория, поскольку мы не знаем природу данных, язык или что-то еще.

Подробнее по теме поиска: численный анализ на вики и идите оттуда.

Я думаю, что подгонка кривой может помочь вам в этом случае.Вот обсуждение что может быть удобно.

ваше здоровье

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top