From: MAY Chew on
I would like to conduct the following three-stage least squares:

(eq.1) lnY= a0 + a1*lnX + a2* lnB
(eq.2) lnX = b0 + b1*lnY + b2* lnC

I need to put a restriction on coefficients as:

a1>b1

I would like to seek advice on how to code it using MATLAB.

Thanks in advance.
From: John D'Errico on
"MAY Chew" <fukumoto_may(a)yahoo.co.jp> wrote in message <i2e1d8$mci$1(a)fred.mathworks.com>...
> I would like to conduct the following three-stage least squares:
>
> (eq.1) lnY= a0 + a1*lnX + a2* lnB
> (eq.2) lnX = b0 + b1*lnY + b2* lnC
>
> I need to put a restriction on coefficients as:
>
> a1>b1
>
> I would like to seek advice on how to code it using MATLAB.
>
> Thanks in advance.

Why is it 3 stage?

It IS an errors in variables problem, so any form of
linear/nonlinear least squares may not do that well
anyway.

And why do you claim the constraint is nonlinear?
The constraint that you show

a1 > b1

is very linear to me.

John
From: Matt J on
"MAY Chew" <fukumoto_may(a)yahoo.co.jp> wrote in message <i2e1d8$mci$1(a)fred.mathworks.com>...
> I would like to conduct the following three-stage least squares:
>
> (eq.1) lnY= a0 + a1*lnX + a2* lnB
> (eq.2) lnX = b0 + b1*lnY + b2* lnC
>
> I need to put a restriction on coefficients as:
>
> a1>b1
=========

Do you really mean a1>b1 or do you mean a1>=b1? If you really do want strict inequality, you can eliminate the constraint by reformulating eq.2 as follows

lnX = b0 + (a1+exp(c))*lnY + b2* lnC


where b1=a1+exp(c).

Assuming a solution to this exists with bounded c, you might use the following FEX tool to solve,

http://www.mathworks.com/matlabcentral/fileexchange/10093-fminspleas