It is after exhausting all options I’m posting here. Basically, I have data from a spacetime grid (x,y,t), with 1 denoting an event and 0 denoting the absence of an event.
def model(grid_dims, obs=None): # priors = pyro.sample("priors", dist.Beta(torch.ones(grid_shape), torch.ones(grid_shape)).to_event(len(grid_shape))) bernoulli_priors = pyro.sample( "bernoulli_priors", dist.Beta( torch.ones(grid_dims), torch.ones(grid_dims), ).to_event( len(grid_dims) ), # Not even sure what to event does ) pyro.sample( "grid", dist.Bernoulli(bernoulli_priors).to_event(len(grid_dims)), obs=obs )
This is roughly the model I use and with SVI it seems to work well. However, because there is a sequential aspect to this data I wanted to use SMCFilter to do an even better job. Unfortunately, I only ended up fighting with the dimension sizes and whatnot and seems like nothing I tried worked.
For starters, I don’t get why SMC even needs a guide model. Any help is appreciated.