Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=10720060&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 13:34:28 2016
Кодировка: Windows-1251
аппроксимация многомерной функции - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
General Discussion >> Study (Archive)

Страницы: 1
krech
enthusiast

Рег.: 02.09.2007
Сообщений: 288
Рейтинг: 1003
  аппроксимация многомерной функции
      27.01.2012 11:08
 

Есть 1000 точек в N-мерном пространстве и значения функции в этих точках. Нужно приблизить функцию по этим точкам (точнее, как-то разумно построить новую более-менее ориентируясь на заданные значения). Точное прохождение через точки не требуется. Какие знаете методы? Чем больше тем лучше.

FrauSoboleva
Don't Quixote

Рег.: 20.11.2004
Сообщений: 28501
Рейтинг: 9798
  Re: аппроксимация многомерной функции [re: krech]
      27.01.2012 11:40
2

Интерполяционный многочлен Лагранжа от N переменных :umnik:



How much wood would woodchuck chuck, if a woodchuck could chuck wood
FrauSoboleva
Don't Quixote

Рег.: 20.11.2004
Сообщений: 28501
Рейтинг: 9798
  Re: аппроксимация многомерной функции [re: krech]
      27.01.2012 11:47
2

Это я, как бы, намекаю, что класс функций хорошо бы задать



How much wood would woodchuck chuck, if a woodchuck could chuck wood
krech
enthusiast

Рег.: 02.09.2007
Сообщений: 288
Рейтинг: 1003
  Re: аппроксимация многомерной функции [re: FrauSoboleva]
      27.01.2012 12:41
-1

Меня интересует как можно больше методов, так что никак фантазию не ограничиваю.

Che

Рег.: 03.10.2003
Сообщений: 10373
Из: дома
Рейтинг: 5294
  Re: аппроксимация многомерной функции [re: krech]
      27.01.2012 13:01
 

ну вот такой тогда тебе очень гибкий класс аппроксимирующих функций:

[math]  $   f(\mathbf{x}) = \sum_{i=1}^{1000} y^{(i)} \mathbf{I}_{\mathbf{x} = \mathbf{x}^{(i)}} + g(\mathbf{x})  $  [/math]

где x^i, y^i - твоя выборка экспериментальных данных и I - индикаторная функция и g(x) - произвольная функция равная нулю в точках x^i.

Подойдет?



Редактировал Che (27.01.2012 13:08)
FrauSoboleva
Don't Quixote

Рег.: 20.11.2004
Сообщений: 28501
Рейтинг: 9798
  Re: аппроксимация многомерной функции [re: Che]
      27.01.2012 13:04
1

Забыл добавить произвольную функцию, равную нулю в x_i :)



How much wood would woodchuck chuck, if a woodchuck could chuck wood
bashtanov
спец по говядине

Рег.: 11.05.2007
Сообщений: 9569
Из: например
Рейтинг: 7070
  Re: аппроксимация многомерной функции [re: FrauSoboleva]
      27.01.2012 13:31
 

забыл также, что
В ответ на:

Точное прохождение через точки не требуется




DaGe

Рег.: 12.02.2004
Сообщений: 29419
Из: Месторождение видящих г
Рейтинг: 15496
  Re: аппроксимация многомерной функции [re: krech]
      27.01.2012 14:15
-2

Думаю, отлично подойдет сфера в N-мерном пространстве с радиусом, равным среднему расстоянию от нуля до всех точек.

krech
enthusiast

Рег.: 02.09.2007
Сообщений: 288
Рейтинг: 1003
  Re: аппроксимация многомерной функции [re: DaGe]
      27.01.2012 15:35
1

Нужно "разумно" приблизить точки. Буду использовать методы для прогнозов. Но меня не интересует математическая-эконометрическая точность, интересно попробовать побольше разных методов. Уверен, форумчане вспомнят много чего любопытного. Для тех кто считает термин "разумно" не термином - предлагайте гладкие аппроксимации. Правда, без требования прохождения функции через точки вам все равно будет тяжело =)

FrauSoboleva
Don't Quixote

Рег.: 20.11.2004
Сообщений: 28501
Рейтинг: 9798
  Re: аппроксимация многомерной функции [re: krech]
      27.01.2012 15:40
6

Да нет никаких методов для прогнозов общего вида функции, приближающей облако точек в пространстве.
Все зависит либо от конкретики данных, либо от физических соображений о данных. Без данных и без физических истоков данных эта задача "Мою сестру зовут Женя, а как зовут моего брата?"
 



How much wood would woodchuck chuck, if a woodchuck could chuck wood
Butuzov
veteran

Рег.: 20.11.2005
Сообщений: 1621
Рейтинг: 2961
  Re: аппроксимация многомерной функции [re: krech]
      27.01.2012 15:44
1

В ответ на:

Есть 1000 точек в N-мерном пространстве и значения функции в этих точках. Нужно приблизить функцию по этим точкам (точнее, как-то разумно построить новую более-менее ориентируясь на заданные значения). Точное прохождение через точки не требуется. Какие знаете методы? Чем больше тем лучше.



Я такую вещь делаю фитированием с помощью пакета mpfit в IDL(very similar to mathlab). Там реализован метод максимального правдопободия, он же метод минимума невязок.
На практике я ввожу вид искомой функции, известные значения точек (x, y, z, ...), а программа вычисляет неизвестные коэффициенты в искомой функции заданного вида и их ошибки.

Или ты даже примерного вида функции не знаешь, которой хочешь аппроксимировать? Тогда сложнее задача.

Spin
он самый

Рег.: 17.09.2003
Сообщений: 14521
Рейтинг: 4387
  Re: аппроксимация многомерной функции [re: Butuzov]
      27.01.2012 15:51
 

в общем, типичный machine learning, регрессионный анализ итд
в пакетах вроде R очень удобно все это делать



- а этот ваш С++ - он функциональный?
- еще какой функциональный!
FrauSoboleva
Don't Quixote

Рег.: 20.11.2004
Сообщений: 28501
Рейтинг: 9798
  Re: аппроксимация многомерной функции [re: Butuzov]
      27.01.2012 15:56
1

Ну вот ты тут сделал смелые предположения
а) Что ему пофиг на робастность
б) Что он знает как распределены отклонения от его поверхности.
в) Что он представляет вид своей поверхности
г) Что его интересует подгонка в общей массе, а не на периферии, допустим.
д) Что N это 3,4,5, но никак на 15-20-100.
е), ж), з), и).... я), a), b),... ,z), [math]$ \alpha),...,\omega) $[/math]



How much wood would woodchuck chuck, if a woodchuck could chuck wood
Butuzov
veteran

Рег.: 20.11.2005
Сообщений: 1621
Рейтинг: 2961
  Re: аппроксимация многомерной функции [re: FrauSoboleva]
      27.01.2012 16:25
1

Ну да, автор много чего не уточнил. Просто мне самому пара лет назад встретилась схожая задача:
В ответ на:

Есть 100 точек в N-мерном(N от 3 до 20, мне надо было проанализировать все модели) пространстве и значения функции в этих точках. Нужно приблизить функцию по этим точкам (точнее, как-то разумно построить новую более-менее ориентируясь на заданные значения, вид функции задавался теорией, зависел от N). Точное прохождение через точки не требуется.



И вот ее я уже решал.

FrauSoboleva
Don't Quixote

Рег.: 20.11.2004
Сообщений: 28501
Рейтинг: 9798
  Re: аппроксимация многомерной функции [re: Butuzov]
      27.01.2012 16:48
2

Если эта вся формулировка задачи, то ты тоже начал решать задачу, не разобравшись в чем она состоит.
Если модель допускает выбросы, ОМП методы будут плохо себя вести. ОМП без какой-то регулярности модели вообще довольно мерзкая штука. Это глобальный максимум, правдоподобие может максимизироваться на всплеске, а вокруг всплеска все плохо. Нужно либо исходить из более устойчивых методов, либо подбирать много поверхностей на поднаборах, а потом выбирать как бы "медиану"
Если про распределение разбросов нельзя принять гипотезы о, допустим, нормальности, то непонятно чье омп максимизируется и решение кривое.
Ну и плюс, как я уже говорил, неясно с чего из этой формулировки следует, что надо максимизировать в районе массы, а не заботиться, допустим, о хвостах.
Можно продолжать далее.
Мораль: не надо решать задачу, не поняв в чем она заключается. Не надо рассказывать человеку, как решать задачу, пока он не смог сообщить, в чем задача заключается. Если человек дал трактовку задачи, которую можно понять пятью тысячами способов и хочет, чтобы ему рассказали решения всех 5000 задач, то надо послать его уточнять задачу.






Редактировал FrauSoboleva (27.01.2012 17:00)
How much wood would woodchuck chuck, if a woodchuck could chuck wood
krech
enthusiast

Рег.: 02.09.2007
Сообщений: 288
Рейтинг: 1003
  Re: аппроксимация многомерной функции [re: Butuzov]
      27.01.2012 17:09
1

Моя цель - повысить эрудицию в этой области. Про прогноз говорил, чтоб задать какой-то критерий "разумности". Нет заданного вида функции, нет конкретных размерностей, 1000 - число с потолка, ничего робастно/несмещенно прогнозировать не нужно.
Например, кривые Безье строятся по опорным точкам, задающим "примерную" форму кривой. Интересно, как подобное можно делать с функциями.

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

Приведу пример аппроксимации:
F(x) = Sum_k ( w_k*F(x_k)) / Sum_k ( w_k )
  где w_k = ( 1/dist(x,x_k) )^p, p>0
k от 1 до 1000, F(x_k) - известные значения функции.

Фрау, если знаешь 5000 способов - напиши любые 3 интересных на твой взгляд, это будет отличным ответом.

FrauSoboleva
Don't Quixote

Рег.: 20.11.2004
Сообщений: 28501
Рейтинг: 9798
  Re: аппроксимация многомерной функции [re: krech]
      27.01.2012 17:49
4

Повышать эрудицию можно в какой-то конкретной области, а не вообще. Вот, скажем, захочешь ты эрудицию в математике поднять и попросишь привести теоремы, кто какие знает. Для повышения эрудиции. Глупо, правда?
Вот и тут также. Можно, например, почитать про регрессионный анализ, про кластерный анализ, про интерполяцию сплайнами или метод конечных элементов, etc, но вся проблема в таком представлении - это задача десяти разных дисциплин и в этой области нельзя так вот взять и повысить эрудицию.

Если хочешь три - держи
Минимизировать функционал [math]$f(x,y,\theta)=\sum\limits_{i=1}^{1000} g(y_i-f(x_i,\theta))$[/math], где [math]$\theta$[/math] - многомерный параметр, [math]$g(x)$[/math] - какая-нибудь функция из R, [math]$f(x,\theta)$[/math] - подозрительное на подходящесть семейство функций N-мерных функций. Если взять g=x^2, то будем МНК, если |x| - более устойчивый метод и т.п.

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

Разбить на участки и строить что-то типа многомерного сплайна с не очень большим числом элементов.



How much wood would woodchuck chuck, if a woodchuck could chuck wood
kbat

Рег.: 22.02.2004
Сообщений: 904
Из: север юга
Рейтинг: 205
  Re: аппроксимация многомерной функции [re: krech]
      28.01.2012 01:46
-1

Можно с помощью нейронный сетей аппроксимировать. Например, многослойным перцептроном с N входами (аргументы) и одним выходом (значение функции). На мой взгляд, один из самых простых способов, если неизвестен класс функций.

Страницы: 1

General Discussion >> Study (Archive)

Дополнительная информация
1 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  Basilio, The_Nameless_One 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в