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

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

> Нелинейная регрессия
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 отдается предпочтение. Оба метода являются локально сходящимися. В связи с этим возникает вопрос выбора стартовых значений. Существуют ли какие-либо подходы определения локальной области?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
Pinus
сообщение 14.07.2010 - 10:14
Сообщение #2





Группа: Пользователи
Сообщений: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 14.07.2010 - 12:42
Сообщение #3





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



Цитата(Pinus @ 14.07.2010 - 11:14) *
Такая задача.
Изучается процесс роста: изменение переменной 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 (как в обычной регрессии).
Как думаете?

А ошибки-то как распределены? Если нормальное распределение - можно и так (если уверены, что Y(Z,A)=f(A)+F(Z), а не, например f(A)*F(Z)). Но вообще-то, при любой нелинейной регрессии значимость влияния переменной Z уже весьма сложна для интерпретации. Даже в Вашем примере, когда-то (Z <0) рост Z приводит к уменьшению Y, когда-то (Z>0) рост Z приводит к росту Y. Иными словами интерпретация затруднена. В случае f(A)*f(Z) все будет еще сложнее. Если для интерпретации характер связи не важен, а важнее создание некоей модели, то можно попробовать нейрочетевое моделирование, которое как раз является системой нелинейных уравнений. При отсутствии известной формы выражения наиболее гибкая возможность описания данных (но абсолютно неинтерпретируемая с точки зрения "нового знания").
Если распределение ошибок не нормальное, надо вначале выяснить какое, а это может потребовать подбор зависимости для Z.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 22.07.2010 - 06:01
Сообщение #4





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



Подумал вот о чем (если вернуться к первой задаче). Если в уравнение Y = b0*(1-exp(-A/b1))^b2 + b3*Z^2 добавлять мультипликативный эффект, то наверно надо делать так: Y = b00*(1-exp(-A/b10))^b20 + b01*Z^2*(1-exp(-A/b11))^b21 + b3*Z^2 (также, как с dummy)?

Цитата(плав @ 14.07.2010 - 20:42) *
Если нормальное распределение - можно и так (если уверены, что Y(Z,A)=f(A)+F(Z), а не, например f(A)*F(Z)). Но вообще-то, при любой нелинейной регрессии значимость влияния переменной Z уже весьма сложна для интерпретации. Даже в Вашем примере, когда-то (Z <0) рост Z приводит к уменьшению Y, когда-то (Z>0) рост Z приводит к росту Y. Иными словами интерпретация затруднена. В случае f(A)*f(Z) все будет еще сложнее.

Сложнее с интерпретацией или еще какие-то другие проблемы возникают?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 22.07.2010 - 18:51
Сообщение #5





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



Цитата(Pinus @ 22.07.2010 - 07:01) *
Подумал вот о чем (если вернуться к первой задаче). Если в уравнение Y = b0*(1-exp(-A/b1))^b2 + b3*Z^2 добавлять мультипликативный эффект, то наверно надо делать так: Y = b00*(1-exp(-A/b10))^b20 + b01*Z^2*(1-exp(-A/b11))^b21 + b3*Z^2 (также, как с dummy)?


Сложнее с интерпретацией или еще какие-то другие проблемы возникают?

Так вообщем-то думми-недумми роли не играет. Если у нас две независимых переменных А и В, то надо записывать А + В + А*В, затем вместо А и В подставляете любые формулы (причем в SAS, например, можно делать именно так, как я написал, вначале кодировать формулы простыми буквами, а затем использовать упрощенную запись).
Проблемы две - получить устойчивое решение и проинтерпретировать его. У меня при сложных нелинейных зависимостях часто появлялись проблемы с устойчивостью (меняем немного стартовые параметры и получаем другое решение), поэтому я нелинейные модели и недолюбливаю (теоретически то на модельных данных все прекрасно работает, а вот на реальных...). Может, Вам повезет больше.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 23.07.2010 - 05:00
Сообщение #6





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



Цитата(плав @ 23.07.2010 - 02:51) *
Если у нас две независимых переменных А и В, то надо записывать А + В + А*В, затем вместо А и В подставляете любые формулы

Просто мне казалось, что для отражения мультипликативного эффекта достаточно будет записать: Y = b0*(1-exp(-A/b1))^b2 + b3*Z^2 + b4*A*Z, а пример с dummy навел на мысль, что это неправильно, т.к. Z при взаимодействии с A, влияет на все параметры функции F(A).

Цитата(плав @ 23.07.2010 - 02:51) *
Может, Вам повезет больше.

Видимо тоже не везет. С подбором параметров действительно не получается. Даже если брать только две группы качественного фактора, все равно процесс не сходится. А при большем количестве групп Q, вообще говорить не приходится. Если к одному сложному [F(A)] слагаемому добавлять две-три простых функции, то нормально, устойчивые оценки.
Что же делать, Плав? Вы писали про процедуры множественной импутации, что это такое? Может этим можно попробовать? Что еще можно здесь придумать?

Сообщение отредактировал Pinus - 23.07.2010 - 05:03
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 23.07.2010 - 09:39
Сообщение #7





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



Цитата(Pinus @ 23.07.2010 - 06:00) *
Видимо тоже не везет. С подбором параметров действительно не получается. Даже если брать только две группы качественного фактора, все равно процесс не сходится. А при большем количестве групп Q, вообще говорить не приходится. Если к одному сложному [F(A)] слагаемому добавлять две-три простых функции, то нормально, устойчивые оценки.
Что же делать, Плав? Вы писали про процедуры множественной импутации, что это такое? Может этим можно попробовать? Что еще можно здесь придумать?

Не, множественная импутация - это методика, которая позволяет анализировать пропущенные значения. Я ее упоминал только в связи с тем, что есть подходы к суммированию оценок нескольких регрессий.
А действительно так уж нужна нелинейная функция? Это был мой вопрос с самого начала, но, по-моему DrgLena указала, что для Вас это критично. Если это действительно так, то надо попробовать поиграть со стартовыми параметрами. Иногда таким образом удается добиться схождения. Оптимально порисовать графики при разных стартовых параметрах и посмотреть какой параметр наилучшим образом описывает. Еще вариант - свалить все данные в кучу и сделать простейшую модель, потом использовать полученные параметры в качестве стартовых для всех (когда уже будете вводить групповые значения).
Вариант номер два - посмотреть на форму зависимости. У Вас она то, что называется intractable - т.е. форма, которую невозможно линеаризовать. Может быть, посмотреть функцию exp(A/B)? Тогда log(Y)=b1*(А/В)?
Еще вариант - упростить выражение, предположить, что ряд параметров одинаковы и считать исходя из этого.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 23.07.2010 - 15:35
Сообщение #8





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



Цитата(плав @ 23.07.2010 - 17:39) *
Вариант номер два - посмотреть на форму зависимости.

Уже тоже думал об этом. Действительно, есть линеаризуемые функции роста, попробую покрутить какую-нибудь из них (типа Гомперца). Посмотрим, что получится.
А как Вы смотрите на такую процедуру "множественной ампутации": объединить все выборки, сгруппировать значения непрерывных объясняющих переменных по интервалам (группам), сделать дисперсионный анализ (3-4 факторный) и посмотреть, что там от чего зависит, а потом уже для однородных групп строить модели со сложной функцией роста? Вдруг по ANOVA не будет никаких эффектов взаимодействия, тогда все значительно упростится.

Сообщение отредактировал Pinus - 23.07.2010 - 15:36
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 23.07.2010 - 18:05
Сообщение #9





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



Цитата(Pinus @ 23.07.2010 - 16:35) *
Уже тоже думал об этом. Действительно, есть линеаризуемые функции роста, попробую покрутить какую-нибудь из них (типа Гомперца). Посмотрим, что получится.
А как Вы смотрите на такую процедуру "множественной ампутации": объединить все выборки, сгруппировать значения непрерывных объясняющих переменных по интервалам (группам), сделать дисперсионный анализ (3-4 факторный) и посмотреть, что там от чего зависит, а потом уже для однородных групп строить модели со сложной функцией роста? Вдруг по ANOVA не будет никаких эффектов взаимодействия, тогда все значительно упростится.

Мне еще вот какая мысль пришла в голову (может и не новая). Вам ведь надо ответить на вопрос, различаются ли показатели в разных группах?
Так вот действуем так:
1) Объединяем все наблюдения в одну группу и считает модель по Вашей формуле (общую)
2) Рассчитываем предсказанные значения и считаем квадраты разности между предсказанным значением и истинным (SSt)
3) Разбиваем данные на группы и проводим регресионный анализ внутри каждой группы
4) Для каждой группы считаем квадраты разности, затем суммируем полученные значения для всех групп (SSe)
Получили модель дисперсионного анализа и используем омнибусный тест для проверки гипотезы, что разбиение на группы не приводит к снижению дисперсии.
Единственно что надо внимательно считать число степеней свободы - каждый оцененный параметр - одна степень свободы.

Что же касается "ампутации" я не очень люблю потерю данных при превращении количественной переменной в качественную, данных не так много, чтобы информацией разбрасываться smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- Pinus   Нелинейная регрессия   12.01.2010 - 13:17
- - Игорь   Цитата(Pinus @ 12.01.2010 - 14:17) С...   12.01.2010 - 16:52
- - Pinus   Игорь, спасибо за книгу и советы! По поводу ло...   13.01.2010 - 01:28
|- - Игорь   Цитата(Pinus @ 13.01.2010 - 01:28) И...   13.01.2010 - 11:02
|- - Pinus   Цитата(Игорь @ 13.01.2010 - 18:02) Д...   14.01.2010 - 03:32
|- - Игорь   Цитата(Pinus @ 14.01.2010 - 04:32) Н...   16.01.2010 - 16:04
- - Pinus   Может быть кто-нибудь сталкивался, в каких пакетах...   14.01.2010 - 03:37
- - Pinus   По поводу доверительных интервалов при нелинейной ...   16.01.2010 - 09:39
- - Pinus   Игорь, большое спасибо!   17.01.2010 - 00:17
- - Игорь   Доступна новая версия 12.0.1 программы AtteStat с ...   31.01.2010 - 11:38
|- - Pinus   Цитата(Игорь @ 31.01.2010 - 18:38) Б...   2.02.2010 - 10:09
|- - Игорь   Цитата(Pinus @ 2.02.2010 - 11:09) Иг...   2.02.2010 - 16:41
- - Pinus   Спасибо, Игорь! Поразбираюсь.   3.02.2010 - 03:04
- - Pinus   Собираю разные идеи о том, как можно сравнить нели...   6.02.2010 - 01:30
- - Pinus   Такая задача. Изучается процесс роста: изменение п...   14.07.2010 - 10:14
|- - плав   Цитата(Pinus @ 14.07.2010 - 11:14) Т...   14.07.2010 - 12:42
|- - Pinus   Подумал вот о чем (если вернуться к первой задаче)...   22.07.2010 - 06:01
|- - плав   Цитата(Pinus @ 22.07.2010 - 07:01) П...   22.07.2010 - 18:51
|- - Pinus   Цитата(плав @ 23.07.2010 - 02:51) Ес...   23.07.2010 - 05:00
|- - плав   Цитата(Pinus @ 23.07.2010 - 06:00) В...   23.07.2010 - 09:39
|- - Pinus   Цитата(плав @ 23.07.2010 - 17:39) Ва...   23.07.2010 - 15:35
|- - плав   Цитата(Pinus @ 23.07.2010 - 16:35) У...   23.07.2010 - 18:05
|- - Pinus   Цитата(плав @ 24.07.2010 - 02:05) Та...   23.07.2010 - 23:29
||- - плав   Цитата(Pinus @ 24.07.2010 - 00:29) К...   24.07.2010 - 15:25
|- - Pinus   Возвращаясь к разговору о значимости различий межд...   11.12.2010 - 07:37
- - Pinus   Ошибки вроде нормальные. С интерпретацией мне каже...   14.07.2010 - 15:09
|- - плав   Цитата(Pinus @ 14.07.2010 - 16:09) О...   16.07.2010 - 16:53
|- - Pinus   Цитата(плав @ 17.07.2010 - 00:53) Эт...   19.07.2010 - 01:25
|- - плав   Цитата(Pinus @ 19.07.2010 - 02:25) П...   19.07.2010 - 15:00
- - Pinus   Я исходил вообще из следующих соображений. Наприме...   15.07.2010 - 01:35
|- - плав   Цитата(Pinus @ 15.07.2010 - 02:35) Я...   16.07.2010 - 17:01
|- - Pinus   Цитата(плав @ 17.07.2010 - 01:01) Пр...   19.07.2010 - 01:34
|- - плав   Цитата(Pinus @ 19.07.2010 - 02:34) Н...   19.07.2010 - 15:05
- - Pinus   Плав, у меня есть еще вот такая (в чем-то уже стар...   19.07.2010 - 15:20
|- - плав   Цитата(Pinus @ 19.07.2010 - 16:20) П...   19.07.2010 - 22:36
|- - Pinus   Вы имеете ввиду dummy variables? Я разбирался с эт...   21.07.2010 - 04:01
|- - плав   Цитата(Pinus @ 21.07.2010 - 05:01) А...   21.07.2010 - 11:42
- - Pinus   Если брать более конкретный пример, то в каждой гр...   20.07.2010 - 00:07
|- - плав   Цитата(Pinus @ 20.07.2010 - 01:07) Е...   20.07.2010 - 19:35
- - Pinus   Большое спасибо, Плав! Возможные варианты поня...   24.07.2010 - 23:02
- - Pinus   Что-то не получается Nonlinear Estimation с dummy ...   30.07.2010 - 16:50
|- - плав   Цитата(Pinus @ 30.07.2010 - 17:50) Ч...   30.07.2010 - 17:36
- - DrgLena   Нелинейное оценивание в Statistica будет абсолютно...   31.07.2010 - 12:18
|- - Pinus   Цитата(плав @ 31.07.2010 - 01:36) а ...   2.08.2010 - 05:25
- - Pinus   Вопрос к пользователям профессиональных стат.прогр...   2.08.2010 - 05:39
|- - плав   Цитата(Pinus @ 2.08.2010 - 06:39) Во...   2.08.2010 - 10:29
- - DrgLena   Цитата(Pinus @ 2.08.2010 - 05:39) Не...   2.08.2010 - 14:30
|- - Pinus   Цитата(DrgLena @ 2.08.2010 - 22:30) ...   3.08.2010 - 09:14
|- - плав   Цитата(Pinus @ 3.08.2010 - 10:14) С ...   3.08.2010 - 11:45
- - DrgLena   Я понимаю, что шутки про лес сейчас не уместны, по...   3.08.2010 - 12:51
- - Pinus   Размышлял вот на досуге, и появились такие мысли: ...   26.09.2010 - 02:24
|- - Игорь   Цитата(Pinus @ 26.09.2010 - 03:24) Р...   27.09.2010 - 13:30
|- - Pinus   Цитата(Игорь @ 27.09.2010 - 21:30) К...   27.09.2010 - 23:24
- - Pinus   В книге Ферстер, Ренц Методы корреляционного и рег...   2.12.2010 - 13:03
|- - Игорь   Цитата(Pinus @ 2.12.2010 - 14:03) В ...   2.12.2010 - 17:24
|- - плав   Цитата(Игорь @ 2.12.2010 - 17:24) А ...   2.12.2010 - 23:01
|- - Pinus   Цитата(плав @ 3.12.2010 - 07:01) Да,...   3.12.2010 - 01:47
|- - Игорь   Цитата(плав @ 3.12.2010 - 00:01) Да,...   3.12.2010 - 10:41
- - DrgLena   И мне так показалось. Вне зависимости от модели в...   3.12.2010 - 11:19
|- - Pinus   Цитата(DrgLena @ 3.12.2010 - 19:19) ...   3.12.2010 - 13:31
||- - Игорь   Цитата(Pinus @ 3.12.2010 - 13:31) Су...   3.12.2010 - 15:57
||- - Pinus   Цитата(Игорь @ 3.12.2010 - 23:57) Ст...   4.12.2010 - 02:50
|- - плав   Цитата(DrgLena @ 3.12.2010 - 11:19) ...   4.12.2010 - 17:54
|- - Pinus   Цитата(DrgLena @ 6.12.2010 - 02:26) ...   5.12.2010 - 19:34
- - DrgLena   Цитата(Pinus @ 3.12.2010 - 14:31) St...   3.12.2010 - 17:49
|- - Pinus   Цитата(DrgLena @ 4.12.2010 - 01:49) ...   4.12.2010 - 02:28
|- - Юсуфходжа   Цитата(Pinus @ 4.12.2010 - 03:28) Не...   22.03.2016 - 09:20
- - DrgLena   В данном примере коэффициенты МНК совпадают с по...   4.12.2010 - 18:58
|- - Игорь   Цитата(Pinus @ 4.12.2010 - 03:28) Ур...   4.12.2010 - 20:40
|- - Pinus   Авторы книги (Ферстер, Ренц) приводят две формулы ...   5.12.2010 - 08:31
|- - Olga44   Ответ DrgLena 4.12.2010-18:58 "У Афифи (стр...   11.12.2010 - 01:58
- - DrgLena   Нужно сохранить AtteStat для широкой виндовской об...   4.12.2010 - 22:12
- - DrgLena   В том, что 3938,337+658,66=4596,997 , а не равно 4...   5.12.2010 - 13:33
|- - Pinus   Цитата(DrgLena @ 5.12.2010 - 21:33) ...   5.12.2010 - 16:32
- - Игорь   Исправлена неточность в AtteStat - неверно брались...   5.12.2010 - 16:41
- - DrgLena   pinus, Вы просили меня посчитать в статистике коэф...   5.12.2010 - 16:49
|- - Pinus   Цитата(DrgLena @ 6.12.2010 - 00:49) ...   5.12.2010 - 17:25
- - Pinus   Еще раз посмотрел ссылку, которую привел Плав. Сле...   5.12.2010 - 18:13
- - DrgLena   Так и я вам именно это пытаюсь объяснить, поскольк...   5.12.2010 - 18:26
- - DrgLena   Да, мне так показалось, и я привела строчки из док...   5.12.2010 - 20:34
- - skrayd   Преобразовать нелинейные уравнения системы к виду ...   10.12.2010 - 07:23
- - nokh   Цитата(Pinus @ 11.12.2010 - 09:37) В...   11.12.2010 - 09:18
|- - Pinus   Цитата(nokh @ 11.12.2010 - 17:18) За...   11.12.2010 - 10:56
- - DrgLena   Я думала это проблемы моего Internet Expl. захожу ...   11.12.2010 - 11:53
- - Ivdioni   Преобразовать нелинейные уравнения системы к виду ...   11.12.2010 - 22:30
|- - Olga44   Цитата(Ivdioni @ 11.12.2010 - 23:30)...   12.12.2010 - 02:41
- - DrgLena   Цитата(Olga44 @ 11.12.2010 - 01:58) ...   12.12.2010 - 13:49
- - nokh   Цитата(nokh @ 11.12.2010 - 12:18) За...   15.01.2011 - 22:56
- - Rodgers   Здравствуйте уважаемые коллеги! У меня созрел ...   26.01.2013 - 20:18
|- - 100$   Цитата(Rodgers @ 26.01.2013 - 20:18)...   27.01.2013 - 00:04
- - nokh   Весёлый Rodgers, будучи настоящим пиратом, не имее...   3.02.2013 - 00:09


Добавить ответ в эту темуОткрыть тему