stan-dev / example-models

Example models for Stan
http://mc-stan.org/
772 stars 479 forks source link

`stan_demo` example 500 not working #144

Open caimiao0714 opened 5 years ago

caimiao0714 commented 5 years ago

Hi Ben,

I tried the 500th example of stan_demo, but it seems not to be working. I ran the code from RStudio cloud. Here are my codes:

library(RStan)
stan_demo()
500

Here are the console log:

> K <- 8

> D <- 4

> N <- 500

> y <- 
>+ structure(c(1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0,
>+ 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0,  .... [TRUNCATED] 

> x <- 
+ structure(c(-0.56947710721168, 0.0686981186395276, 0.807151998639757,
+ 0.311832939914023, 0.670993954113173, -0.914759441112067, -0.1375718 .... [TRUNCATED] 

SAMPLING FOR MODEL 'probit-multi-good' NOW (CHAIN 1).
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.
Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: Phi: x is nan, but must not be nan!  (in 'model4f66680104f2_probit_multi_good' at line 26)

Rejecting initial value:
  Log probability evaluates to log(0), i.e. negative infinity.
  Stan can't start sampling from this initial value.

Initialization between (-2, 2) failed after 100 attempts. 
 Try specifying initial values, reducing ranges of constrained values, or reparameterizing the model.
[1] "Error in sampler$call_sampler(args_list[[i]]) : Initialization failed."
error occurred during calling the sampler; sampling not done
bob-carpenter commented 5 years ago

Thanks. The set of examples was just scraped and many of them don't work. In my opinion, it should be edited down to a small set of working examples. The decision's up to @bgoodri.

bob-carpenter commented 5 years ago

Also, this is partly an RStan issue for just scraping this repo and partly this repo's fault for not having consistent working examples. So there are two ways to fix it---either by pruning example-models or by cleaning up RStan. Cleaning the example-models repo is probably best.

bgoodri commented 5 years ago

I agree that cleaning up the example-models repo would be best.

On Fri, Nov 30, 2018 at 3:30 PM Bob Carpenter notifications@github.com wrote:

Also, this is partly an RStan issue for just scraping this repo and partly this repo's fault for not having consistent working examples. So there are two ways to fix it---either by pruning example-models or by cleaning up RStan. Cleaning the example-models repo is probably best.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/stan-dev/example-models/issues/144#issuecomment-443330201, or mute the thread https://github.com/notifications/unsubscribe-auth/ADOrqkDvwGuv_KNaiRAMOFhNz80dMu08ks5u0ZVdgaJpZM4Y8IaO .

bgoodri commented 5 years ago

In this case, I think it is fine if you specify init_r = 1 or thereabouts. But we don't have a way of knowing that in stan_demo. I guess the example-models repo could optionally specify initial values.