# 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?

• sorry, a is also a parameter. Will edit for clarity Mar 1, 2023 at 12:54
• If you know $a$ the conditional mean is "linearizable": $[E(y|x)-a]^{-1} = \theta x + \delta$ where $\theta=r/b$ and $\delta = 1/b$. Similarly if $r$ is known. However, it's not usually advisable to transform (except perhaps in finding start values), since transforming data rather than expectations entangles the error term with the mean function, resulting in (among other things) heteroskedasticity and bias in estimation. Of course if you don't believe in i.i.d errors to start with, that suggests nonlinear least squares on the original equation wasn't a good choice in the first place. Mar 2, 2023 at 2:47

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.

• Hi Dave! Thank you very much for your quick and clear answer. Just to confirm, you don't think there should be any identification problems here? Feb 28, 2023 at 18:23
• What do you mean by “identification problems”? @WilliamFoley
– Dave
Feb 28, 2023 at 18:28
• I'm sorry i can't be more precise. In consulting some econometricians i was told that b and r could not be identified. Do you know of some papers or examples where a similar function is estimated? I know that a similar function is estimated in the monomonecular model, but with an exponential rather than power term. Feb 28, 2023 at 18:40
• Ask them why they don’t think the parameters can be identified and what they even mean by that term. // You don’t even care much about $b$ and $r$, so as long as you can figure out $a$, it seems like you would be happy.
– Dave
Feb 28, 2023 at 18:55
• There may well be some values of b and r where they're pretty hard to identify, in an analogous manner to near-multicollinearity in a linear regression. This is not uncommon in nonlinear models (near-ridges in parameter space, albeit curved ones typically). So, while generally identifiable, some areas of parameter space may be more problematic for getting good estimates than others. Feb 28, 2023 at 23:35