/ / Нелінійний регресійний аналіз в R - r, регресія, нелінійна регресія

Нелінійний регресійний аналіз в R - r, регресія, нелінійна регресія

I "m a R новачок, але я" шукаю спосіб визначення трьох параметрів A, B і C, пов'язаних з наступною функцією в R:

y = A * (x1^B) * (x2^C)

Може хто-небудь дати мені деякі натяки про метод (и) R, які допоможуть мені досягти такої установки?

Відповіді:

6 за відповідь № 1

Одним з варіантів є nls функція, як запропонував @SvenHohenstein. Іншим варіантом є перетворення нелінійної регресії в лінійну регресію. У разі цього рівняння просто візьмемо журнал обох сторін рівняння і зробимо невелику алгебру і будемо мати лінійне рівняння. Регресію можна запустити за допомогою:

fit <- lm( log(y) ~ log(x1) + log(x2), data=mydata)

Перехоплення буде log(A) так користуйся exp щоб отримати значення, параметри B і C будуть 2 схилами.

Велика різниця тут в тому nls буде відповідати моделі з нормальними помилками, доданими до початкового рівняння і lm fit з журналами припускає, що помилки воригінальна модель з логарифмічного розподілу і множиться замість доданого до моделі. Багато наборів даних дадуть подібні результати для двох методів.


4 для відповіді № 2

Ви можете помістити нелінійну модель найменших квадратів з функцією nls.

nls(y ~ A * (x1^B) * (x2^C))

-1 для відповіді № 3

Чому ви не використовуєте регресію SVM (Suppor Vector Machines)? є пакет у CRAN названий e1071 які можуть обробляти регресію за допомогою SVM.

Ви можете перевірити це керівництво: http://www.svm-tutorial.com/2014/10/support-vector-regression-r/

Я сподіваюся, що це може допомогти вам