TO DO:



Bugs pending

1. save dif with prvalue (pre 2007-03-04)

2. mlogplot does not work with inputed matrices (2007-03-03)

3. trap svy commands

4.

BigClean of SPost code - abaondoned

2006-05-25

Examine links among ado files

See spost_calls-2006-05-25.xls for initial work on this.

List made of all ado files.

To do

1. Make a list of globals and their content.

prvalue – save and diff bug

2006-05-26

Plan for prvalue savedif

Here are the combinations of save and diff we allow:

Case 1: prvalue - just show the current predictions

Case 2: prvalue, save - show the current and save these for later use

Case 3: prvalue, diff - show the current, showed the saved values, compute the difference

Case 4: prvalue, diff save - show the current, show the saved, computed the difference betweeen current and save, save new values.

To do this, we need to store five sets of results (It could be done with 4 but I think it would required some extra work to keep track of what is saved where). But, here is what I think we need to save in order to allow users to grab computed values, save values from prior runs to compare with the current run, and allow both diff and save in the same call of prvalue.

(A) (B) (C) (D) (E)

Latest Latest Archived Archived Archived

current saved current saved diff

-------------------------------------------------------------------------------------------

Case 1 prvalue Create NoChange NoCHange NoCHange NoChange

Case 2 prvalue, save Create Store NoCHange NoCHange NoChange

Case 3 prvalue, diff Create NoChange From (A) From (B) Computed

Case 4 prvalue, diff save Create From (A) From (A) From (B) Computed

The tricky think is with case 4. It starts by using the stored valued in (B) from the last time something was stored by prvalue. Then at the very end, it updates (B) with (A).

2006-05-26

Create x* versions 2006-05-26

xprvalue.ado

x_pecollect.ado

?? Logic for creating matrices

1) If new estimation command != last command, create

2) If outcome changes, create new

2007-03-04 – fixup

I discovered that the save dif fix and other fixes got messed up. Here are some changes:

|xprvalue.ado |x2.0.6 |jsl |6/16/2006 |test with fix to save dif and better collections |

|x_pecollect.ado |x2.0.0 |jsl |6/16/2006 | | |

|xprvalue.ado |x2.0.6b |jsl |6/26/2006 |catval bug for mlogit fixed |

|xprvalue.hlp | |jsl |6/26/2006 |clean up text in prvalue.hlp |

|xprvalue.ado |x2.0.6b | | |bug for regress dif dif |

|_pebase.do |1.6.5 |jsl |2/8/2007 |allows rest(zero) |

|prvalue.ado |2.0.6 |jsl |2/17/2007 |nmsave() and nmcurrent() to label output |

|prvalue.hlp |2.0.6 |jsl |2/17/2007 | | |

|prvalue.ado |2.0.7 |jsl |2/17/2007 |replace nmsave and nmcurrent with label() |

|prvalue.hlp |2.0.7 |jsl |2/17/2007 | | |

|xprvalue207a.ado |2.0.7a |jsl |2/28/2007 |try to frap missing x() with dropx option |

|qprvalue.ado210b |jsl |3/1/2007 |test version including fix for save diff and labels for save diff |

|q_pecollect.ado200b |jsl |3/1/2007 |test version including fix for save diff and labels for save diff |

2006-06-16: begin organizing materials and create a test release.

Problem:

prvalue version 2.0.4

if multiple diffs, it treated prior difs as if they were save. Output was incorrect.

prvalue version 2.0.5

Fixed recording of base values with multiple diffs, but still did not fix using only “saved” values.

26May2006

From: Long, J. Scott

Sent: Friday, May 26, 2006 2:56 PM

To: 'Jeremy Freese'

Subject: RE: spost - saving results, store and diff

Jeremy, Sorry for the out of office reply you just got -- I'm just heading out

of office for a week.

I think I have the solution. It is not too complicated, but I want to test

very carefully.

The problem is that if you save at the end of prvalue, you would have to write

over results you want to keep.

After a prvalue, dif, I think we need to save:

a) The predictions from the current prvalue

b) The predictions from the PRIOR saved predictions

c) The differences.

This is caused by the possibility of prvalue, save dif . The dif uses one set

of saved values, while the save requires us to save a new set. Hence, we need

to keep track of the saved values that are active for the next dif call and

the save values used in the last dif call.

The new logic is:

If diff, compute diff using values saved before.

If save, save the values at the end, not with the results of the last diff.

That makes everything work and essentially only requires a new global for the

saved results at the end. We current have PRVbase which contains the base

values from the last save, but don't have a PRVpred which is the problem.

I'll make the fix, add detailed comments, post as xprvalue and x_pecollect,

and ask you to read the code to see if it makes sense to you. The current

_pecollect.ado has some comments that are incorrect and one duplicate set of

commands that I'll remove.

Sloppy coding on my part. Scott

-----Original Message-----

From: Jeremy Freese [mailto:jfreese@ssc.wisc.edu]

Sent: Friday, May 26, 2006 2:45 PM

To: Long, J. Scott

Subject: RE: spost - saving results, store and diff

Yes. I guess I'm confused about how this ends up being a difficult problem so

long as we don't concern ourselves at all with saving results until the very

end of the program, and code involving dif only figures in prior to the

printing of output (except for returning the matrix of differences, if we do

that). What I couldn't figure out with the code was what _pecollect was doing

in terms of shifting results.

Another way of saying this is that anything involving save should be in the

output and so would seem like it can wait to be put in whatever permanent

matrix stores results until after the output is printed, and anything

involving dif are computation needed for the printing out the output, and so

could precede it.

--Jeremy

> -----Original Message-----

> From: Long, J. Scott [mailto:jslong@indiana.edu]

> Sent: Friday, May 26, 2006 10:52 AM

> To: Jeremy Freese

> Subject: FW: spost - saving results, store and diff

>

>

> Jeremy, I've got some time to work on this today, so I'm going to

> explore more thoroughly how it might work. Let me know if you have

> ideas. Scott

>

> -----Original Message-----

> From: Long, J. Scott

> Sent: Thursday, May 25, 2006 10:30 AM

> To: 'Jeremy Freese'

> Subject: spost - saving results, store and diff

>

> Jeremy, Deep down, I think the problem is that we set up options that

> exceeded the capability of what we saved.

>

> Here are the combinations of save and diff we allow:

>

> Case 1: prvalue - just show the current predictions

> Case 2: prvalue, save - show the current and save these

> for later

> use

> Case 3: prvalue, diff - show the current, showed the

> saved values,

> compute the difference

> Case 4: prvalue, diff save - show the current, show the saved,

> computed the difference betweeen current and save, save new values.

>

> To do this, we need to store five sets of results (It could be done

> with

> 4 but I think it would required some extra work to keep track of what

> is saved where). But, here is what I think we need to save in order to

> allow users to grab computed values, save values from prior runs to

> compare with the current run, and allow both diff and save in the same

> call of prvalue.

>

> (A) (B) (C) (D)

> (E)

> Latest Latest Archived

> Archived Archived

> current saved current

> saved

> diff

> --------------------------------------------------------------

> ----------

> -------------------

> Case 1 prvalue Create NoChange NoCHange

> NoCHange NoChange

> Case 2 prvalue, save Create Store NoCHange

> NoCHange NoChange

> Case 3 prvalue, diff Create NoChange From (A) From

> (B) Computed

> Case 4 prvalue, diff save Create From (A) From (A) From

> (B) Computed

>

> The tricky think is with case 4. It starts by using the stored valued

> in

> (B) from the last time something was stored by prvalue. Then at the

> very end, it updates (B) with (A).

>

> Does this make sense to you? I talked it through with a grad student

> and this ended up as the best we came up with.

>

> What I propose to do is build NEW matrices that allow five sets of

> results to be saved. Then, update the code to use these new matrices

> and this logic.

> Scott

Restructing how things are collected

27May2006 - revise how results are saved

Work on rewriting

prvalue.ado

_pecollect.ado

16Jun2006 - get beta ready to test

Version for Tait to test:

x_pecollect: version X2.0.0 27May2006 jsl

xprvalue: version X2.0.6 16Jun2006 jsl

Moved into spost9_ado.

Next: have Tait bang on it a bit.

2007-03-01 – yikes! it wasn’t made official

2.0.5

last prvalue before fix above

fixed save dif

But was not officially posted

*! version X2.0.6c - regress problem 2006-06-26

* version X2.0.6b - fix catvals problem for mlogit 2006-06-26 jsl

* version X2.0.6 - prvalue savedif code change 16Jun2006 jsl

* 16Jun2006 - 2.0.6 added to spost9_ado

* 2.0.6 Saves full information with -save-; cleans up code.

* See x_pecollect version X2.0.0 16Jun2006

2.0.6

2/17/2007 nmsave() and nmcurrent() to label output; but did not include fix for save diff

2.0.7

2/17/2007 replace nmsave and nmcurrent with label(); did not include fix for save dif

x2.0.7a

xprvalue207a.ado excludes x(dog=0) if dog does not exist. does not include save diff.

2007-03-01 – need to merge these together.

1) Create qprvalue.ado from

*! version X2.0.6c - regress problem 2006-06-26

* version X2.0.6b - fix catvals problem for mlogit 2006-06-26 jsl

* version X2.0.6 - prvalue savedif code change 16Jun2006 jsl

* 16Jun2006 - 2.0.6 added to spost9_ado

* 2.0.6 Saves full information with -save-; cleans up code.

* See x_pecollect version X2.0.0 16Jun2006

2) create q_pecollect from x_pecollect.ado

*! version X2.0.0b 26Jun2006 jsl

* 16Jun2006 - 2.0.0 added to spost9_ado

* see version X2.0.6 prvalue 16Jun2006 jsl

qprvalue : 2.1.0a – fix save diff and include label()

Note: this uses x_pecollect.ado

2007-03-04 : _pecollect.ado and prvalue

c:\stata9\plus\_\_pecollect.ado

*! version 1.0.0 15Apr2005 fix rate used for zip/zinb

c:\stata9\plus\p\prvalue.ado

*! prvalue version 2.0.7 2007-02-17 add label instead

Where is _pecollect.ado used?

_peciboot.ado

*! version 0.2.1 13Apr2005

// bootstrap for prvalue

prvalue.ado

Test x_pecollect vs _pecollect.ado

test_pecollect_2007-03-04.do

test_x_pecollect_2007-03-04.do

Results match.

See also: \2007-03-03_prvalue210_test\ which runs the entire spost9_do suite. They match with qprvalue or prvalue

2007-03-04 – posted new prvalue and _pecollect

retire:

prvalue 2.0.7 2007-02-17 add label instead

_pecollect 1.0.0 15Apr2005 fix rate used for zip/zinb

replace with:

prvalue 2.1.0

_pecollect 2.0.0

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download