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

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

7 страниц V  < 1 2 3 4 > »   
Добавить ответ в эту темуОткрыть тему
> Нелинейная регрессия
плав
сообщение 14.07.2010 - 12:42
Сообщение #16





Группа: Пользователи
Сообщений: 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
сообщение 14.07.2010 - 15:09
Сообщение #17





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



Ошибки вроде нормальные.
С интерпретацией мне кажется проблем не должно быть. Если Z значим, и есть определенный знак у коэффициента, то будет конкретный вариант: например, если получился знак "минус", то увеличение Z (например, концентрация вещества) приводит к уменьшению Y. Другими словами, в одном и том же возрасте, но при разных значениях Z имеем разную величину переменной роста (Y). А дальше интерпретируем исходя из био-, физико-, химико- и др. законов, поскольку известно, что это за фактор - Z, и какое действие в принципе он мог бы оказывать.

Вот с соотношением функций не совсем понимаю. Правильны ли будут такие рассуждения: если А и Z (возраст и хим. вещество) - независимые переменные, и достоверно известно, что возраст не усиливает и не уменьшает действие вещества, ну а вещество естественно не влияет на возраст, то и эффекта взаимодействия не будет, а значит Y(Z,A) = f(A) + F(Z)?
В каком случае вообще возможна ситуация, когда Y(Z,A) = f(A)*F(Z)? Когда есть лишь только взаимное действие А и Z (в некоем соотношении). Но в реальности наверно редко такое бывает? Может быть есть смысл на всякий случай проверить такой вариант:
Y(Z,A) = f1(A) + f2(Z) + f3(A*Z), а по значимости параметров уже посмотреть, какие слагаемые оставить?

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





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



Я исходил вообще из следующих соображений. Например, рассматриваем обычную регрессию. В книгах как пишут: если при включении в модель одного влияющего фактора получается небольшой R^2 (т.е. мы объяснили небольшую долю дисперсии), то можно попытаться включить еще один фактор, который, исходя из теоретических соображений, мог бы влиять. И обычно, такое включение в модель дополнительной объясняющей переменной предполагает прибавление (сумму) эффекта. Я нигде не встречал умножения. Можно предположить эффект взаимодействия объясняющих переменных, но его тоже надо прибавлять. А потом уже оценивать значимость этих эффектов. Или я опять запутался?
Также и в рассматриваемом примере. Возраст, если его влияние рассматривать отдельно от Z, значим. При этом R^2, например, 0,7. Хотим проверить значимость влияния Z - добавляем (суммируем эффект). Неужели возможно произведение?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 16.07.2010 - 16:53
Сообщение #19





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



Цитата(Pinus @ 14.07.2010 - 16:09) *
Ошибки вроде нормальные.
С интерпретацией мне кажется проблем не должно быть. Если Z значим, и есть определенный знак у коэффициента, то будет конкретный вариант: например, если получился знак "минус", то увеличение Z (например, концентрация вещества) приводит к уменьшению Y. Другими словами, в одном и том же возрасте, но при разных значениях Z имеем разную величину переменной роста (Y). А дальше интерпретируем исходя из био-, физико-, химико- и др. законов, поскольку известно, что это за фактор - Z, и какое действие в принципе он мог бы оказывать.


Это Вы все в терминах линейной регрессии мыслите. Смотрите коэффициент при Z= +1, но зависимость квадратичная
Ввиду нормализации примем, что минимум в районе +3 (т.е. реальная формула (Z-3)^2)
Тогда: концентрация вещества
Z 0 1 2 3 4 5 6 7
Y 9 4 1 0 1 4 9 16
Так рост Z к чему приводит? Вначале он приводит к снижению Y, а потом к росту.
Интерпретировать коэффициенты нелинейной регрессии на основании их знака нельзя.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 16.07.2010 - 17:01
Сообщение #20





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



Цитата(Pinus @ 15.07.2010 - 02:35) *
Я исходил вообще из следующих соображений. Например, рассматриваем обычную регрессию. В книгах как пишут: если при включении в модель одного влияющего фактора получается небольшой R^2 (т.е. мы объяснили небольшую долю дисперсии), то можно попытаться включить еще один фактор, который, исходя из теоретических соображений, мог бы влиять. И обычно, такое включение в модель дополнительной объясняющей переменной предполагает прибавление (сумму) эффекта. Я нигде не встречал умножения. Можно предположить эффект взаимодействия объясняющих переменных, но его тоже надо прибавлять. А потом уже оценивать значимость этих эффектов. Или я опять запутался?
Также и в рассматриваемом примере. Возраст, если его влияние рассматривать отдельно от Z, значим. При этом R^2, например, 0,7. Хотим проверить значимость влияния Z - добавляем (суммируем эффект). Неужели возможно произведение?


Просто, видимо, смотрели книги, идущие от простоты реализации - мультипликативные эффекты столь же распространены, как и аддитивные. Более того, нормальный анализ модели включает построение полной модели (с мультипликативными взаимодействиями), а затем ее постепенное упрощение, т.е. если есть три фактора А, В, С, то полная модель
A+B+C+A*B+A*C+B*C+A*B*C
и ее постепенной упрощают, глядя на потерю информации (например, по AIC/BIC, используя разложение суммы квадратов и т.п.)

Это все обычно описано в любой книге по дисперсионному анализу (регрессионный идеологически от него ни чем не отличается).
То, что Вы описали является не совсем адекватным подходом к моделированию. Идут как раз с конца. На основании теоретических знаний определяют круг возможных влияющих переменных и строят полную модель, затем ее упрощают до значимой потери информации от упрощения. Полученная на предшествующем потере этапе модель и является адекватной, ее и интерпретируют.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 19.07.2010 - 01:25
Сообщение #21





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



Цитата(плав @ 17.07.2010 - 00:53) *
Это Вы все в терминах линейной регрессии мыслите.

Получилось так, что написал квадратичную функцию при Z (для общего примера), а сам предполагал у себя линейный эффект, поэтому так вышло.
А если f(Z) = b3*Z (линейная функция), то правильна интерпретация?

Цитата(плав @ 17.07.2010 - 00:53) *
Смотрите коэффициент при Z= +1, но зависимость квадратичная
Ввиду нормализации примем, что минимум в районе +3 (т.е. реальная формула (Z-3)^2)

Думал эти дни об этом, но не смог понять. То, что нелинейная функция может приводить то к увеличению Y, то к уменьшению, не оспариваю, просто не понятна арифметика. Откуда тройка; это условно e^1? И почему она в минимуме?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 19.07.2010 - 01:34
Сообщение #22





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



Цитата(плав @ 17.07.2010 - 01:01) *
Просто, видимо, смотрели книги, идущие от простоты реализации ...

Наверно так. У меня всегда складывалось впечатление, что пошаговая регрессия может осуществляться двумя равнозначными способами: путем добавления переменных в более простую модель или путем изъятия их из более сложной. Но наверно так, как Вы говорите, все же более правильно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 19.07.2010 - 15:00
Сообщение #23





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



Цитата(Pinus @ 19.07.2010 - 02:25) *
Получилось так, что написал квадратичную функцию при Z (для общего примера), а сам предполагал у себя линейный эффект, поэтому так вышло.
А если f(Z) = b3*Z (линейная функция), то правильна интерпретация?


Думал эти дни об этом, но не смог понять. То, что нелинейная функция может приводить то к увеличению Y, то к уменьшению, не оспариваю, просто не понятна арифметика. Откуда тройка; это условно e^1? И почему она в минимуме?


Насчет тройки, просто взятое с потолка число для того, чтобы можно было сделать численный пример. У любой квадратичной функции - очевидно будет минимум (если b>0) или максимум (если b<0). Соответственно, простого описания связи быть не должно, поскольку поведение функции до минимума (максимума) различается.

Насчет вопроса, не совсем понял, но фраза "при росте Z f(Z) увеличивается (уменьшается)" является классическим описанием результатов линейной регрессии.

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 19.07.2010 - 15:05
Сообщение #24





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



Цитата(Pinus @ 19.07.2010 - 02:34) *
Наверно так. У меня всегда складывалось впечатление, что пошаговая регрессия может осуществляться двумя равнозначными способами: путем добавления переменных в более простую модель или путем изъятия их из более сложной. Но наверно так, как Вы говорите, все же более правильно.

Правильно, просто забывается, что это за переменные. В стародавние времена, когда весь анализ кодировался, арифметических операций в описании моделей не было. Поэтому, если кому-то надо было проанализировать мультипликативный показатель (известный как взаимодействие), то вначале создавали новую переменную, например agesex=age*sex и ее вводили в модель. Иными словами отношения между компонентами модели описываются как аддитивные (на самом деле просто описываются), но компоненты могут быть как исходными переменными, так и различными их модификациями, включая умножение двух и более переменных.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 19.07.2010 - 15:20
Сообщение #25





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



Плав, у меня есть еще вот такая (в чем-то уже старая) проблема. Если есть у Вас время, помогите разобраться. Имеется несколько нелинейных по параметрам регрессий. Возьмем ту же функцию: Y = b0*(1-exp(-A/b1))^b2 + b3*Z. Уравнения получены при m уровнях качественного фактора Q. Требуется оценить значимость влияния Q. Айвазян (Прикладная статистика. Основы эконометрики: Учебник для вузов; В 2 т. 2-е изд., испр. - Т. 2: Айвазян С.А. Основы эконометрики. - М.: ЮНИТИ-ДАНА, 2001. - 432 с.), например, пишет следующее (с. 167-168):
Если принимается нулевая гипотеза (при m=2) H0: B1 = B2; V(ε)1 = V(ε)2 = σ2,
где B1, B2 - векторы коэффициентов регрессий;
V(ε)1, V(ε)2 - дисперсии остатков регрессий,
то две регрессии можно считать однородными и можно объединить совокупности, по которым они строились, в одну совокупность для построения единой модели (все предпосылки регрессионного анализа считаются выполненными). Пишет, что H0 принимается, если точечные оценки коэффициентов одной регрессии находятся в пределах интервальных оценок другой регрессии.
Вопрос: можно ли этот подход распространить на более чем две регрессии, т.е. H0: B1 = B2 = ... = Bm; V(ε)1 = V(ε)2 = ... = V(ε)m = σ2? Какие еще подходы существуют для проверки данной нулевой гипотезы? Как можно проверить данную нулевую гипотезу в условиях нелинейных регрессий?

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





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



Цитата(Pinus @ 19.07.2010 - 16:20) *
Плав, у меня есть еще вот такая (в чем-то уже старая) проблема. Если есть у Вас время, помогите разобраться. Имеется несколько нелинейных по параметрам регрессий. Возьмем ту же функцию: Y = b0*(1-exp(-A/b1))^b2 + b3*Z. Уравнения получены при m уровнях качественного фактора Q. Требуется оценить значимость влияния Q. Айвазян (Прикладная статистика. Основы эконометрики: Учебник для вузов; В 2 т. 2-е изд., испр. - Т. 2: Айвазян С.А. Основы эконометрики. - М.: ЮНИТИ-ДАНА, 2001. - 432 с.), например, пишет следующее (с. 167-168):
Если принимается нулевая гипотеза (при m=2) H0: B1 = B2; V(ε)1 = V(ε)2 = σ2,
где B1, B2 - векторы коэффициентов регрессий;
V(ε)1, V(ε)2 - дисперсии остатков регрессий,
то две регрессии можно считать однородными и можно объединить совокупности, по которым они строились, в одну совокупность для построения единой модели (все предпосылки регрессионного анализа считаются выполненными). Пишет, что H0 принимается, если точечные оценки коэффициентов одной регрессии находятся в пределах интервальных оценок другой регрессии.
Вопрос: можно ли этот подход распространить на более чем две регрессии, т.е. H0: B1 = B2 = ... = Bm; V(ε)1 = V(ε)2 = ... = V(ε)m = σ2? Какие еще подходы существуют для проверки данной нулевой гипотезы? Как можно проверить данную нулевую гипотезу в условиях нелинейных регрессий?

Честно говоря, меня такой подход немного смущает - нет, теоретически делать модели на нескольких группах, а затем объединять результаты можно (в конце-концов процедуры суммирования результатов множественной импутации работают именно так) - но вот такой упрощенный подход... Смотрите. Если у нас m большое, то размер выборки будет небольшим. Соответственно, доверительные интервалы для коэффициентов регрессии - широкие. Поскольку они широкие, то, следуя приведенной выше ссылке, можно объединять. Иными словами, чем больше групп, тем выше вероятность того, что уравнения регрессии будут одинаковыми. Вывод противоречащий логике.
Обычно поступают иначе - работают с полной группой, но тестируют вероятность различия углов наклона дисперсионного уравнения в разных группах - это тот самый мультипликативный элемент, о котором писалось выше. Подход будет аналогичным и в случае нелинейной регрессии, но вот вероятность, что оценки модели "не сойдутся" - выше (значительно).
Я бы постарался трансформировать зависимые/независимые переменные и использовать линейные модели именно по причине их более легкой оценки (из-за трансформации проблемы с интерпретацией уже никуда не денутся).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 20.07.2010 - 00:07
Сообщение #27





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



Если брать более конкретный пример, то в каждой группе не менее 60-70 наблюдений более или менее равномерно распределенных по объясняющим переменным. Т.е. в принципе в каждой группе можно строить полноценную надежную регрессию (R^2 около 0,9; ошибка регрессии тоже 0,9). Остатки в регрессиях групп нормальные, дисперсии остатков стабильны. Число групп например 7. Исходя из предварительных теоретических суждений, несколько групп вероятно не будут иметь различий, а другие могут иметь.
Не обязательно такой упрощенный подход. Я и не надеюсь, что он будет простым. Но может быть есть какие-нибудь специальные Post-hoc или другие критерии и способы. С трансформацией связываться бы не хотелось, потому что очень желательно, чтобы полученные модели имели общепринятую форму функции роста.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 20.07.2010 - 19:35
Сообщение #28





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



Цитата(Pinus @ 20.07.2010 - 01:07) *
Если брать более конкретный пример, то в каждой группе не менее 60-70 наблюдений более или менее равномерно распределенных по объясняющим переменным. Т.е. в принципе в каждой группе можно строить полноценную надежную регрессию (R^2 около 0,9; ошибка регрессии тоже 0,9). Остатки в регрессиях групп нормальные, дисперсии остатков стабильны. Число групп например 7. Исходя из предварительных теоретических суждений, несколько групп вероятно не будут иметь различий, а другие могут иметь.
Не обязательно такой упрощенный подход. Я и не надеюсь, что он будет простым. Но может быть есть какие-нибудь специальные Post-hoc или другие критерии и способы. С трансформацией связываться бы не хотелось, потому что очень желательно, чтобы полученные модели имели общепринятую форму функции роста.

60-70 наблюдений - это мало (за редким исключением, когда есть два параметра и четкая линейная связь между ними - для всех нелинейных моделей, это небольшое число). Поэтому надо просто объединить все наблюдения в одну группу (это уже будет 60*7=420 наблюдений), создать 6 переменных-пустышек и сделать регрессию с мультипликативными переменными типа:
Y~per1+per2+group+per1*group+per2*group
где per1|per2 - независимые переменные, group - переменная-пустышка (0- группа1, 1- группа 2).

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 21.07.2010 - 04:01
Сообщение #29





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



Вы имеете ввиду dummy variables? Я разбирался с этим методом, но не предполагал, что его можно использовать при нелинейном оценивании. Т.е. надо сформировать конструкцию с фиктивными переменными, но оценки параметров находить итерационными методами?

Цитата(плав @ 20.07.2010 - 06:36) *
Обычно поступают иначе - работают с полной группой, но тестируют вероятность различия углов наклона дисперсионного уравнения в разных группах - это тот самый мультипликативный элемент, о котором писалось выше. Подход будет аналогичным и в случае нелинейной регрессии, но вот вероятность, что оценки модели "не сойдутся" - выше (значительно).
"Не сойдутся" имеется ввиду сходимость/расходимость итерационного процесса?

Цитата
Поэтому надо просто объединить все наблюдения в одну группу (это уже будет 60*7=420 наблюдений), создать 6 переменных-пустышек и сделать регрессию с мультипликативными переменными типа:
Y~per1+per2+group+per1*group+per2*group
где per1|per2 - независимые переменные, group - переменная-пустышка (0- группа1, 1- группа 2).
Не совсем ясно, как это сделать для нелинейной по параметрам функции. Чтоб не загромождать, давайте возьмем простой пример. Сначала функция линейная по параметрам, но нелинейная по объясняющим переменным. Например: Y = b0 + b1*A^2. Пусть действует один качественный фактор Q с двумя уровнями. Тогда:
Y = b0 + b1*A^2 + b2*Q + b3*Q*A^2 или
Y = (b0 + b2*Q) + (b1*A^2 + b3*Q*A^2).
Теперь, если Q = 0 (1 группа), то имеем Y = b0 + b1*A^2,
а если Q = 1 (2 группа), то имеем Y = (b0 + b2) + (b1 + b3)*A^2.
Таким образом, при переходе из одной группы в другую получаем изменение обоих параметров регрессии (т.е. для одного уровня Q - одна регрессия, для другого - другая). Соответственно, по значимости коэффициентов b2 и b3 можем сделать выводы о значимости влияния Q на свободный член и коэффициент при A^2. Это все известно.
А как быть с функциями нелинейными по параметрам? Возьмем мой пример: Y = b0*(1-exp(-A/b1))^b2. Ведь здесь при воздействии Q могут, в принципе, изменяться все три параметра. Как можно сконструировать модель, чтобы изменение Q (0 или 1) давало изменение b0, b1 и b2? Или это не нужно и можно просто записать: Y = b0*(1-exp(-A/b1))^b2 + b3*Q + b4*Q*A?

Сообщение отредактировал Pinus - 21.07.2010 - 04:04
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 21.07.2010 - 11:42
Сообщение #30





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



Цитата(Pinus @ 21.07.2010 - 05:01) *
А как быть с функциями нелинейными по параметрам? Возьмем мой пример: Y = b0*(1-exp(-A/b1))^b2. Ведь здесь при воздействии Q могут, в принципе, изменяться все три параметра. Как можно сконструировать модель, чтобы изменение Q (0 или 1) давало изменение b0, b1 и b2? Или это не нужно и можно просто записать: Y = b0*(1-exp(-A/b1))^b2 + b3*Q + b4*Q*A?


Строго говоря так же, как и с линейными регрессиями. Формула, правда будет сложной, типа
Y~ b00*(1-exp(-A/b10))^b20 + Q*b01*(1-exp(-A/b11))^b21 +b99*Q

Такая конструкция может "не сойтись" или уйдет в локальный минимум, но тут уж ничего не поделаешь - как искать параметры в нелинейной регрессии выше, как я видел, обсуждалось.
Оценка довольно элементарна, если b01, b11, b21 окажутся значимыми, значит группы ведут себя различно.
Проблема однако будет, если у Вас много групп. Итак 3 параметра на группу, 6 dummy - 24 параметра (6*3+6). Для линейного оценивания надо не менее 240 наблюдений. Для нелинейного я таких эвристик не знаю, но, опасаюсь, что надо значительно больше (аналогичная задача с нейросетевой моделью потребует не менее 810 наблюдений в группе обучения и столько же в группе проверки модели, т.е. надо 1620 наблюдений). Наиболее неприятная штука в том, что Вы хотите иметь варьирующую степень - по опыту это резко ухудшает стабильность оценок.

Вообще посмотрите
http://www.ats.ucla.edu/stat/sas/library/sasnlin_os.htm
там в конце разбирается как раз такая ситуация
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

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