Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: problem of byable


From   Nick Cox <[email protected]>
To   "'[email protected]'" <[email protected]>
Subject   st: RE: problem of byable
Date   Wed, 23 Nov 2011 18:16:32 +0000

This is not a complete program, and its syntax has been omitted. 

I could speculate on what you are doing wrong, but it is surely better that you give all the code if you want good specific comments. 

Nick 
[email protected] 

econqian222

     I encountered a problem in writing the code(grid-searching to obtain
value of sigma) for each value of hs to get the corresponding value of
sigma.  I made the code "byable" to run for each value of hs. However, once
the program runs, and a sigma was obtained for its corresponding value of
hs, all the values of sigma are given for the same value. Could anyone help
me to check this problem?

Many thanks in advance,
Qian

      The dataset goes like the following:
  
hs	y	x1hat	x2hat	sigma	
10290	736	283.731	141		
10420	826	10.615	1.375		
10511	276	78	2.687		
10511	528	196.735	3.278	
10511	818	148.753	11.0796		
10511	251	4.861	.718		
10519	276	6.189	.718	
10519	276	9.396	.621	
10519	404	7.355	.636	
10591	682	10.8318	.812	
10591	528	9.09482	.636	
10591	276	8.49024	.417	


The grid-searching code is listed as following: 
if sigma1 < 1 | sigma1 == . {
local sigma1_hat = .
local rho1_hat = .
}
local SigmaMin = 1.05
local SigmaMax = 131.05
local SigmaJump = 1.0
local J1 = (`SigmaMax' - `SigmaMin')/`SigmaJump' + 2
local J2 = 32 

sort product t
mat uHat = J(`J1',`J2',.)
local row = 2

foreach s of numlist `SigmaMin'(`SigmaJump')`SigmaMax'{  
mat uHat[`row',1] = `s'
local col = 2
local RhoMax = (`s'-1)/`s'
local RhoJump = `RhoMax' / (`J2' - 2)
foreach r of numlist 0(`RhoJump')`RhoMax'{
mat uHat[1,`col'] = `r'
qui gen uTemp = y -((`r') / ((((`s')-1)^2) * (1-(`r')))) * x1hat-((2*(`r')
-1) / (((`s')-1) * (1-(`r')))) * x2hat
qui  gen sTemp = uTemp*uTemp*(1/period)
qui summ sTemp, d
mat uHat[`row',`col'] = r(sum)
drop uTemp sTemp 
local col = `col' + 1
}
local row = `row' + 1
}
local MinU = uHat[2,2]
local rho_hat = uHat[1,2]
local sigma_hat = uHat[2,1]
local row = 2

foreach s of numlist `SigmaMin'(`SigmaJump')`SigmaMax'{ 
 local col = 2

foreach r of numlist 0(`RhoJump')`RhoMax'{
if `MinU' > uHat[`row',`col'] {
local MinU = uHat[`row',`col']
local rho_grid_hat = uHat[1,`col']
local sigma_grid_hat = uHat[`row',1]
}
local col = `col' + 1
}
local row = `row' + 1
}
foreach var in sigma rho {
capture replace `var'1 = ``var'_grid_hat' 
local `var'1_hat = ``var'_grid_hat' 
}


*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index