x и y меняются местами, и e ^ (...) должно быть exp (...). Также я обнаружил, что установка d в 0 помогла.
d <- 0 # fix d at 0
st <- list(a = mean(y), b = 1/sd(x), c = mean(x))
fm <- nls(y ~ a/(1+exp(-b*(x-c))) + d, start = st)
fm
дает:
Nonlinear regression model
model: y ~ a/(1 + exp(-b * (x - c)))
data: parent.frame()
a b c
19.96517 0.02623 99.73842
residual sum-of-squares: 1.82
Number of iterations to convergence: 9
Achieved convergence tolerance: 9.023e-06
При составлении графика это, кажется, подходит визуально:
plot(y ~ x)
lines(fitted(fm) ~ x, col = "red")
Перекомпиляция отслеживает параметры, поэтому ничего не меняет.
В этой статье объясняется мое утверждение . ..
... значения параметров снимаются во время Компиляция или перекомпиляция ...
Вам необходимо замаскировать параметры:
ALTER PROCEDURE [uspFoo]
@Date1 datetime,
@Date2 datetime
AS
BEGIN
DECLARE @IDate1 datetime, @IDate2 datetime;
SELECT @IDate1 = @Date1, @IDate2 = @Date2;
-- Stuff here that depends on @IDate1 and @IDate2
END
Запустить профилировщик и записать планы запросов на выполнение. Проверьте, в чем заключаются различия - возможно, вы сможете настроить запрос или форсировать конкретный план.