Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

7 страниц V   1 2 3 > »   
Добавить ответ в эту темуОткрыть тему
> Нелинейная регрессия
Pinus
сообщение 12.01.2010 - 13:17
Сообщение #1





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Стал разбираться с оценкой параметров функций роста.
В Statistica в модуле Nonlinear Estimation есть раздел получения МНК-оценок параметров пользовательских функций (User-specified regression, least squares). Предлагаются два итерационных метода: Gauss-Newton (Гаусса-Ньютона) и Levenberg-Marquardt (Левенберга-Маркварта).
Нашел книгу с неплохим описанием этих методов, на которую многие ссылаются:
Дэннис Д., Шнабель Р. Численные методы безусловной оптимизации и решения нелинейных уравнений. ? М.: Мир, 1988. ? 440 с. (есть в инете).
Также ссылаются на:
Бард Й. Нелинейное оценивание параметров. ? М.: Статистика, 1979. ? 349 с.
Демиденко Е.З. Линейная и нелинейная регрессии. ? М.: Финансы и статистика, 1981. ? 302 с.
Эти книги в инете не нашел.

Методы по своим характеристикам близки, однако Levenberg-Marquardt отдается предпочтение. Оба метода являются локально сходящимися. В связи с этим возникает вопрос выбора стартовых значений. Существуют ли какие-либо подходы определения локальной области?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 12.01.2010 - 16:52
Сообщение #2





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(Pinus @ 12.01.2010 - 14:17) *
Стал разбираться с оценкой параметров функций роста.
В Statistica в модуле Nonlinear Estimation есть раздел получения МНК-оценок параметров пользовательских функций (User-specified regression, least squares). Предлагаются два итерационных метода: Gauss-Newton (Гаусса-Ньютона) и Levenberg-Marquardt (Левенберга-Маркварта).
Нашел книгу с неплохим описанием этих методов, на которую многие ссылаются:
Дэннис Д., Шнабель Р. Численные методы безусловной оптимизации и решения нелинейных уравнений. ? М.: Мир, 1988. ? 440 с. (есть в инете).
Также ссылаются на:
Бард Й. Нелинейное оценивание параметров. ? М.: Статистика, 1979. ? 349 с.
Демиденко Е.З. Линейная и нелинейная регрессии. ? М.: Финансы и статистика, 1981. ? 302 с.
Эти книги в инете не нашел.

Дэннис-Шнабель - хорошая книга. Но лучше возьмите вот этот источник (встречается в электронной форме):
Носач В.В. Решение задач аппроксимации с помощью персональных компьютеров. - М.: МИКАП, 1994
Цитата(Pinus @ 12.01.2010 - 14:17) *
Методы по своим характеристикам близки, однако Levenberg-Marquardt отдается предпочтение.

Для данного типа задач (пользовательская функция), по-моему, лучше метод Бройдена-Флетчера-Голдфарба-Шанно - BFGS (у Носача неточно назван - Дэвидона-Флетчера-Пауэлла).
Цитата(Pinus @ 12.01.2010 - 14:17) *
Оба метода являются локально сходящимися. В связи с этим возникает вопрос выбора стартовых значений. Существуют ли какие-либо подходы определения локальной области?

У Носача смотрите глобальные методы. Хотя трудно представить задачу, для которой нет абсолютно никаких идей о величине коэффициентов модели. Обычно все-таки какие-то разумные, обусловленные физически, пределы есть.

Поэкспериментировать с пользовательской функцией можно в модуле "Аппроксимация..." ПО AtteStat, хотя там не регрессионный анализ (с вычислением ошибок и ДИ), конечно, а именно аппроксимация: задаются массивы абсцисс и ординат, а также, с точностью до коэффициентов, предполагаемый вид зависимости. Задача - найти коэффициенты. Формула может включать в себя любые допустимые, с точки зрения машины вычислений Excel, функции. Дополнительно в Справочной системе указанного модуле есть кое-какие теоретические соображения и ссылки.
По поводу, как дополнить функционал AtteStat для вычисления хотя бы ошибок и ДИ параметров. Это не представляет сложности, ибо можно вывести матрицу Гессе (кстати, еще одно преимущество BFGS - матрицу Гессе можно не считать отдельно, как в упомянутых Вами и прочих методах в программе Statistica http://www.statsoft.ru/HOME/TEXTBOOK/modul...lin.html#nstart, т.к. обращенная матрица Гессе в BFGS участвует в процессе) на последнем шаге итераций = дисперсии-ковариации. Отсюда стандартные ошибки, ДИ и все такое.

Сообщение отредактировал Игорь - 13.01.2010 - 10:57


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 13.01.2010 - 01:28
Сообщение #3





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Игорь, спасибо за книгу и советы!
По поводу локальной области: нашел похожие работы с коэффициентами. Задал близкие к ним, получил расчет, потом задал еще раз близкие к расчетным - изменения в коэффициентах стали только в 4-5 знаке.
В Attestate уже попробовал, но почему-то не получается (вроде бы все делаю согласно справке). Если стартовые значения параметров нулевые, то в ячейке (Функция) ПО пишет #ДЕЛ/0! (деление на ноль), а в результате расчета выдает (Неверная формула. Расчет не выполнен.). Если задать стартовые значения, то в результате расчета выдает (Ошибка вычисления модели).
Пример для функции Митчерлиха (Дракина-Вуевского): Y=b0*(1-exp(-X/b1))^b2, где Y - высота насаждений; X - возраст. Стартовые значения параметров: b0=20; b1=20; b2=1,5.
Расчетные параметры по Levenberg-Marquardt (в Statistica), при ε = 1,0*E-6: b0=22,34861; b1=35,26573; b2=1,47696.

Сообщение отредактировал Pinus - 13.01.2010 - 01:32
Прикрепленные файлы
Прикрепленный файл  Пример_для_функции_Митчерлиха.rar ( 2,06 килобайт ) Кол-во скачиваний: 570
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 13.01.2010 - 11:02
Сообщение #4





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(Pinus @ 13.01.2010 - 01:28) *
Игорь, спасибо за книгу и советы!
По поводу локальной области: нашел похожие работы с коэффициентами. Задал близкие к ним, получил расчет, потом задал еще раз близкие к расчетным - изменения в коэффициентах стали только в 4-5 знаке.
В Attestate уже попробовал, но почему-то не получается (вроде бы все делаю согласно справке). Если стартовые значения параметров нулевые, то в ячейке (Функция) ПО пишет #ДЕЛ/0! (деление на ноль), а в результате расчета выдает (Неверная формула. Расчет не выполнен.). Если задать стартовые значения, то в результате расчета выдает (Ошибка вычисления модели).
Пример для функции Митчерлиха (Дракина-Вуевского): Y=b0*(1-exp(-X/b1))^b2, где Y - высота насаждений; X - возраст. Стартовые значения параметров: b0=20; b1=20; b2=1,5.
Расчетные параметры по Levenberg-Marquardt (в Statistica), при ε = 1,0*E-6: b0=22,34861; b1=35,26573; b2=1,47696.

Да нет, получается все. Только нужно задавать очень близкие к истинным начальные значения. BFGS использует вторые производные, а в функции - степень неизвестного параметра - очень нехорошая ситуация для численного метода. Лучше всего добавить в AtteStat один из методов, вторые производные не использующих, чтобы у пользователя был выбор. Также дать возможность выбора требуемой точности и иных параметров расчета.


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 14.01.2010 - 03:32
Сообщение #5





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Цитата(Игорь @ 13.01.2010 - 18:02) *
Да нет, получается все. Только нужно задавать очень близкие к истинным начальные значения. BFGS использует вторые производные, а в функции - степень неизвестного параметра - очень нехорошая ситуация для численного метода.

Нет, у меня не получается даже со стартовыми, имеющими точность до третьего знака. Параметры, которые получены в Statistica, дают R^2=0,88 и кривая на диаграмме рассеяния проходит там где следует.

Сообщение отредактировал Pinus - 14.01.2010 - 03:35
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 14.01.2010 - 03:37
Сообщение #6





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Может быть кто-нибудь сталкивался, в каких пакетах на одном графике можно получить несколько диаграмм рассеяния:
1. с МНК-аппроксимациями пользовательскими функциями?
2. с возможностью накладывать функции с параметрами, заданными пользователем?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 16.01.2010 - 09:39
Сообщение #7





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



По поводу доверительных интервалов при нелинейной регрессии. Более-менее понятно написано у Афифи А. Статистический анализ. Подход с использованием ЭВМ., 1982. на с. 210, и есть пример. Для определения доверительного интервала для среднего (предсказанного) значения Y при выборочных фиксированных значениях X(i) используется стандартное отклонение для предсказанных значений - sd(Yi). Не ясно, как его определять. Неужели по выборочным повторным наблюдениям для каждого X(i)? Кто как думает?
В каких еще источниках об этом толково можно почитать?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 16.01.2010 - 16:04
Сообщение #8





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(Pinus @ 14.01.2010 - 04:32) *
Нет, у меня не получается даже со стартовыми

Методом Ньютона-Гаусса (AtteStat, начиная с версии 10.11.5) воспользуйтесь.
Цитата(Pinus @ 14.01.2010 - 03:37) *
Может быть кто-нибудь сталкивался, в каких пакетах на одном графике можно получить несколько диаграмм рассеяния:
1. с МНК-аппроксимациями пользовательскими функциями?
2. с возможностью накладывать функции с параметрами, заданными пользователем?

Посмотрите http://www.alentum.com/agrapher/. Можно более раннюю версию поискать. Раньше, помнится, она была бесплатная и на русском языке (http://downloads.ru/win/5206.hts, http://iu4-x2-2007.ucoz.ru/load/11-1-0-33). Хотя могу ошибаться. Может, это разные проекты.

Сообщение отредактировал Игорь - 16.01.2010 - 18:20


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 17.01.2010 - 00:17
Сообщение #9





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Игорь, большое спасибо!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 31.01.2010 - 11:38
Сообщение #10





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Доступна новая версия 12.0.1 программы AtteStat с полноценным регрессионным анализом (а не "элементами", как было раньше).

Графики пользовательских функций можно легко строить в Excel. Т.к. графики в Excel - это отображение ячеек рабочего листа, то можно поступить следующим образом.
1. Ввести аргументы - столбец X. Пусть первая ячейка - A1.
2. Ввести в первую ячейку (пусть B1) столбца Y формулу - функцию от X, аргументом указав первую ячейку столбца Y. Например, нужно построить функцию Exp(x). Вводим: =EXP(A1)
3. Ткнуть мышкой в правый нижний угол первой ячейки столбца Y (при этом курсов примет вид +) и протащить по всему столбцу Y. Столбец заполнится формулами. При этом все ссылки на ячейки столбца X автоматически установятся.
4. Стандартно вывести график.

Собственно, так и делает AtteStat, но методами VBA и на основе рассчитанной регрессии.
Цитата(Pinus @ 16.01.2010 - 10:39) *
По поводу доверительных интервалов при нелинейной регрессии. Более-менее понятно написано у Афифи А. Статистический анализ. Подход с использованием ЭВМ., 1982. на с. 210, и есть пример. Для определения доверительного интервала для среднего (предсказанного) значения Y при выборочных фиксированных значениях X(i) используется стандартное отклонение для предсказанных значений - sd(Yi). Не ясно, как его определять. Неужели по выборочным повторным наблюдениям для каждого X(i)? Кто как думает?

Боюсь, у Афифи неточность (небрежность перевода + небрежность автора, знакомая по другим разделам, отмеченным на данном форуме). В этой формуле SD должно быть не Yi-го, а SD оценки - это корень квадратный из дисперсии ошибки регрессии.
Хотя, в принципе, для каждого наблюдения можно построить свою дисперсию. Например, методом скользящего среднего. Данный подход как раз используется для построения ДИ в модуле "Анализ временных рядов" AtteStat. Но данный подход не предполагает формулировку параметрической модели. Тут же как раз параметрический случай.
Цитата(Pinus @ 16.01.2010 - 10:39) *
В каких еще источниках об этом толково можно почитать?

Если интересует нечто глобальное и не является препятствием иностранный язык: Seber G.A.F., Wild C.J. Nonlinear regression. - Hoboken, NJ: John Wiley & Sons, 2003. Можно в электронном виде поискать.

Сначала хотел предложить посмотреть книги по эконометрике, т.к. регрессионный анализ традиционно широко применяется в этой науке. Однако анализ большинства иностранных источников показал, что для нас никакой ценности не представляет многосотстраничное всестороннее "обсасывание" простой линейной модели. Хороши разве что книги Айвазяна с соавт.

В Справке AtteStat "Аппроксимация и регрессионный анализ" я поместил все необходимые формулы, а также ссылку на книгу Кулаичева "Методы и средства анализа данных в среде Windows. STADIA", где эти формулы имеются. В электронном виде книга не встречалась. Посмотрите в [электронных] книжных магазинах. Стоит 64 рубля. Бесплатная версия STADIA доступна http://protein.bio.msu.su/~akula/Podr2~1.htm.

Сообщение отредактировал Игорь - 31.01.2010 - 16:03


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 2.02.2010 - 10:09
Сообщение #11





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Цитата(Игорь @ 31.01.2010 - 18:38) *
Боюсь, у Афифи неточность (небрежность перевода + небрежность автора, знакомая по другим разделам, отмеченным на данном форуме). В этой формуле SD должно быть не Yi-го, а SD оценки - это корень квадратный из дисперсии ошибки регрессии.

Игорь, если не очень затруднит, подскажите источник, где Вы видели формулу с SD оценки регрессии (мне нужно сослаться).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 2.02.2010 - 16:41
Сообщение #12





Группа: Пользователи
Сообщений: 1114
Регистрация: 10.04.2007
Пользователь №: 4040



Цитата(Pinus @ 2.02.2010 - 11:09) *
Игорь, если не очень затруднит, подскажите источник, где Вы видели формулу с SD оценки регрессии (мне нужно сослаться).

Параграф 8.4 Ферстера (с. 189) - тут видел (способ номер 2).

См. также:
Параграф 3.7 Носача (с. 376 и далее).
Параграф 16.8 Полларда (русское издание с. 292, англ. издание с. 287).
Параграф 1.7 Дрейпера (т. 1, с. 71).
Параграф 3.10 Чаттерджи (с. 74).

Задачи регрессионного анализа - пункт 15.1.7. Айвазяна (с. 627).

Если только об источниках на русском языке говорить, при описании регрессионного анализа взял бы только Айвазяна (основные идеи), Ферстера (пояснения и формулы) и Носача (методика расчета). Полный набор.

Сообщение отредактировал Игорь - 2.02.2010 - 17:01


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 3.02.2010 - 03:04
Сообщение #13





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Спасибо, Игорь! Поразбираюсь.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 6.02.2010 - 01:30
Сообщение #14





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Собираю разные идеи о том, как можно сравнить нелинейные (нелинеаризуемые) регрессии. Из того, что пока удалось собрать на форуме:
1. Дискретизация X и проведение ANOVA (метод сопряжен с некоторой потерей информации при группировке)
2. Сравнение доверительных интервалов параметров уравнений (на основании данного метода сделать более-менее точные выводы можно в случае наличия существенных различий - ДИ не пересекаются и далеко отстоят друг от друга; при наличии близости границ ДИ или незначительного пересечения однозначных выводов сделать нельзя)

Был озвучен еще один метод (Green и Nokh) - перестановочный тест (данные одной выборки подставляются в уравнение другой и сравниваются). Был бы очень благодарен за ссылки на источники. Пусть даже на иностранном, постараюсь несколько страниц перевести. Не знаю сути метода, поэтому может быть он для нелинеаризуемых регрессий и не годится?
Может кто знает другие методы?

Сообщение отредактировал Pinus - 6.02.2010 - 01:31
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 14.07.2010 - 10:14
Сообщение #15





Группа: Пользователи
Сообщений: 244
Регистрация: 28.08.2009
Пользователь №: 6286



Такая задача.
Изучается процесс роста: изменение переменной Y от возраста (A). При этом необходимо оценить значимость одновременного влияния на Y некой переменной Z (как и все переменные в этом анализе, Z - количественная и непрерывная). Общепринятая функция роста Y = f(A) - нелинейная по параметрам. Для функции Y = f(Z) общепринятого выражения нет. Корректно ли будет поступить следующим образом: включить в уравнение функции роста дополнительный эффект от влияния Z в виде какой-либо подходящей функции (например, x^2) и затем делать нелинейное оценивание полученного составного уравнения?
Например: Y = b0*(1-exp(-A/b1))^b2 + b3*Z^2.
Значимость коэффициента b3 будет доказывать значимость влияния переменной Z (как в обычной регрессии).
Как думаете?

Сообщение отредактировал Pinus - 14.07.2010 - 10:18
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

7 страниц V   1 2 3 > » 
Добавить ответ в эту темуОткрыть тему