2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 Подбор параметров модели
Сообщение06.01.2013, 18:36 


06/01/13
7
Здравствуйте.
Тема такая:
1. Проведён физический эксперимент.
2. Получены экспериментальные данные $\{t_i; y_i\}_n$\text{, где} t_i \text{-время, с}; y_i\in[0;1], n=500$$.
3. "Есть мнение", что эти данные обобщаются кривой: $$y=x_1^{x_2^{t}}-\left(x_1+\frac{t}{x_3}\right)\mathrm{e}^{-\frac {t}{x_4}\left(x_5-t\right)^2}$$
4. Требуется обеспечить максимальную адекватность модели путём подбора параметров: $x_1, x_2, x_3, x_4, x_5$
Традиционный МНК после приравнивания производных нулю даёт одно единственное уравнение: $$\sum\limits_{i=1}^n y_i - \sum\limits_{i=1}^n\left(x_1^{x_2^{t_i}}+\left(x_1+\frac{t_i}{x_3}\right)\mathrm{e}^{-\frac {t_i}{x_4}\left(x_5-t_i\right)^2\right)}=0,$$ которое пробовал решать градиентным методом, но безуспешно...
Подскажите метод, который поможет отыскать неизвестные параметры модели.
Спасибо.

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение06.01.2013, 20:53 


29/09/06
4552
deneb в сообщении #668003 писал(а):
Традиционный МНК после приравнивания производных нулю даёт одно единственное уравнение:
Традиционный МНК всегда давал столько уравнений, сколько у модели параметров. Их тут 5 штук.

Вы почём дифференцировали, когда производные к нулю приравнивали?
Не верю, что все пять производных дали одно и то же уравнение.
А самому подифференцировать --- страшновато как-то... Возраст не тот...

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 16:09 


06/01/13
7
Ищу минимум функционала:
$$S(x_1, x_2, x_3, x_4, x_5)=\frac12\sum\limits_{i=1}^n\left(y_i-x_1^{x_2^{t_i}}+\left(x_1+\frac{t_i}{x_3}\right)\mathrm{e}^{-\frac {t_i}{x_4}\left(x_5-t_i\right)^2\right)^2}\rightarrow \min$$
Необходимое условие минимума:
$$ \left\{
\begin{aligned}

$\frac {\partial S}{\partial x_1}$=
\sum\limits_{i=1}^n
\left[y_i-
x_1^{x_2^{t_i}}+
\left(x_1+\frac{t_i}{x_3}\right)
\mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}
\right]
x_1^{(x_2^{t_i} - 1)}x_2^{t_i}\mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}=0



$\frac {\partial S}{\partial x_2}$=
\sum\limits_{i=1}^n
\left[y_i-
x_1^{x_2^{t_i}}+
\left(x_1+\frac{t_i}{x_3}\right)
\mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}
\right]
x_1^{x_2^{t_i}}\ln(x_1)x_2^{(t_i - 1)} t_i=0



$\frac {\partial S}{\partial x_3}$=
\sum\limits_{i=1}^n
\left[y_i-
x_1^{x_2^{t_i}}+
\left(x_1+\frac{t_i}{x_3}\right)
\mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}
\right]
\left(-\frac {t_i}{x_3^2}\right) \mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}=0



$\frac {\partial S}{\partial x_4}$=
\sum\limits_{i=1}^n
\left[y_i-
x_1^{x_2^{t_i}}+
\left(x_1+\frac{t_i}{x_3}\right)
\mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}
\right]
\left(x_1+\frac {t_i}{x_3}\right)\frac {t_i(x_5-t_i)^2}{x_4^2}\mathrm{e}^{-\frac {t_i}{x_4}(x_5 - t_i)^2}=0



$\frac {\partial S}{\partial x_5}$=
\sum\limits_{i=1}^n
\left[y_i-
x_1^{x_2^{t_i}}+
\left(x_1+\frac{t_i}{x_3}\right)
\mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}
\right]
\left(x_1+\frac {t_i}{x_3}\right)\left(-\frac {t_i(2x_5-2t_i)}{x_4}\right)\mathrm{e}^{-\frac {t_i}{x_4}(x_5 - t_i)^2}=0

\end{aligned}
\right$$

Получаю уравнение:
$$
\sum\limits_{i=1}^n
\left[y_i-
x_1^{x_2^{t_i}}+
\left(x_1+\frac{t_i}{x_3}\right)
\mathrm{e}^{-\frac {t_i}{x_4}(x_5-t_i)^2}
\right]=0
$$
Теперь необходимо оценить параметры. Обращаюсь за помощью к вам...

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 16:45 


29/09/06
4552
deneb в сообщении #668446 писал(а):
Получаю уравнение:
Вывод совершенно неверный.
В каждом из пяти уравнений стоит сумма из 500 слагаемых. И Вы, похоже, увидели в них общий множитель, и "вынесли его за скобку". Но ведь это не общий множитель: каждое $\left[ y_i-F^{\strut}_{\strut}(t_i;x_1,\ldots,x_5)\right]$ содержит своё личное $y_i, t_i$, и общим множителем не является.

Вы совершите ту же ошибку в простейшей МНК-модели, $y(t)=at+b$ с двумя параметрами? Вы тоже получите одно уравнение?

Думаю, Вы бы меньше путались, если бы вместо индексированных иксов назвали 5 параметров, например, $a,b,c,\not{\!d},\not{\!e},f,g$, оставив индексирование для 500 измеренных величин $t_i,y_i$.

-- 07 янв 2013, 17:50:57 --

Страшно подумать, сколько времени Вы затратили на написание этой системы в \LaTeX. При этом Вы допустили огромное количество синтаксических ошибок, но каким-то образом заставили формулу изображаться как следует! Почему-то сработало, например, недопустимое $$ ... $ ... $ ... $$.

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 18:07 


06/01/13
7
Спасибо! Вы правы
Тогда такой вопрос:
Решать систему i раз (задавая $t = t_i, y = y_i$)?
Или...
P.S. с $\LaTeX$ познакомился вчера

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 18:22 


29/09/06
4552
deneb в сообщении #668483 писал(а):
P.S. с $\LaTeX$ познакомился вчера
Я понял, что примерно "только вчера", и, замечу, не упрекал: только сочувствовал и восторгался.
deneb в сообщении #668483 писал(а):
Решать систему i раз (задавая $t = t_i, y = y_i$)?
Следует ли это читать как "Решать систему i=500 раз ... ? " Сколько раз (одну и ту же) систему не решай, результат, при правильном решении, будет один и тот же. У Вас ОДНА система из ПЯТИ уравнений. Вы как-то некорректно высказались.
(ещё сейчас допишу чего-то)

-- 07 янв 2013, 19:37:11 --

deneb в сообщении #668003 писал(а):
2. Получены экспериментальные данные $\{t_i; y_i\}_n$, где $t_i$ - время, с; $y_i\in[0;1], n=500$.
3. "Есть мнение", что эти данные обобщаются кривой: $$y=x_1^{x_2^{t}}-\left(x_1+\frac{t}{x_3}\right)\mathrm{e}^{-\frac {t}{x_4}\left(x_5-t\right)^2}$$
Когда столь явно заявлено, что t --- время, да ещё в секундах, и что нечто физическое разбирается, выражение $\ldots^{x_2^{t}}$ смотрится ужасненько (на мой, конечно, взгляд, не_особо_физичный). $x_1^{e^{x_2 t}}$ не так бы пугало. И вообще, зачем вводить параметр как $\frac1{x_3}$, когда можно просто заменить это на $x_3$. И не дифференцировать потом дроби: $$y=a^{\mathrm{e}^{bt}}-(a+ct)\mathrm{e}^{-ft(g-t)^2}$$

-- 07 янв 2013, 19:47:37 --

А решать систему численно. Я даже не предлагаю в этой страшной модели пользоваться какой-либо линеаризацией.

ЦЕРНовскую программу Minuit погуглите.

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 19:14 


06/01/13
7
В линейном случае:
$$
\begin{cases}
 a\sum\limits_{i=1}^{n}x_i^2+b\sum\limits_{i=1}^{n}x_i=\sum\limits_{i=1}^{n}x_iy_i\\ 
 a\sum\limits_{i=1}^{n}x_i+\sum\limits_{i=1}^{n}b=\sum\limits_{i=1}^{n}y_i
\end{cases}
$$
всё ясно... просуммировал экспериментальные значения и "перекидывай" их из стороны в сторону и найдёшь a и b. Но в исследуемой модели неизвестные параметры входят в суммы. Никак не пойму как быть.

Насчёт дробей: если брать $c, f$ как линейные, то они могут оказаться очень маленькими(0.00000001) поэтому дроби $\frac 1c, \frac 1f$

Насчёт вида кривой: возможно и так
$$y=\mathmr{e}^{p\mathmr{e}^{ht}}-(a+ct)\mathmr{e}^{-ft(g-t)^2}$$

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 19:46 


29/09/06
4552
Линейная задача проста и сводится к линейной системе. Заметьте, что если Вы перенесёте $x_i,y_i$ в систему центра тяжести ($\sum x_i=0$, $\sum y_i=0$), то и решится она устно.

У Вас модель нелинейная (дико нелинейная, я бы сказал), и система нелинейная получается.
Ну, надо привлекать методы решения (дико) нелинейных систем.
Либо попытаться линеаризовать функцию и итерировать, если какие-то начальные приближения известны.
Нелинейный МНК и на форуме обсуждался.

Что касается очень маленьких значений параметров, то замена их на очень большие (типа $c\to c^{-1}$) вряд ли спасает ситуацию. Не вижу, как это может помочь делу. Не знаю, может ли помочь, скажем, логарифмическая замена.

Да и не такой уж я опытный МНК-минимизатор (отреагировал только на явные ошибки и подозрения). Остальные, видимо, на лыжах катаются.

-- 07 янв 2013, 20:50:46 --

deneb в сообщении #668506 писал(а):
Насчёт вида кривой: возможно и так
$$y=\mathmr{e}^{p\mathmr{e}^{ht}}-(a+ct)\mathmr{e}^{-ft(g-t)^2}$$
А здесь Вы вместо пяти прежних параметров вставили шесть. Такие штуки делаются или осознанно (тогда с комментарием), или по ошибке.

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 21:18 


06/01/13
7
Итак... система из 5 нелинейных уравнений. Есть смысл решать её итерационным методом, если начальное приближение $x_0 = (a_0, b_0, c_0, f_0, g_0)$ известно?
$$
\begin{cases}
 a_{n+1}=\varphi_1(a_n, b_n, c_n, f_n, g_n)\\
 b_{n+1}=\varphi_2(a_n, b_n, c_n, f_n, g_n)\\
 c_{n+1}=\varphi_3(a_n, b_n, c_n, f_n, g_n)\\
 f_{n+1}=\varphi_4(a_n, b_n, c_n, f_n, g_n)\\
 g_{n+1}=\varphi_5(a_n, b_n, c_n, f_n, g_n)
\end{cases}
$$

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 21:58 


17/10/08

1313
Есть возможность попробовать разные методы.

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

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 22:22 


06/01/13
7
Можно сгенерировать в Excel 500 точек (t начинается с 0) и подставить $x_0 = (0.02, 0,98, 1000, 100000, 10)$ в уравнение: $$y=a^{b^{t}}-\left(a+\frac{t}{c}\right)\mathrm{e}^{-\frac {t}{f}(g-t)^2}.$$ Точки примерно соответствуют экспериментальным (параметры подбирал "на глаз")

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение07.01.2013, 22:53 


17/10/08

1313
Тратить время на поиск параметров в сгенерированной функции мне не интересно. Если данные – результат физического эксперимента, то да, тогда можно потратить какое-то время.

Кстати говоря, в Excel есть численные методы. Они зарыты где-то в меню «Поиск решения», причем его нужно включить в настройках. Там есть метод сопряженных градиентов, с помощью которого можно уточнить найденное на глаз решение.

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение08.01.2013, 09:03 


06/01/13
7
Вот данные http://zalil.ru/34144010. Работаю со средними значениями (оранжевый столбик), для которых и нужно подобрать кривую.

Спасибо за совет, но программирование не проблема. Многие методы из книги "Пантелеев А.В., Летова Т.А. — Методы оптимизации в примерах и задачах" реализованы. Поэтому использовать Excel, Matlab и др. у меня нет желания. Хочется реализовать решение самостоятельно, тем более что таких файлов у меня больше сотни и процесс их обработки предстоит автоматизировать.

 Профиль  
                  
 
 Re: Подбор параметров модели
Сообщение08.01.2013, 20:02 


17/10/08

1313
Во-первых, лучше сделать замены переменных, как описывал Алексей К..

Во-вторых, можно сделать масштабирование времени – можно сжать время в диапазон от 0 до 1 – тогда подбираемые параметры будут более «соразмерны».

В-третьих, если скопировать данные оранжевого столбца (или убрать форматирование), то видно, что есть значения больше единицы. Хотя в первом сообщении заявлено, что в игреки диапазоне от 0 до 1. Но это лирика. Но если значения подбираемой функции должны быть строго в диапазоне от 0 до 1, то это уже дополнительные ограничения (хотя бы 2).

В-четвертых, локальные методы оптимизации попадают в локальные минимумы – что и продемонстрировал метод внутренней точки на предоставленных данных. Наиболее общий класс задач, при котором локальный и глобальный оптимумы одинаковы – это выпуклые задачи. Ваша задача на выпуклую не похожа. Т.е. нахождения наилучших параметров простым локальным методом не гарантируется. Более того, возможно, что «некачественный» локальный метод не сойдется даже в локальный оптимум.

Реализация качественных методов глобальной оптимизации – это сотни тысяч строк кода и много-много человеко-лет работы. Для собственной реализации можно предложить методы случайного поиска: локальный метод с генерацией случайной начальной точки, генетические алгоритмы, методы отжига и прочая хрень. Если нужно – информацию можно найти в интернетах.

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

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



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

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


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

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