sibonli / blue-beast

Automatically exported from code.google.com/p/blue-beast
3 stars 1 forks source link

default progress for Raftery and Geweke = 0.0 bug #20

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago

so that the nextCheckChainLength isn't infinity (chainlength / 0 )

If raftery needs more samples, set progress = NaN
Geweke not converged, set progress to NaN as well. 

Original issue reported on code.google.com by Sibon...@gmail.com on 17 Nov 2012 at 12:38

GoogleCodeExporter commented 9 years ago
In those cases we should set the progress for Raftery to NaN instead of 50%, 
and then wait till we have enough samples before we checked. Sound good?

Original comment by Sibon...@gmail.com on 20 Nov 2012 at 12:51

GoogleCodeExporter commented 9 years ago
todo: 
(1) calculateNextCheckingInterval() handles NaN values appropriately (looks at 
lastObservableProgress and also whether this was caused by Raftery (if raftery 
is used then next check is whenever it has enough samples). else if Geweke (+1 
to current state))
(2) raftery and geweke produce NaN values for progress when cannot be calculated

Original comment by Sibon...@gmail.com on 27 Nov 2012 at 2:07

GoogleCodeExporter commented 9 years ago
Have to pass more information to calculateNextCheckingInterval() including the 
statistics used. 

Original comment by Sibon...@gmail.com on 27 Nov 2012 at 2:12

GoogleCodeExporter commented 9 years ago
wasn't quite clear to me when to use NaN? and when to use 50% (maybe 20/25%?)

for geweke, you mean +1 sample, like 1000 iterations, right? (assuming you 
sample every 1,000 iterations)
actually, can we make that 10 samples (10,000 iterations). Because the default 
value is first 10% and last 50%. You need at least 10 samples to change the 
first 10%.

Original comment by steven...@gmail.com on 27 Nov 2012 at 5:23

GoogleCodeExporter commented 9 years ago

Original comment by steven...@gmail.com on 27 Nov 2012 at 5:36

GoogleCodeExporter commented 9 years ago
I'm actually working these ones (issues 19-21). i dont think we should ever use 
an arbitrary number like 50%, it makes no sense to. 

Instead, my current scheme is to try calculate progress, when geweke progress 
is NaN then we print the last progress value that was non-NaN (variable name is 
lastObservableProgress). 

Good point about Geweke, I would've probably messed that up if you didn't 
mention it. 

Original comment by Sibon...@gmail.com on 27 Nov 2012 at 5:37

GoogleCodeExporter commented 9 years ago
I like the lastProgress idea... lets do that

Original comment by steven...@gmail.com on 27 Nov 2012 at 5:39

GoogleCodeExporter commented 9 years ago
Already done! 

Also, for Raftery, the first check() is only going to be performed when there 
are enough samples (a warning will be shown that says it may take a while to 
get a first estimate because you are using Raftery)

Original comment by Sibon...@gmail.com on 27 Nov 2012 at 5:42

GoogleCodeExporter commented 9 years ago
make sense!

I finally figure out how to get notificaiton through email lol

Original comment by steven...@gmail.com on 27 Nov 2012 at 5:44

GoogleCodeExporter commented 9 years ago
Need your help with calculateProgress in Raftery statistic. I'm trying to 
figure out when to throw an NaN value for progress. Should we throw progress = 
NaN if: 

(1) one variable has a NaN value for stat
(2) one variable has a NaN value for progress
(3) all variables have a NaN value for stat
(4) all variables have a NaN value for progress
(5) Other? 

For Geweke, it should be thrown when GLM doesn't converge right? 

Original comment by Sibon...@gmail.com on 28 Nov 2012 at 12:24

GoogleCodeExporter commented 9 years ago
Ok turns out I have no idea when to throw progress = NaN for Geweke either... 
Need your help! 

Original comment by Sibon...@gmail.com on 28 Nov 2012 at 1:05