Я изучаю R и в настоящее время использую его для нелинейной регрессии (которую я также изучаю). У меня есть два набора данных (продолжительность операции на разных машинах), и я могу найти хорошую нелинейную регрессию для каждого из этих наборов. Теперь я хотел бы найти лучшую регрессию, которая минимизирует сумму обеих остаточных сумм квадратов.
Вот что у меня есть:
A <- c(1:5)
B <- c(100, 51, 32, 24, 19)
C <- c(150, 80, 58, 39, 29)
df <- data.frame (A,B,C)
f <- B ~ k1/A + k2
g <- C ~ k1/A + k2
n <- nls(f, data = df, start = list(k1=10, k2=10))
p <- nls(g, data = df, start = list(k1=10, k2=10))
n
#Nonlinear regression model
# model: B ~ k1/A + k2
# data: df
# k1 k2
#101.595 -1.195
# residual sum-of-squares: 2.619
#Number of iterations to convergence: 1
#Achieved convergence tolerance: 2.568e-07
p
#Nonlinear regression model
# model: C ~ k1/A + k2
# data: df
# k1 k2
#148.044 3.593
# residual sum-of-squares: 54.19
#Number of iterations to convergence: 1
#Achieved convergence tolerance: 1.803e-07
Константы k1 и k2 (конечно) разные для обоих наборов (B и C), мне интересно, как мне удалось найти конкретный k1 и конкретный k2, которые дают «лучшее» решение для обоих наборов данных.
Надеюсь, мое объяснение будет понятно. В противном случае то, что я пытаюсь найти, иногда (по крайней мере, здесь) называется глобальной нелинейной регрессией.
РЕДАКТИРОВАТЬ: я также хотел бы знать, как я могу сказать R, чтобы избежать отрицательных значений для определенного параметра. В этом случае я хотел бы, чтобы k2 был положительным.