In [2]:
%load_ext autoreload
%autoreload 2
import nestedSMCmodular as nsmc
import helpfunctions as hlp
from IPython.display import clear_output
import numpy as np

In [ ]:
tStart = 1950
tEnd = 2000
Np = 100
N = 40
M = 20
X = np.zeros((Np,24,44))
logZ = np.zeros(Np)
region = 'sahel'
xC = np.zeros((24,44),dtype=bool)

q = []
for i in range(Np):
    q.append(nsmc.nestedSMC(t=tStart,N=N,M=M,xCond=xC))
    logZ[i] = q[i].logZ
maxLZ = np.max(logZ)
w = np.exp(logZ-maxLZ)
w /= np.sum(w)
ESS = 1/np.sum(w**2)
ancestors = hlp.resampling(w)
for i in range(Np):
    X[i,:,:] = q[ancestors[i]].simulate()
    
np.savetxt('results/Np'+str(Np)+'_M'+str(N)+'_M'+str(M)+'_t'+str(tStart)+region+'.csv',np.mean(X,axis=0),delimiter=',')

for t in np.arange(1,tEnd-tStart+1):
    print 't: ',tStart+t, ' ESS: ', ESS
    q = []
    for i in range(Np):
        q.append(nsmc.nestedSMC(t=t+tStart,N=N,M=M,xCond=X[i,:,:]))
        logZ[i] = q[i].logZ
    maxLZ = np.max(logZ)
    w = np.exp(logZ-maxLZ)
    w /= np.sum(w)
    ESS = 1/np.sum(w**2)
    ancestors = hlp.resampling(w)
    for i in range(Np):
        X[i,:,:] = q[ancestors[i]].simulate()
    np.savetxt('results/Np'+str(Np)+'_M'+str(N)+'_M'+str(M)+'_t'+str(tStart+t)+region+'.csv',np.mean(X,axis=0),delimiter=',')

In [29]:
Np = 1
for i in range(Np):
    q.append(nsmc.nestedSMC(t=1968,N=N,M=M))
    logZ[i] = q[i].logZ


ESS:  23.8287755176
First logZ:  -12.5486209415

In [31]:
q[0].X.shape


Out[31]:
(30, 24, 44)

In [36]:
imshow(mean(q[0].X,axis=0)>0.6)
colorbar()


Out[36]:
<matplotlib.colorbar.Colorbar instance at 0x7f74b9275950>

In [14]:


In [ ]:


In [27]:



[ 0.43332193  0.56667807]

In [28]:



195

In [ ]: