вівторок, 11 лютого 2014 р.

Підбір параметрів нелінійної регресії виду y=a+b*x+c*(x^2) та аналогічних

Працювати будемо з файлом вихідних даних (створеному в Notepad чи аналогічному редакторі), де дані представлені у наступному виді:
x         y
41.82315 0.3862740
63.61050 0.3161208
88.39984 0.3040334
97.02666 0.2243317
99.19001 0.1723193
або, як у випадку з нашим файлом:
x     y
0     0
40   910
109 10140

Створивши файл, завантажуємо його в R:
> read.table("D:\\_UNIVER\\_CO-WORKERS\\Statta\\Version_2_full\\R_Statistis_paleo\\data_paleo.txt", header=TRUE)
Результат:
    x     y
1   0     0
2  40   910
3 109 10140

Далі:
> data<-read.table("D:\\_UNIVER\\_CO-WORKERS\\Statta\\Version_2_full\\R_Statistis_paleo\\data_paleo.txt", header=TRUE)

Задаємо першу функцію:
> fit2 <- lm(y ~ x + I(x^2), data=data)
Дивимося результат:
> coef (fit2)
  (Intercept)             x        I(x^2)
-2.096029e-14 -1.799059e+01  1.018515e+00


Задаємо другу функцію:
fit3 <- lm(y ~ x + I(x^3), data=data)
Дивимося результат:
> coef (fit3)
 (Intercept)            x       I(x^3)
5.367630e-13 1.181293e+01 6.835670e-03


Перевизначаємо другу функцію:
> fit3 <- lm(y ~ x + I(x^2) + I(x^3), data=data)
Результат:
> coef (fit3)
  (Intercept)             x        I(x^2)        I(x^3)
-2.096029e-14 -1.799059e+01  1.018515e+00            NA


Спробуємо ще раз перевизначити функцію (хоча правильніше створити ряд функцій певного виду і послідовно їх перебирати):
> fit3 <- lm(y ~ x + I(x^2) + I(x^3) +I(x^4), data=data)
Результат:
> coef (fit3)
  (Intercept)             x        I(x^2)        I(x^3)        I(x^4)
-2.096029e-14 -1.799059e+01  1.018515e+00            NA            NA 


Підібравши потрібні параметри, завершуємо роботу.








Немає коментарів:

Дописати коментар