R: регрессия с рациональными функциями - PullRequest
2 голосов
/ 27 декабря 2011

Я новичок в R и должен выполнить полиномиальную регрессию с рациональными функциями в R. Функция выглядит следующим образом:

numerator is A0 + A1*y + A2*y^2 
denominator is B0 + B1*y + B2*y^2

и рациональная функция

F= -(numerator)/denominator 

Итак, нам даны значения F и значения y с константами A0, A1, A2, B0, B1 и B2, которые необходимо определить.

Как выполнить такую ​​регрессию в R?

Спасибо.

1 Ответ

3 голосов
/ 27 декабря 2011

Функция rationalfit в пакете pracma сделает это, но вы должны быть осторожны при работе с полюсами. Смотрите следующий пример:

f <- function(x) -(x^2-3*x+2)/(x^2+1)
xs <- seq(0, 3, len=21); ys <- f(xs)

library(pracma)
rationalfit(xs, ys, d1=2, d2=2)
# $p1 = -1  3  -2
# $p2 = 1.000000e+00 -3.663736e-15  1.000000e+00

d1 и d2 - максимально допустимые степени полиномов числителя и знаменателя.

Если данные неточны, они будут соответствовать полиномиальным коэффициентам в смысле наименьших квадратов. Здесь нет терминов ошибок или статистических показателей (как в lm), это простое вычисление из численного анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...