Я согласен с Glen_b. В задачах регрессии основное внимание уделяется параметрам, а не независимой переменной или предиктору x. И тогда можно решить, хочет ли он линеаризовать проблему, используя простые преобразования, или продолжить ее как таковую.
Линейные задачи: подсчитайте количество параметров в вашей задаче и проверьте, все ли они имеют степень 1. Например, . Эта функция нелинейна по . Но для проблем регрессии нелинейность по не является проблемой. Нужно проверить, являются ли параметры линейными или линейными. В этом случае , , , .. имеют степень 1. Итак, они линейны.Y= а х + б х2+ с х3+ дИкс2 / 3+ е / х + жИкс- 4 / 7ИксИксaбсе
Заметьте, что в , хотя a выглядит так, как будто оно имеет степень 1, но при расширении
. Вы можете ясно видеть, что это нелинейный параметр, поскольку a имеет степень больше 1. Но эту проблему можно линеаризовать, вызвав логарифмическое преобразование. Таким образом, задача нелинейной регрессии преобразуется в задачу линейной регрессии.Y= опыт( Х )ехр( а х ) = 1 + а х / 1 ! + ( Х )2/ 2! +…
Точно так же является логистической функцией. Она имеет три параметра, а именно , и . Параметры и имеют мощность больше 1, и при расширении они умножаются с каждым другие приносят нелинейность. Таким образом, они не являются линейными. Но они также могут быть линеаризованы с использованием правильной замены, устанавливая сначала а затем вызывая логарифмическую функцию с обеих сторон для линеаризации.Y= a / ( 1 + b exp( с х )abcbc(a/y)−1=Y
Теперь предположим, что . Это еще раз нелинейно по отношению к параметрам. Но он не может быть линеаризован. Нужно использовать нелинейную регрессию.y=a1/(1+b1exp(c1x))+a2/(1+b2exp(c2x))
В принципе, использование линейной стратегии для решения задачи нелинейной регрессии не очень хорошая идея. Итак, решайте линейные задачи (когда все параметры имеют степень 1), используя линейную регрессию, и применяйте нелинейную регрессию, если ваши параметры нелинейны.
В вашем случае замените весовую функцию обратно в основную функцию. Параметр будет единственным параметром со степенью 1. Все остальные параметры являются нелинейными ( конечном итоге умножается на и (эти два параметра являются нелинейными)), что делает его также нелинейным. Следовательно, это задача нелинейной регрессии ,β 1 θ 1 θ 2β0β1θ1θ2
Примите нелинейную методику наименьших квадратов, чтобы решить ее. Умно выбирайте начальные значения и используйте многоканальный подход, чтобы найти глобальные минимумы.
Это видео будет полезно (хотя в нем не говорится о глобальном решении): http://www.youtube.com/watch?v=3Fd4ukzkxps
Использование нелинейного решателя GRG в электронной таблице Excel (установите пакет инструментов решателя, выбрав «Опции» - «Надстройки» - «Надстройки Excel», а затем выбрав «Надстройка солвера»), и запустите мультистарт в списке параметров, задав интервалы для параметров и требуя точность ограничения и сходимость, чтобы быть маленьким, глобальное решение может быть получено.
Если вы используете Matlab, используйте панель инструментов глобальной оптимизации. У него есть опции мультистарта и глобального поиска. Определенные коды доступны здесь для глобального решения, здесь
и
здесь .
Если вы используете Mathematica, посмотрите здесь .
Если вы используете R, попробуйте здесь .