Модификация кривой для предотвращения сингулярной градиентной матрицы при начальных оценках параметров

Я хочу использоватьy=a^(b^x) чтобы соответствовать данным ниже,

y <- c(1.0385, 1.0195, 1.0176, 1.0100, 1.0090, 1.0079, 1.0068, 1.0099, 1.0038)
x <- c(3,4,5,6,7,8,9,10,11)
data <- data.frame(x,y)

Когда я использую нелинейную процедуру наименьших квадратов,

f <- function(x,a,b) {a^(b^x)}
(m <- nls(y ~ f(x,a,b), data = data, start = c(a=1, b=0.5)))

выдает ошибку:матрица сингулярного градиента при начальных оценках параметров. Результат примерно равен a = 1,1466, b = 0,6415, поэтому не должно быть проблем с оценками начальных параметров, поскольку я определил их как a = 1, b = 0,5.

Я читал в других темах, что это удобно для изменения кривой. Я думал о чем-то вродеlog y=log a *(b^x), но я не знаю, как бороться со спецификацией функции. Любая идея?

Ответы на вопрос(1)

Ваш ответ на вопрос