Dear Statalist,
I'm trying to calculate price elasticity of the 8-goods demand system (NLAIDS)
I've used nlsur to come up with the parameters, and now using nlcom to find elasticity.
pls refer to my comments below with the codes below
After getting results from nlsur ,
I've defined a1~a8, b1~b8, g11~g88 using nlcom below. (This worked just fine)
nlcom (a1:_b[/a1])(a2:_b[/a2])(a3:_b[/a3])(a4:_b[/a4])(a5:_b[/a5])(a6:_b[/a4])(a7:_b[/a5])(a8:1-_b[/a6]-_b[/a7]-_b[/a1]-_b[/a2]-_b[/a3]-_b[/a4]-_b[/a5])
(b1:_b[/b1])(b2:_b[/b2])(b3:_b[/b3])(b4:_b[/b4])(b5:_b[/b5])(b6:_b[/b6])(b7:_b[/b7])(b8:-_b[/b1]-_b[/b2]-_b[/b3]-_b[/b4]-_b[/b5]-_b[/b6]-_b[/b7])
(g11:_b[/g11])(g12:_b[/g12])(g13:_b[/g13])(g14:_b[/g14])(g15:_b[/g15]) (g16:_b[/g16])(g17:_b[/g17])
(g21:_b[/g12])(g22:_b[/g22])(g23:_b[/g23])(g24:_b[/g24])(g25:_b[/g25]) (g26:_b[/g26])(g27:_b[/g27])
(g31:_b[/g13])(g32:_b[/g23])(g33:_b[/g33])(g34:_b[/g34])(g35:_b[/g35]) (g36:_b[/g36])(g37:_b[/g37])
(g41:_b[/g14])(g42:_b[/g24])(g43:_b[/g34])(g44:_b[/g44])(g45:_b[/g45]) (g46:_b[/g46])(g47:_b[/g47])
(g51:_b[/g15])(g52:_b[/g25])(g53:_b[/g35])(g54:_b[/g45])(g55:_b[/g55]) (g56:_b[/g56])(g57:_b[/g57])
(g61:_b[/g16])(g62:_b[/g26])(g63:_b[/g36])(g64:_b[/g46])(g65:_b[/g56]) (g66:_b[/g66])(g67:_b[/g67])
(g71:_b[/g17])(g72:_b[/g27])(g73:_b[/g37])(g74:_b[/g47])(g75:_b[/g57]) (g76:_b[/g67])(g77:_b[/g77])
(g18:-_b[/g11]-_b[/g12]-_b[/g13]-_b[/g14]-_b[/g15]-_b[/g16]-_b[/g17])
(g28:-_b[/g12]-_b[/g22]-_b[/g23]-_b[/g24]-_b[/g25]-_b[/g26]-_b[/g27])
(g38:-_b[/g13]-_b[/g23]-_b[/g33]-_b[/g34]-_b[/g35]_b[/g36]-_b[/g37])
(g48:-_b[/g14]-_b[/g24]-_b[/g34]-_b[/g44]-_b[/g45]_b[/g46]-_b[/g47])
(g58:-_b[/g15]-_b[/g25]-_b[/g35]-_b[/g45]-_b[/g55]_b[/g56]-_b[/g57])
(g68:-_b[/g16]-_b[/g26]-_b[/g36]-_b[/g46]-_b[/g56]_b[/g66]-_b[/g67])
(g78:-_b[/g17]-_b[/g27]-_b[/g37]-_b[/g47]-_b[/g57]_b[/g67]-_b[/g77])
(g81:-_b[/g11]-_b[/g12]-_b[/g13]-_b[/g14]-_b[/g15]-_b[/g16]-_b[/g17])
(g82:-_b[/g12]-_b[/g22]-_b[/g23]-_b[/g24]-_b[/g25]-_b[/g26]-_b[/g27])
(g83:-_b[/g13]-_b[/g23]-_b[/g33]-_b[/g34]-_b[/g35]_b[/g36]-_b[/g37])
(g84:-_b[/g14]-_b[/g24]-_b[/g34]-_b[/g44]-_b[/g45]_b[/g46]-_b[/g47])
(g85:-_b[/g15]-_b[/g25]-_b[/g35]-_b[/g45]-_b[/g55]_b[/g56]-_b[/g57])
(g86:-_b[/g16]-_b[/g26]-_b[/g36]-_b[/g46]-_b[/g56]_b[/g66]-_b[/g67])
(g87:-_b[/g17]-_b[/g27]-_b[/g37]-_b[/g47]-_b[/g57]_b[/g67]-_b[/g77])
(g88: (-_b[/g11]-_b[/g12]-_b[/g13]-_b[/g14]-_b[/g15]-_b[/g16]-_b[/g17])- ///
(-_b[/g12]-_b[/g22]-_b[/g23]-_b[/g24]-_b[/g25]-_b[/g26]-_b[/g27]) ///
-(-_b[/g13]-_b[/g23]-_b[/g33]-_b[/g34]-_b[/g35]_b[/g36]-_b[/g37]) ///
-(-_b[/g14]-_b[/g24]-_b[/g34]-_b[/g44]-_b[/g45]_b[/g46]-_b[/g47]) ///
-(-_b[/g15]-_b[/g25]-_b[/g35]-_b[/g45]-_b[/g55]_b[/g56]-_b[/g57]) ///
-(-_b[/g16]-_b[/g26]-_b[/g36]-_b[/g46]-_b[/g56]_b[/g66]-_b[/g67]) ///
-(-_b[/g17]-_b[/g27]-_b[/g37]-_b[/g47]-_b[/g57]_b[/g67]-_b[/g77]))
, post noheader
est save nlaids
Then, I used below to comeup with average values of w, lnp and lnm. This also worked fine
foreach x of varlist w* lnp* lnm {
sum `x'
scalar `x'mean=r(mean)
}
Lastly, I've used below to come up with the elasiticites as below with following cmds

forv i=1(1)8 {
forv j=1(1)8 {
nlcom (mu`i'`j': (_b[g`i'`j'] - _b[b`j']*(_b[a`j']+_b[g`j'1]*lnp1mean+_b[g`j'2]*lnp2mean+_b[g`j'3]*lnp3mean+_b[g`j'4]*lnp4mean
+_b[g`j'5]*lnp5mean+_b[g`j'6]*lnp6mean+_b[g`j'7]*lnp7mean+_b[g`j'8]*lnp8mean))/w`i'mean), post noheader
}
}
--> Through this cmd, I was able to get mu11. However, after that ,
I've got error message as
r(111); [g12] not found
Can anyone help me out on this issue?
Thank you.
I'm trying to calculate price elasticity of the 8-goods demand system (NLAIDS)
I've used nlsur to come up with the parameters, and now using nlcom to find elasticity.
pls refer to my comments below with the codes below
After getting results from nlsur ,
I've defined a1~a8, b1~b8, g11~g88 using nlcom below. (This worked just fine)
nlcom (a1:_b[/a1])(a2:_b[/a2])(a3:_b[/a3])(a4:_b[/a4])(a5:_b[/a5])(a6:_b[/a4])(a7:_b[/a5])(a8:1-_b[/a6]-_b[/a7]-_b[/a1]-_b[/a2]-_b[/a3]-_b[/a4]-_b[/a5])
(b1:_b[/b1])(b2:_b[/b2])(b3:_b[/b3])(b4:_b[/b4])(b5:_b[/b5])(b6:_b[/b6])(b7:_b[/b7])(b8:-_b[/b1]-_b[/b2]-_b[/b3]-_b[/b4]-_b[/b5]-_b[/b6]-_b[/b7])
(g11:_b[/g11])(g12:_b[/g12])(g13:_b[/g13])(g14:_b[/g14])(g15:_b[/g15]) (g16:_b[/g16])(g17:_b[/g17])
(g21:_b[/g12])(g22:_b[/g22])(g23:_b[/g23])(g24:_b[/g24])(g25:_b[/g25]) (g26:_b[/g26])(g27:_b[/g27])
(g31:_b[/g13])(g32:_b[/g23])(g33:_b[/g33])(g34:_b[/g34])(g35:_b[/g35]) (g36:_b[/g36])(g37:_b[/g37])
(g41:_b[/g14])(g42:_b[/g24])(g43:_b[/g34])(g44:_b[/g44])(g45:_b[/g45]) (g46:_b[/g46])(g47:_b[/g47])
(g51:_b[/g15])(g52:_b[/g25])(g53:_b[/g35])(g54:_b[/g45])(g55:_b[/g55]) (g56:_b[/g56])(g57:_b[/g57])
(g61:_b[/g16])(g62:_b[/g26])(g63:_b[/g36])(g64:_b[/g46])(g65:_b[/g56]) (g66:_b[/g66])(g67:_b[/g67])
(g71:_b[/g17])(g72:_b[/g27])(g73:_b[/g37])(g74:_b[/g47])(g75:_b[/g57]) (g76:_b[/g67])(g77:_b[/g77])
(g18:-_b[/g11]-_b[/g12]-_b[/g13]-_b[/g14]-_b[/g15]-_b[/g16]-_b[/g17])
(g28:-_b[/g12]-_b[/g22]-_b[/g23]-_b[/g24]-_b[/g25]-_b[/g26]-_b[/g27])
(g38:-_b[/g13]-_b[/g23]-_b[/g33]-_b[/g34]-_b[/g35]_b[/g36]-_b[/g37])
(g48:-_b[/g14]-_b[/g24]-_b[/g34]-_b[/g44]-_b[/g45]_b[/g46]-_b[/g47])
(g58:-_b[/g15]-_b[/g25]-_b[/g35]-_b[/g45]-_b[/g55]_b[/g56]-_b[/g57])
(g68:-_b[/g16]-_b[/g26]-_b[/g36]-_b[/g46]-_b[/g56]_b[/g66]-_b[/g67])
(g78:-_b[/g17]-_b[/g27]-_b[/g37]-_b[/g47]-_b[/g57]_b[/g67]-_b[/g77])
(g81:-_b[/g11]-_b[/g12]-_b[/g13]-_b[/g14]-_b[/g15]-_b[/g16]-_b[/g17])
(g82:-_b[/g12]-_b[/g22]-_b[/g23]-_b[/g24]-_b[/g25]-_b[/g26]-_b[/g27])
(g83:-_b[/g13]-_b[/g23]-_b[/g33]-_b[/g34]-_b[/g35]_b[/g36]-_b[/g37])
(g84:-_b[/g14]-_b[/g24]-_b[/g34]-_b[/g44]-_b[/g45]_b[/g46]-_b[/g47])
(g85:-_b[/g15]-_b[/g25]-_b[/g35]-_b[/g45]-_b[/g55]_b[/g56]-_b[/g57])
(g86:-_b[/g16]-_b[/g26]-_b[/g36]-_b[/g46]-_b[/g56]_b[/g66]-_b[/g67])
(g87:-_b[/g17]-_b[/g27]-_b[/g37]-_b[/g47]-_b[/g57]_b[/g67]-_b[/g77])
(g88: (-_b[/g11]-_b[/g12]-_b[/g13]-_b[/g14]-_b[/g15]-_b[/g16]-_b[/g17])- ///
(-_b[/g12]-_b[/g22]-_b[/g23]-_b[/g24]-_b[/g25]-_b[/g26]-_b[/g27]) ///
-(-_b[/g13]-_b[/g23]-_b[/g33]-_b[/g34]-_b[/g35]_b[/g36]-_b[/g37]) ///
-(-_b[/g14]-_b[/g24]-_b[/g34]-_b[/g44]-_b[/g45]_b[/g46]-_b[/g47]) ///
-(-_b[/g15]-_b[/g25]-_b[/g35]-_b[/g45]-_b[/g55]_b[/g56]-_b[/g57]) ///
-(-_b[/g16]-_b[/g26]-_b[/g36]-_b[/g46]-_b[/g56]_b[/g66]-_b[/g67]) ///
-(-_b[/g17]-_b[/g27]-_b[/g37]-_b[/g47]-_b[/g57]_b[/g67]-_b[/g77]))
, post noheader
est save nlaids
Then, I used below to comeup with average values of w, lnp and lnm. This also worked fine
foreach x of varlist w* lnp* lnm {
sum `x'
scalar `x'mean=r(mean)
}
Lastly, I've used below to come up with the elasiticites as below with following cmds
forv i=1(1)8 {
forv j=1(1)8 {
nlcom (mu`i'`j': (_b[g`i'`j'] - _b[b`j']*(_b[a`j']+_b[g`j'1]*lnp1mean+_b[g`j'2]*lnp2mean+_b[g`j'3]*lnp3mean+_b[g`j'4]*lnp4mean
+_b[g`j'5]*lnp5mean+_b[g`j'6]*lnp6mean+_b[g`j'7]*lnp7mean+_b[g`j'8]*lnp8mean))/w`i'mean), post noheader
}
}
--> Through this cmd, I was able to get mu11. However, after that ,
I've got error message as
r(111); [g12] not found
Can anyone help me out on this issue?
Thank you.