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

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

2 страниц V   1 2 >  
Добавить ответ в эту темуОткрыть тему
> Мультипликативный эффект, в регрессии
Pinus
сообщение 26.07.2010 - 16:00
Сообщение #1





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



Предлагаю обсудить эффект взаимодействия переменных в регрессии. Думается, что не так здесь все просто, прежде всего в задании функции этого эффекта. Возьмем такой пример: предполагается, что на переменную Y влияют два фактора X и Z. Предполагается квадратичная зависимость Y от X и линейная от Z. Все переменные количественные и непрерывные.
Общее уравнение запишем: Y = b0 + b1*X + b2*X^2 + b3*Z + b4*Z*X.
Возникает вопрос, почему мультипликативный эффект обязательно b4*Z*X? Почему он не может быть, например: b4*Z*X^2 или b4*Z*(X + X^2). Да и вообще, в принципе взаимное действие X и Z на Y здесь наверно может быть каким угодно, хоть b4*Z^3*[1-EXP(X^2)].
Если это так, то возникает вопрос: а как узнать какая функция у эффекта взаимодействия? Если, например для X и Z мы можем предполагать вид функции из теоретических соображений, предыдущих исследований или скажем по категоризованным графикам, то как быть с X*Z?

Сообщение отредактировал Pinus - 26.07.2010 - 16:02
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 26.07.2010 - 16:47
Сообщение #2





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



Цитата(Pinus @ 26.07.2010 - 17:00) *
... может быть каким угодно ...

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

Все остальные предлагаемые пути (в этой и смежной темах) к науке не имеют отношения, а напоминают шаманские танцы с бубном.

Предлагаю посмотреть источники по математическому моделированию в биологии. Есть немало хороших книг.

Дополнительный плюс - вам не нужно будет гадать, как интерпретировать параметры модели. Все параметры математической модели имеют вполне четкую физическую интерпретацию.

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


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





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



Цитата(Pinus @ 26.07.2010 - 17:00) *
Предлагаю обсудить эффект взаимодействия переменных в регрессии. Думается, что не так здесь все просто, прежде всего в задании функции этого эффекта. Возьмем такой пример: предполагается, что на переменную Y влияют два фактора X и Z. Предполагается квадратичная зависимость Y от X и линейная от Z. Все переменные количественные и непрерывные.
Общее уравнение запишем: Y = b0 + b1*X + b2*X^2 + b3*Z + b4*Z*X.
Возникает вопрос, почему мультипликативный эффект обязательно b4*Z*X? Почему он не может быть, например: b4*Z*X^2 или b4*Z*(X + X^2). Да и вообще, в принципе взаимное действие X и Z на Y здесь наверно может быть каким угодно, хоть b4*Z^3*[1-EXP(X^2)].
Если это так, то возникает вопрос: а как узнать какая функция у эффекта взаимодействия? Если, например для X и Z мы можем предполагать вид функции из теоретических соображений, предыдущих исследований или скажем по категоризованным графикам, то как быть с X*Z?

Все не совсем так. Речь идет о взаимодействиях. Соответственно, если Вы предполагаете квадратичную зависимость Y от Z, то тем самым Вы предполагаете
а) Линейный компонент Y=b1*Х
б) Квадратичный компонент Y=b2*Х^2
Для Z только линейный компонент (b3)
Теперь мы хотим выяснить, есть ли взаимодействие, т.е. проходит ли кривая наклона одинаково при разных значениях Z
Соответственно наши гипотезы (нулевые)
1) Коэффициенты линейного компонента Х не отличаются от нуля
2) Коэффициенты линейного компонента Z не отличаются от нуля
3) Коэффициенты квадратичного компонент Х не отличаются от нуля
4) Коэффициенты линейного компонента Х не зависят от уровня Z
5) Коэффициенты квадратичного компонента Х не зависят от уровня Z
Обратите внимание - это статистические гипотезы, а не модель данных
Когда не будут выполняться гипотезы 4 и 5 - тогда, когда нет зависимости одного от другого, соответственно произведение этих величин будет равно 0 (я немного упрощаю и принимаю, что все значения - случайные величины со средним 0 и стандартным отклонением 1 - это и есть распределение случайной ошибки).
Можете попробовать сгенерировать такие случайные величины и взять не среднее произведения, а, например, среднее произведения одного на квадрат другого - результат получится смещенным). Пример в R
y<-rnorm(10000)
x<-rnorm(10000)
mean(x*y)
mean(x*y^2)
Соответственно, мы почти всегда в реальности имеем линейную модель
Y=b1+b2+b3
квадраты и прочее - это модификация с помощью которой мы приводим ошибку в нужный вид.
Соответственно, взаимодействия будут b1*b3, b2*b3, b1*b2*b3

еще раз повторюсь - надо уйти от модели данных и вспомнить о статистической модели. Простейшая модель данных (случайная величина)
Y=\mu
Статистическая модель (распределение)
Y=\mu+\epsilon
Вся теория статистического тестирования занимается поведением \epsilon, а не \mu. Напомню, \mu - это популяционные, фиксированные для всех параметры.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 27.07.2010 - 02:45
Сообщение #4





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



Цитата(Игорь @ 27.07.2010 - 00:47) *
Не может.

Игорь, "каким угодно" - я имел ввиду с точки зрения нашего незнания. Мы не знаем, какое оно, поэтому в данной ситуации для нас оно может быть любым. А вообще, конечно, оно будет каким-то определенным, сформированным действием биологических причин. Не оспоримо. Вопрос, как выяснить форму этой зависимости? Я смотрел литературу с обзорами функций роста. Высказываются мнения, что поскольку рост биологических организмов в естественной среде - это очень сложный и многофакторный процесс, получение функций роста путем решения дифуров часто бывает очень сложно, а иногда и невозможно. Поэтому я пока в эту область даже не рыпаюсь. Мне бы сейчас что-нибудь такое, чтобы "малой кровью"...

Цитата(Игорь @ 27.07.2010 - 00:47) *
Все параметры математической модели имеют вполне четкую физическую интерпретацию.

Да, для той модели, которую я приводил в качестве примера, биологическая интерпретация параметров существует.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 27.07.2010 - 02:51
Сообщение #5





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



Цитата(плав @ 27.07.2010 - 06:13) *
Когда не будут выполняться гипотезы 4 и 5 - тогда, когда нет зависимости одного от другого, соответственно произведение этих величин будет равно 0 (я немного упрощаю и принимаю, что все значения - случайные величины со средним 0 и стандартным отклонением 1 - это и есть распределение случайной ошибки).
Можете попробовать сгенерировать такие случайные величины и взять не среднее произведения, а, например, среднее произведения одного на квадрат другого - результат получится смещенным). Пример в R ...
Соответственно, мы почти всегда в реальности имеем линейную модель
Y=b1+b2+b3
квадраты и прочее - это модификация с помощью которой мы приводим ошибку в нужный вид.
Соответственно, взаимодействия будут b1*b3, b2*b3, b1*b2*b3

Вы хотите сказать, что если ошибки нормальны, то эффект взаимодействия можно рассматривать, как произведение функций переменных, т.е. Y = F(X) + F(Z) + F(X)*F(Z)? И в нелинейных регрессиях можно поступать также?

Сообщение отредактировал Pinus - 27.07.2010 - 02:53
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 27.07.2010 - 13:21
Сообщение #6





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



Цитата(Pinus @ 27.07.2010 - 03:51) *
Вы хотите сказать, что если ошибки нормальны, то эффект взаимодействия можно рассматривать, как произведение функций переменных, т.е. Y = F(X) + F(Z) + F(X)*F(Z)? И в нелинейных регрессиях можно поступать также?


Да, единственно что мне бы хотелось бы, чтобы мы меньше говорили вообще о "нелинейной регрессии". Это что-то вроде "ненормального распределения" - сразу возникает вопрос, а какое?
Вообще есть два больших класса нелинейности - криволинейные и собственно нелинейные модели.
Криволинейные модели - модели в которых производная модели по параметрам не зависит от параметров модели:
Y=b0+b1*x+b2*x^2+\epsilon:
dY/dbo=1, dY/db1=x, dY/db2=x^2
Собственно нелинейные модели - те, в которых производное модели по параметрам зависит от параметра
Y = d + (a - d)/(1 + exp{b log(x/g)}) + \epsilon:
dY/dd=1 - 1/(1 + exp{b log(x/g)})

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

Кроме полиномиальных моделей наиболее популярными являются логарифмические модели:
Линейно-логарифмическая:
Y=b0+b1*ln(X)+\epsilon
Логлинейная модель
ln(Y)=b0+b1*X+\epsilon -> Y=M*exp(b*X)
Лог-лог модели
ln(Y)=b0+b1*ln(X)+\epsilon -> Y=M*X^b

Как видно, после трансформации исходных переменных эти модели оказываются линейными по параметрам (заменяем ln(X)=R и/или ln(Y)=S и имеем линеаризацию - однако распределение ошибок не обязательно будет нормальным, что потребует специфической процедуры оценки).

Однако, поскольку мы сходимся на линеаризуемой модели, взаимодействия выглядят так же, как и в обычной линейной модели A+B+A*B
Еще раз повторюсь, при создании моделей надо идти от интерпретации результатов. A*B интерпретируется как то, что угол накола для A (параметр) различен при разных уровнях B.

Соответственно, для создания модели надо
1) На основании знания предметной области предположить функцию, которая связывает зависимую и независимую переменную (это уже ограничит диапазон возможных функций). Обратите внимание - на основании знания предметной области, а не путем подбора кривой под точки на графике.
2) Попытаться линеаризовать полученную зависимость (если все делалось в соотвествии с пунктом 1, это, обычно удается)
3) Определить распределение функции ошибок
4) Построить модель
(я понимаю, что я в большей степени говорю о glm, но собственно к nlm надо переходить если путь с glm уже пройден)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 27.07.2010 - 13:27
Сообщение #7





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



Цитата(Pinus @ 27.07.2010 - 03:45) *
Высказываются мнения, что поскольку рост биологических организмов в естественной среде - это очень сложный и многофакторный процесс, получение функций роста путем решения дифуров часто бывает очень сложно, а иногда и невозможно. Поэтому я пока в эту область даже не рыпаюсь. Мне бы сейчас что-нибудь такое, чтобы "малой кровью"...

Но тогда описать рост невозможно и, соответственно, нельзя использовать нелинейную регрессию. "Малой кровью" тут не обойтись, поскольку нелинейная регрессия - это большая помойка откуда на основании знаний выуживается необходимая формула. На всякий случай скажу - строить модель путем подгонки под имеющиеся данные нельзя, ибо количество "нелинейных уравнений" по определению бесконечно и всегда найдется одно, которое прекрасно описывает эти и ТОЛЬКО ЭТИ данные. Двигаться можно только от теории к модели и затем проверять модель данными. В случае использования "нелинейного" подхода методика данные-модель-данные является порочной (это уже data mining, там другие правила и объемы данных).
А вообще я думаю, что просто проблема в специфичности Вашей задачи - функции роста, если я правильно понял. Вы смотрели работу Дрейпера и Смита "Прикладной регрессионный анализ" (2007)? Там есть целый раздел по функциям роста и рекомендации по выбору параметров.
Однако авторы даже не предлагают анализировать такие модели как многомерные (с вмешивающимися переменными), скорее всего ввиду их сложности. Соответственно, лучше всего и не пытаться ввести все параметры в одну модель - попробовать оценить функцию роста для каждой группы в отдельности, затем суммарно для всех групп и проанализировать различия (улучшение предсказания). Единственно, что Дрейпер и Смит отмечают, что SS не является несмещенной и F-критерием пользоваться нельзя, но двумя строчками ниже рекомендуют использовать F-критерий для приблизительной оценки.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 22.09.2010 - 12:11
Сообщение #8





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



Какой смысл заключается (как можно понять) в случайной ошибке, входящей в модель не аддитивно (+ u), а мультипликативно (* u)? В каких реальных ситуациях это бывает?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 22.09.2010 - 19:42
Сообщение #9





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



Цитата(Pinus @ 22.09.2010 - 13:11) *
Какой смысл заключается (как можно понять) в случайной ошибке, входящей в модель не аддитивно (+ u), а мультипликативно (* u)? В каких реальных ситуациях это бывает?

Не совсем понятен вопрос. Как это случайная ошибка входит мултипликативно? Входят мультипликативно только систематические факторы, т.е. y_i=a+b1*x1+b2*x2+b3*x1*x2+epsilon_i. Модель мультипликативная, ошибка - нет. Если имеется ввиду SE, то это ошибка коэффициента регрессии, точнее отклонения коэффициента регрессии при одном значении в отличии от другого (т.е. если мультипликативно пол и возраст - насколько зависимость АД (зависимая переменная) от возраста меняется у женщин в сравнении с мужчинами). Соответственно, это обычная ошибка коэффициента регрессии, показывающая, насколько можно, учитывая случайную вариабельность, считать ее существующей.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 23.09.2010 - 07:27
Сообщение #10





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



В книге Дрейпер Н., Смит Г. Прикладной регрессионный анализ: В 2-х кн. Кн. 1 / Пер. с англ. 2-е изд., перераб. и доп. - М.: Финансы и статистика, 1986. на стр. 278 рассматривается мультипликативная модель вида:
Y=α*X1^β*X2^γ*X3^δ,
где α, β, γ, δ - неизвестные параметры; ε - мультипликативная случайная ошибка.
Для использования МНК делается логарифмическое преобразование:
lnY=lnα+β*lnX1+γ*lnX2+δ*lnX3+lnε,
и тогда к модели можно применять стандартные методы линейной регрессии, с учетом того, что нужно будет делать анализ не остатков, а логарифмов остатков.
На следующей странице приводится другая модель:
Y=α*X1^β*X2^γ*X3^δ,
для которой утверждается, что здесь нельзя сделать линейное преобразование и для получения оценок параметров надо использовать итерационные методы.

В связи с этим возникают вопросы:
1. Как понимать мультипликативную случайную ошибку;
2. Если, аналогично, имеются обычные квазилинейные функции вида:
Y=α*X^β; Y=exp(X/α) и т.д., то мы можем делать преобразование к линейному виду, только если предполагаем, что ε мультипликативна? Иначе итерационные процедуры?

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





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



Цитата(Pinus @ 23.09.2010 - 08:27) *
В книге Дрейпер Н., Смит Г. Прикладной регрессионный анализ: В 2-х кн. Кн. 1 / Пер. с англ. 2-е изд., перераб. и доп. - М.: Финансы и статистика, 1986. на стр. 278 рассматривается мультипликативная модель вида:
Y=α*X1^β*X2^γ*X3^δ,
где α, β, γ, δ - неизвестные параметры; ε - мультипликативная случайная ошибка.
Для использования МНК делается логарифмическое преобразование:
lnY=lnα+β*lnX1+γ*lnX2+δ*lnX3+lnε,
и тогда к модели можно применять стандартные методы линейной регрессии, с учетом того, что нужно будет делать анализ не остатков, а логарифмов остатков.
На следующей странице приводится другая модель:
Y=α*X1^β*X2^γ*X3^δ,
для которой утверждается, что здесь нельзя сделать линейное преобразование и для получения оценок параметров надо использовать итерационные методы.

В связи с этим возникают вопросы:
1. Как понимать мультипликативную случайную ошибку;
2. Если, аналогично, имеются обычные квазилинейные функции вида:
Y=α*X^β; Y=exp(X/α) и т.д., то мы можем делать преобразование к линейному виду, только если предполагаем, что ε мультипликативна? Иначе итерационные процедуры?

Насколько я понимаю, речь идет о линеаризируемых и не линеаризируемых моделях. Первый тип является GLM, второй - нет. На самом деле в большинстве случаев и GLM будет использовать итерационные процедуры. Подозреваю, что старая версия книги (1986 г.) предполагает по возможности нормализацию ошибки для дальнейшего использования OLS, а не ML. ML практически всегда итерационна и сейчас и для моделей первого типа используется ML, а не OLS (хотя результаты будут одинаковы).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Pinus
сообщение 24.09.2010 - 01:43
Сообщение #12





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



Если перейти к конкретной задаче, то есть уравнение: Y=exp(b0-b1/A).
Как лучше оценить параметры? Если прологарифмировать, то получится lnY= b0-b1/A, но, если я правильно понимаю, то дальнейшее применение МНК в рамках классической линейной модели сопряжено с различного рода "алхимией" (нестандартный анализ остатков, весовые переменные, обратные преобразования и пр.), что, по видимому, имеет следствием приближенные результаты. Может быть лучше не мудрствовать лукаво, а просто сразу первичное уравнение Гауссом-Ньютоном или Маркуардтом? Намного проще, но насколько это оправданно и корректно? Есть ли какие-либо сравнения в точности этих подходов в такой ситуации?

Сообщение отредактировал Pinus - 24.09.2010 - 01:45
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
плав
сообщение 24.09.2010 - 10:45
Сообщение #13





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



Цитата(Pinus @ 24.09.2010 - 02:43) *
Если перейти к конкретной задаче, то есть уравнение: Y=exp(b0-b1/A).
Как лучше оценить параметры? Если прологарифмировать, то получится lnY= b0-b1/A, но, если я правильно понимаю, то дальнейшее применение МНК в рамках классической линейной модели сопряжено с различного рода "алхимией" (нестандартный анализ остатков, весовые переменные, обратные преобразования и пр.), что, по видимому, имеет следствием приближенные результаты. Может быть лучше не мудрствовать лукаво, а просто сразу первичное уравнение Гауссом-Ньютоном или Маркуардтом? Намного проще, но насколько это оправданно и корректно? Есть ли какие-либо сравнения в точности этих подходов в такой ситуации?


Вопрос иной. Каково у Вас (предполагаемое) распределение ошибки?
Если lnY= b0-b1/A+е, при этом е=N(0,sigma), то тогда надо логарифмировать
Если Y=exp(b0-b1/A) + e, то логарифмировать не надо, используете ML-оценки исходного уравнения
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 24.09.2010 - 11:33
Сообщение #14





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



Цитата(Pinus @ 24.09.2010 - 01:43) *
Может быть лучше не мудрствовать лукаво, а просто сразу первичное уравнение Гауссом-Ньютоном или Маркуардтом? Намного проще, но насколько это оправданно и корректно? Есть ли какие-либо сравнения в точности этих подходов в такой ситуации?

Алгоритмы регрессионного анализа по просьбам пользователей разобраны нами в Справке модуля "Аппроксимация зависимостей" программы AtteStat. Сделана попытка обобщить и компактно представить пользователям основные идеи и формулы. Также предоставлена возможность использовать в расчетах пользовательскую функцию. Ее подгонка к данным эксперимента выполняется методами, родственными упомянутым Вами, почему и возник данный пост.


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





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



Цитата(плав @ 24.09.2010 - 18:45) *
Вопрос иной. Каково у Вас (предполагаемое) распределение ошибки?
Если lnY= b0-b1/A+е, при этом е=N(0,sigma), то тогда надо логарифмировать
Если Y=exp(b0-b1/A) + e, то логарифмировать не надо, используете ML-оценки исходного уравнения

В общем-то получается все про ту же злополучную ошибку. На основании чего ее можно предположить? Если нужно уравнение Y=exp(b0-b1/A), значит Y зависит от A по данной функции, стало быть случайная составляющая должна быть прибавлена: Y=exp(b0-b1/A) + e.
В каком случае получается lnY= b0-b1/A+е ? Если просто отказаться от Y=exp(b0-b1/A) и рассматривать lnY= b0-b1/A, как изначальную функцию?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

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