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)
が、関数指定の扱いがわかりません。何か案が?