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]
Re: st: Input data from keyboard combined with Monte Carlo
From 
 
John Antonakis <[email protected]> 
To 
 
[email protected] 
Subject 
 
Re: st: Input data from keyboard combined with Monte Carlo 
Date 
 
Thu, 20 Jun 2013 12:22:03 +0200 
Thanks for this Joseph. Very useful.
Best,
J.
__________________________________________
John Antonakis
Professor of Organizational Behavior
Director, Ph.D. Program in Management
Faculty of Business and Economics
University of Lausanne
Internef #618
CH-1015 Lausanne-Dorigny
Switzerland
Tel ++41 (0)21 692-3438
Fax ++41 (0)21 692-3305
http://www.hec.unil.ch/people/jantonakis
Associate Editor
The Leadership Quarterly
__________________________________________
On 20.06.2013 04:24, Joseph Coveney wrote:
> John Antonakis wrote:
>
> Thanks for the idea. Thread closed--hope this solutions helps others
> (actually I did not look at your paper yet, Nick, but I will).
>
> So, I basically used mkmat to save the data to a matrix, then I
> retrieved the data with svmat and it works, like this:
>
> 
--------------------------------------------------------------------------------
>
> As Nick mentioned, the simulator program takes a file name as an 
argument.
> Forming a Stata matrix is fine, but it's unnecessary to go through 
the extra
> steps if you're saving the file, anyway--you can just have your simulator
> program -use- the file, itself.   (And if you're not concerned about
> flexibility, then you can fix the file name just as you fixed the 
Stata matrix
> name and then omit the file-name option from the simulator program.)
>
> I illustrate the two approaches below using the flexible approach and 
temporary
> matrix names and files.  That the run times were essentially the same 
surprised
> me a little.  With small enough datasets, the file isn't actually 
read from disc
> each time, but rather from a memory cache, just like the Stata matrix.
> Nevertheless, I expected that the Stata matrix approach would be 
substantially
> faster, because it is cached in memory closer to the core, or at 
least so I
> believe.  But the file approach that I suggested is just as fast, 
even a tad
> faster, as seen consistently in repeated runs' timing results.
>
> Joseph Coveney
>
> . do "F:\comparem.do"
>
> . *! comparem.do
> .
> . version 12.1
>
> .
> . clear *
>
> . set more off
>
> . set seed `=date("2013-06-20", "YMD")'
>
> .
> . quietly set obs 111
>
> . generate double y = runiform()
>
> . tempfile tmpfil0
>
> . quietly save `tmpfil0'
>
> .
> . tempname Y
>
> . mkmat y, matrix(`Y')
>
> .
> . program define regressem
>   1.     version 12.1
>   2.     syntax
>   3.
> .     foreach var of newlist x1-x17 {
>   4.         generate double `var' = rnormal()
>   5.     }
>   6.
> .     regress y x*
>   7. end
>
> .
> . program define usem
>   1.     version 12.1
>   2.     syntax , file(string)
>   3.
> .     drop _all
>   4.     use `file'
>   5.
> .     regressem
>   6. end
>
> .
> . program define svmatem
>   1.     version 12.1
>   2.     syntax , MATrix(name)
>   3.
> .     drop _all
>   4.     svmat `matrix', names(y)
>   5.
> .     regressem
>   6. end
>
> .
> . forvalues i = 1/3 {
>   2.     timer clear
>   3.
> .     timer on 1
>   4.     quietly simulate e(r2) e(F), reps(5000) seed(123): usem ,
> file(`tmpfil0')
>   5.     timer off 1
>   6.
> .     timer on 2
>   7.     quietly simulate e(r2) e(F), reps(5000) seed(123): svmatem , 
mat(`Y')
>   8.     timer off 2
>   9.
> .     timer list
>  10. }
>    1:     24.83 /        1 =      24.8300
>    2:     25.03 /        1 =      25.0320
>    1:     24.72 /        1 =      24.7200
>    2:     25.00 /        1 =      25.0010
>    1:     24.72 /        1 =      24.7200
>    2:     25.00 /        1 =      25.0020
>
> .
> . exit
>
> end of do-file
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/statalist-faq/
> *   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/