|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: nl command with restriction
Use this and only expect to estimate a and b:
program define nlces12
version 8.0
if "`1'" == "?" {
global S_1 "a b"
global a=.15
global b=.4
global S_2 "Cobb-Douglas with additive error"
exit
}
local A=exp($a)/(1+exp($a) +exp($b))
local B=exp($b)/(1+exp($a) +exp($b))
local C=1/(1+exp($a) +exp($b))
replace `1' = `A'*((k^`B')*(l^`C')*(n^(1-`B'-`C')))
end
a and b are logits and will range from - to + infinity.
Then use nlcom to get back the estimates of A, B, C:
nlcom (A: exp(_b[a])/(1+exp(_b[a]) +exp(_b[b]))) (B:
exp(_b[b])/(1+exp(_b[a]) +exp(_b[b]))) (C: 1/(1+exp(_b[a]) +exp(_b[b])))
Paul
Rodolfo Coelho Prates wrote:
Thanks Paul and Nick!
I tried implement yours sugestions, but I think my comprehention is not
correct.
I estimeted the Cobb-Doulas with three variables, like this:
program define nlces12
version 8.0
if "`1'" == "?" {
global S_1 "a b c"
global a=.15
global b=.4
global c=.3
global S_2 "Cobb-Douglas with additive error"
exit
}
replace `1' = $a*((k^$b)*(l^$c)*(n^(1-$b-$c)))
end
This routine works well, but has that problem.
If I understood, the suggestion is:
replace `1' =
$a*((k^(exp($b)/(1+exp($b)+exp($c))))*(l^(exp($c)/(1+exp($b)+exp($c))))*(n^(1/(1+exp($b)+exp($c)))))
Thise are the estimations with brute force:
Source | SS df MS Number of obs = 123
-------------+------------------------------ F( 2, 121) =
102.83
Model | 8.2419e+09 2 4.1209e+09 Prob > F =
0.0000
Residual | 4.8489e+09 121 40073949.1 R-squared =
0.6296
-------------+------------------------------ Adj R-squared =
0.6235
Total | 1.3091e+10 123 106429266 Root MSE =
6330.399
Res. dev. =
2500.31
Cobb Douglas with aditive error
---------------------------------------------------------------------------
y | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+-------------------------------------------------------------
a | 2.594492 .3699407 7.01 0.000 1.862096 3.326887
b | 17.12698 .3519304 48.67 0.000 16.43025 17.82372
c | 16.97066 . . . . .
------------------------------------------------------------------------------
Works well, but the sum of coeficients are larger than one, but not
negatives. Do I need realize a transformation? Or did I made something
wrong?
Best Regards,
Rodolfo
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
--
E. Paul Wileyto, Ph.D.
Assistant Professor of Biostatistics
Tobacco Use Research Center
School of Medicine, U. of Pennsylvania
3535 Market Street, Suite 4100
Philadelphia, PA 19104-3309
215-746-7147
Fax: 215-746-7140
[email protected]
http://mail.med.upenn.edu/~epw/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/