2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Подбор параметра функции со случайной величиной
Сообщение03.09.2013, 15:29 


17/10/08

1313
Пусть имеем наблюдения в виде пар $x_i,y_i$

Мы предполагаем, что наблюдения связаны функцией
$y=f(x,a,r)$
где $a$ - некоторый параметр, $r$ - случайная величина на интервале [0,1)

Какие есть теории/методы по подбору параметра $a$ ?

В моем понимании, задача может быть поставлена в следующем виде:
$\sum{(y_i-f(x_i,a,r_i))^2}+N(r)$

где $r_i$ - конкретное значение случайной величины для наблюдения i;
$N(r)$ - критерий равномерности.

Чтобы данная постановка могла быть внедрена «в жизнь», требуется технологичная формулировка $N(r)$. Например, в виде системы ограничений и/или критерия. Тогда получится понятная задача оптимизации с подбираемыми переменными $a$ и $r_i$, которую как-то можно решать.

Первое что приходит в голову, это сделать некоторое количество случайных выборок, для каждой из которых сформулировать критерий близости среднего $r_i$ к 0.5. Сумма по всем выборкам с некоторыми весами и даст $N(r)$

Что есть хорошего на этот счет?

 Профиль  
                  
 
 Re: Подбор параметра функции со случайной величиной
Сообщение04.09.2013, 09:18 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
Нам сначала нужно выделить чистую случайную величину (с известными параметрами распределения). В простейшем случае $f(x, a, r) = F(x,a) + r$, где $r$ — случайная величина, распределённая по заранее известному (включая параметры) закону (например, равномерному на $[0,1)$). Тогда, как Вы и написали, разница $r_i=y_i-F(x_i,a)$ должна быть случайной величиной, распределённой по этому закону. Более сложный пример: распределение $r$ по-прежнему известно, но $f$ не аддитивно зависит от $r$. К примеру, $f(x, a, r) = F(x,a) \cdot r$. Общим тут будет метод решения уравнения относительно $r$ (в последнем примере: $r_i=y_i/F(x_i,a)$). Ещё более сложный вариант, когда класс распределения $r$ известен, но неизвестны параметры (хотя Вы пишете, что $r$ живёт на $[0,1)$). Но в любом случае $r$ нужно сначала выделить.

Затем получается классическая задача на соответствие выборки известному распределению (например, критерий Колмогорова-Смирнова) или известному классу распределений (Лиллиефорса).
А потом поверх этого критерия уже можно подбирать $a$. Или можно сделать быстрее: сразу МНК и потом один раз проверить получившееся $a$ по критерию согласия. Но что делать, если критерий отвергнет гипотезу? Пытать счастья с другим $a$? Или другое распределение/класс распределений $r$? Или вообще отвергнуть $f$ и искать другую функцию? Тут я не знаю.

 Профиль  
                  
 
 Re: Подбор параметра функции со случайной величиной
Сообщение04.09.2013, 15:25 


17/10/08

1313
Исходная задача – это создание инструмента для описания «наблюдений». Оно же «подбор модели по экспериментальным данным».

Пользователь должен указать следующее:
1. описание данных (для нашего случая это набор пар $x_i,y_i$),
2. набор допустимых элементарных функций (например {+,-,*,/,exp.ln }), допустимых типов констант (вещественные, целые), из которых допустимо создавать искомую функцию $f$
3. набор ограничений (обычно это алгебраические ограничения в виде равенств или неравенств).
4. критерий качества описания данных искомой функцией $f$ (обычно это суммарная квадратичная ошибка, но могут быть и исключения; например, в задаче распознавания критерий формулируется с использованием логистической функции без квадратов)
5. общий критерий (обычно это функция от ошибки (из предыдущего пункта), «сложности» и «ресурсоемкости» подбираемой от «функции»; либо значение ошибки на проверочных данных (так называемый crosschecking))

Система работает следующим образом
* Делает интеллектуальный перебор функций $f$ на основе разрешенных элементарных функций констант
* Если функция содержит в себе константы, то они подбираются системой глобальной оптимизации (ограничения и критерий см. в п 3,4)
* Далее делается вычисление качества функции (п.5) – пользователю выдаются наилучшая. Точнее, несколько наилучших функций в порядке убывания сложности (обычно, не более 10).

На данный момент система по сложности – порядка 0.5..1.0 млн. строк исходного кода. «Что-то» в ней сейчас можно получить, в том числе можно подбирать разностные/дифференциальные уравнения.

В этом контексте возникла задача со случайными величинами. Т.к. «любая» функция распределения может быть получена из равномерной [0,1), то роль «элементарной функции» выбрано именно это распределение.

Хотелось бы, чтобы пользователь мог сам сопрячь
* Точность соответствия исходным данным
* Соответствие распределения случайной величины равномерному [0,1)

Но вернемся к примеру первого сообщения. Вот такая постановка.
Минимизировать
$L=\sum{(f(x_i,a,r_i)-y_i)^2}$
где $r_i$ - переменные в диапазоне [0,1) (ну, в реальности [0,1])
$\sum{r_i}=0.5n$ ($n$ - число наблюдений)
Решив эту задачу, найдем $a$ и $r_i$.
Затем можно вычислить критерий согласия $K$ и подружить его с $L$ как хотел пользователь.
Есть тут какая-нибудь засада, и если есть, как уменьшить шансы попадания в нею?

Есть запасной вариант, но он нетехнологичен. В принципе, задачу можно решать генетическим алгоритмом или каким-либо еще методом глобальной оптимизации. Например, шаг генетического алгоритма будет выглядеть так:
* В соответствии со стратегией алгоритма «выбрасывать» значение $a$
* Потом найти значения $r_i$, минимизирующие ошибку (один из вариантов – через обратную функцию к $f$, если это возможно)
* Оценить соответствие равномерному распределению [0,1)
* Получить значение, скрестив суммарную квадратичную ошибку с $K$

P. S. Чисто из любопытства, известна ли такая штука. Требуется составить такую симметричную задачу оптимизации из $n$ переменных $z_k$, чтобы оптимум достигался в точках равномерной сетки. Например, если $n=10$, то оптимум должен достигаться в точках [0.05, 0.15,…,0.95]. Если удастся сделать «хорошую» постановку такой задачи, то ее можно прямо прицепить к задаче подбора параметра (целиком, или на системе выборок, скажем, по 10 точек). Но, видимо, это уже совсем экзотика.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group