В чем разница между функцией nls и функцией наименьших квадратов? - PullRequest
0 голосов
/ 24 сентября 2018

Я хочу знать, какова точная разница между R-функцией nls и методом наименьших квадратов.Я думал, что это то же самое, но это дает разные результаты, см. Пример ниже.Я хочу найти степенную функцию для данных (х, у).Я искал исходный код функции nls, но не могу найти разницу.Кто-нибудь может мне помочь?

x <- c (1,2,3,4,5,6,7,8,9,10) </p>

y <- c (4,7,2,34,25,53,57,77,87,99) </p>

data_xy <- data.frame (x, y) </p>

function_nls <- nls (y ~a * x ^ b, data = data_xy, start = c (a = 5, b = 3)) </p>

n <- длина (x) </p>

i <- seq (1, n, 1) </p>

b <- (n * sum (log (x [i]) * log (y [i]))) - сумма (log (x [i]))) * sum (log (y)[i]))) / (n * sum (log (x [i]) ^ 2) - (sum (log (x [i]))) ^ 2)) </p>

a <- exp ((sum (log (y [i])) - b * sum (log (x [i]))) / n) </p>

cat (sprintf ('P =% f * V ^% f \ n'), а, б))

P = 2,075821 * V ^ 1,647545

коэф (function_nls)

   a        b 

2,618066 1,593658

...