Мультипликативный эффект, в регрессии |
Здравствуйте, гость ( Вход | Регистрация )
Мультипликативный эффект, в регрессии |
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 |
... может быть каким угодно ... Не может. Вид функции должен быть установлен из математической (не статистической!) модели. Например, как решение обыкновенного дифференциального уравнения. К примеру, уравнение роста берется таким не потому, что автору хотелось бы , чтобы функция напоминала некоторый набор опытных данных, а потому, что было составлено дифференциальное уравнение роста, затем уравнение аналитически решено (с точностью до параметров). После чего на основе опытных данных вычисляются неизвестные коэффициенты модели (модель была построена с точностью до коэффициентов) - данный процесс называется идентификацией модели. Все остальные предлагаемые пути (в этой и смежной темах) к науке не имеют отношения, а напоминают шаманские танцы с бубном. Предлагаю посмотреть источники по математическому моделированию в биологии. Есть немало хороших книг. Дополнительный плюс - вам не нужно будет гадать, как интерпретировать параметры модели. Все параметры математической модели имеют вполне четкую физическую интерпретацию. Сообщение отредактировал Игорь - 26.07.2010 - 16:52 Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
26.07.2010 - 22:13
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Предлагаю обсудить эффект взаимодействия переменных в регрессии. Думается, что не так здесь все просто, прежде всего в задании функции этого эффекта. Возьмем такой пример: предполагается, что на переменную 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 - это популяционные, фиксированные для всех параметры. |
|
27.07.2010 - 02:45
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 244 Регистрация: 28.08.2009 Пользователь №: 6286 |
Не может. Игорь, "каким угодно" - я имел ввиду с точки зрения нашего незнания. Мы не знаем, какое оно, поэтому в данной ситуации для нас оно может быть любым. А вообще, конечно, оно будет каким-то определенным, сформированным действием биологических причин. Не оспоримо. Вопрос, как выяснить форму этой зависимости? Я смотрел литературу с обзорами функций роста. Высказываются мнения, что поскольку рост биологических организмов в естественной среде - это очень сложный и многофакторный процесс, получение функций роста путем решения дифуров часто бывает очень сложно, а иногда и невозможно. Поэтому я пока в эту область даже не рыпаюсь. Мне бы сейчас что-нибудь такое, чтобы "малой кровью"... Все параметры математической модели имеют вполне четкую физическую интерпретацию. Да, для той модели, которую я приводил в качестве примера, биологическая интерпретация параметров существует. |
|
27.07.2010 - 02:51
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 244 Регистрация: 28.08.2009 Пользователь №: 6286 |
Когда не будут выполняться гипотезы 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 |
Вы хотите сказать, что если ошибки нормальны, то эффект взаимодействия можно рассматривать, как произведение функций переменных, т.е. 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 |
Высказываются мнения, что поскольку рост биологических организмов в естественной среде - это очень сложный и многофакторный процесс, получение функций роста путем решения дифуров часто бывает очень сложно, а иногда и невозможно. Поэтому я пока в эту область даже не рыпаюсь. Мне бы сейчас что-нибудь такое, чтобы "малой кровью"... Но тогда описать рост невозможно и, соответственно, нельзя использовать нелинейную регрессию. "Малой кровью" тут не обойтись, поскольку нелинейная регрессия - это большая помойка откуда на основании знаний выуживается необходимая формула. На всякий случай скажу - строить модель путем подгонки под имеющиеся данные нельзя, ибо количество "нелинейных уравнений" по определению бесконечно и всегда найдется одно, которое прекрасно описывает эти и ТОЛЬКО ЭТИ данные. Двигаться можно только от теории к модели и затем проверять модель данными. В случае использования "нелинейного" подхода методика данные-модель-данные является порочной (это уже data mining, там другие правила и объемы данных). А вообще я думаю, что просто проблема в специфичности Вашей задачи - функции роста, если я правильно понял. Вы смотрели работу Дрейпера и Смита "Прикладной регрессионный анализ" (2007)? Там есть целый раздел по функциям роста и рекомендации по выбору параметров. Однако авторы даже не предлагают анализировать такие модели как многомерные (с вмешивающимися переменными), скорее всего ввиду их сложности. Соответственно, лучше всего и не пытаться ввести все параметры в одну модель - попробовать оценить функцию роста для каждой группы в отдельности, затем суммарно для всех групп и проанализировать различия (улучшение предсказания). Единственно, что Дрейпер и Смит отмечают, что SS не является несмещенной и F-критерием пользоваться нельзя, но двумя строчками ниже рекомендуют использовать F-критерий для приблизительной оценки. |
|
22.09.2010 - 12:11
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 244 Регистрация: 28.08.2009 Пользователь №: 6286 |
Какой смысл заключается (как можно понять) в случайной ошибке, входящей в модель не аддитивно (+ u), а мультипликативно (* u)? В каких реальных ситуациях это бывает?
|
|
22.09.2010 - 19:42
Сообщение
#9
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Какой смысл заключается (как можно понять) в случайной ошибке, входящей в модель не аддитивно (+ u), а мультипликативно (* u)? В каких реальных ситуациях это бывает? Не совсем понятен вопрос. Как это случайная ошибка входит мултипликативно? Входят мультипликативно только систематические факторы, т.е. y_i=a+b1*x1+b2*x2+b3*x1*x2+epsilon_i. Модель мультипликативная, ошибка - нет. Если имеется ввиду SE, то это ошибка коэффициента регрессии, точнее отклонения коэффициента регрессии при одном значении в отличии от другого (т.е. если мультипликативно пол и возраст - насколько зависимость АД (зависимая переменная) от возраста меняется у женщин в сравнении с мужчинами). Соответственно, это обычная ошибка коэффициента регрессии, показывающая, насколько можно, учитывая случайную вариабельность, считать ее существующей. |
|
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 |
В книге Дрейпер Н., Смит Г. Прикладной регрессионный анализ: В 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 (хотя результаты будут одинаковы). |
|
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 |
Если перейти к конкретной задаче, то есть уравнение: 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 |
Может быть лучше не мудрствовать лукаво, а просто сразу первичное уравнение Гауссом-Ньютоном или Маркуардтом? Намного проще, но насколько это оправданно и корректно? Есть ли какие-либо сравнения в точности этих подходов в такой ситуации? Алгоритмы регрессионного анализа по просьбам пользователей разобраны нами в Справке модуля "Аппроксимация зависимостей" программы AtteStat. Сделана попытка обобщить и компактно представить пользователям основные идеи и формулы. Также предоставлена возможность использовать в расчетах пользовательскую функцию. Ее подгонка к данным эксперимента выполняется методами, родственными упомянутым Вами, почему и возник данный пост. Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
24.09.2010 - 15:11
Сообщение
#15
|
|
Группа: Пользователи Сообщений: 244 Регистрация: 28.08.2009 Пользователь №: 6286 |
Вопрос иной. Каково у Вас (предполагаемое) распределение ошибки? Если 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, как изначальную функцию? |
|