У меня есть набор точек данных, которые очень похожи на какую-то версию arctan (x).
xs <- seq(1000,50000,by=1000)
data <- c(0.101, 0.169, 0.209, 0.256, 0.289, 0.373, 0.391, 0.418, 0.477, 0.528, 0.579, 0.570, 0.602, 0.657, 0.690, 0.720, 0.747, 0.764, 0.781, 0.811, 0.842, 0.847, 0.864, 0.889, 0.871, 0.894, 0.897, 0.915, 0.926, 0.931, 0.932, 0.940, 0.950, 0.963, 0.956, 0.967, 0.967, 0.963, 0.971, 0.980, 0.986, 0.988, 0.986, 0.985, 0.993, 0.992, 0.994, 0.991, 0.995, 0.993)
plot(xs,data)
Немного покопавшись в мудреце, я придумал кривую y = 2*atan(xs/1000)/pi
Однако 1000 здесь - только предположение.
Аппроксимация оказывается разумной
model <- lm(data ~ I(2*atan(xs/10000)/pi))
points(xs,model$fitted.values, pch=20)
У меня вопрос, как я могу заставить R "угадать" значение a на кривой y = 2*atan(x/a)/pi
?
Спасибо!