Can nonlinear regression identify this equation? I want to estimate the following regression equation:
$y = a + \frac{b}{r*x + 1}$
x is the independent variable, and a, b and r are parameters to be estimated. I have been told that the model is not identified, I suppose because I am trying to estimate both b and r with just one independent variable. Theoretically, what I am most interested in a, which is the asymptotic value of y as x approaches infinity.
However, I was wondering if this model can be identified in a nonlinear regression procedure, for example by using the nl command in stata or the nlstools package in R?

Yes, nonlinear least squares regression can estimate this. The idea is similar to linear least squares regression. You find estimates $\hat a$ of $a$, $\hat b$ of $b$, and $\hat r$ of $r$ such that, for $\hat y = \hat a +\frac{\hat b}{1 + \hat r x}$, the sum of squared residuals,$\overset{N}{\underset{i=1}{\sum}}\left(y_i - \hat y_i\right)^2$, is minimized. As usual, $\left(y_i - \hat y_i\right)^2$ is the residual for true value $y_i$ and prediction $\hat y_i$.
Unlike ordinary least squares linear regression, however, there is not necessarily a clean formula to calculate the parameter estimates like OLS has $\hat\beta_{ols} = (X^TX)^{-1}X^Ty$. Consequently, numerical methods will be required. Fortunately, software exists do do just that, as I demonstrate below with some R code that you might find yourself using.
set.seed(2023)
N <- 1000
a <- 1
b <- 200
r <- 3
x <- runif(N, 0, 20)
y <- a + (b)/(1 + r*x) + rnorm(N, 0, 3)
model <- nls(
  y ~ a + b/(1 + r*x),
  start = list(a = 1, b = 100, r = 1)
  )
model
summary(model)

You have to pick starting guesses for your parameters, which is what I do in the start line. You can fiddle with the starting parameters to see how sensitive your estimates are.
