I am trying to fit a curve to a set of data using a weighted least squares approach. The reason I am using the weighted approach is to bias my solution to my more reliable data. I am however having a problem trying to derive the analytical solution to the problem.

T curve I am trying to fit is a creep strain equation of the following form, where beta are the coefficients I am trying to solve for:

$\displaystyle \epsilon(t,\sigma, T) = 10^{\beta_1}\sigma^{\beta_2}te^{\beta_3/T}$

I then log the equation in order to linearise it as follows: $\displaystyle log(\epsilon) = \beta_1 + \beta_2log(\sigma) + log(t) - \beta_3log(e^{1/T})$

I have experimental results for time t to reach strain $\displaystyle \epsilon$ at a constant test stress $\displaystyle \sigma$ and temperature T. My problem is when I try to implement the analytical solution for the weighted least squares problem which has the form, where W is a diagonal matrix of my chosen weightings: $\displaystyle \beta = (X^TWX)^{-1}X^TWY $

As I understand I have the following for n data points:

$\displaystyle \beta = [\beta_1,\ \beta_2,\ \beta_3]$

$\displaystyle Y^T = [log(\epsilon_1),\ log(\epsilon_2,\ ...\ ,log(\epsilon_n))]$

$\displaystyle X^T = [1,\ log(\sigma_i),\ log(e^{1/T_i})]$ with i=n rows

My confusion is what do I do with the $\displaystyle \log(t)$ expression. As I see it, this term is an "x" data point with a coefficient of 1. However, I cannot see how to include this and solve for my $\displaystyle \beta$ coefficients. I know that I could go the optimisation route and solve it that way. I am however looking for an analytical solution to the least squares problem.

Any assistance would be greatly appreciated. Thanks in advance.

  • $\begingroup$ Can't you just subtract log(t) from log(epsilon) ? $\endgroup$
    – John Jiang
    Mar 20, 2016 at 15:15

1 Answer 1


Assuming that the model is $$\displaystyle \epsilon = 10^{\beta_1}\,\sigma^{\beta_2}\,t\,e^{\beta_3/T}$$ you can generate estimates of the parameters writing $$\frac \epsilon t=10^{\beta_1}\,\sigma^{\beta_2}\,e^{\beta_3/T}$$ and taking logarithms $$\log(\frac \epsilon t)=\beta_1 \log(10)+\beta_2 \log(\sigma)+\frac {\beta_3}T=\alpha+\beta_2 \log(\sigma)+\frac {\beta_3}T$$ So, defining $z_i=\log(\frac {\epsilon_i} {t_i})$, $x_i=\log(\sigma_i)$, $y_i=\frac 1 {T_i}$, you face a standard linear regression model with two predictors $$z=\alpha+\beta_2x+\beta_3 y$$ which is easily solved (at this preliminary level, may I suggest that you just forget about the weights since you will need to continue).

Once this has been done, you have estimates of the three parameters $\beta_1$, $\beta_2$, $\beta_3$.

But the problem is not finished since what has been measured is $\epsilon$ and not $\log(\frac \epsilon t)$. So, at this point, using the obtained parameters by linearization, you must start a nonlinear regression (including the weights) for the true model.

Remember that what you are supposed to minimize is $$SSQ=\sum_{i=1}^n (\Delta \epsilon_i)^2$$ while the first step makes you minimizing $$SSQ=\sum_{i=1}^n \Big(\Delta \log\big(\frac{\epsilon_i}{t_i}\big)\Big)^2$$ which is not at all the same.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .