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 '16 at 15:15

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.