def test_init(self): factors=[{'sleepdep':['normal','deprived']}, {'stimulus':['left', 'right']}] responses=['left','right'] design=Design(factors,responses, 'stimulus') assert design.nresponses()==len(responses) assert design.nconditions()==4 assert len(design.factors_to_int)==len(design.factors_from_int) k=['deprived','left'] assert design.condidx( k )==2
def test_init(self): factors = [{ 'sleepdep': ['normal', 'deprived'] }, { 'stimulus': ['left', 'right'] }] responses = ['left', 'right'] design = Design(factors, responses, 'stimulus') assert design.nresponses() == len(responses) assert design.nconditions() == 4 assert len(design.factors_to_int) == len(design.factors_from_int) k = ['deprived', 'left'] assert design.condidx(k) == 2
def test_init(self): factors = [{ 'sleepdep': ['normal', 'deprived'] }, { 'stimulus': ['left', 'right'] }] responses = ['left', 'right'] design = Design(factors, responses, 'stimulus') dat = pd.read_csv('./data/sleep_stop_onesubj_test.csv') assert dat.shape[0] == 800 dat.columns = [ 'sleepdep', 'stimulus', 'SSD', 'response', 'correct', 'RT' ] ds = StopTaskDataSet(design, dat) pars = pSSLBA_modelA.paramspec(.2, .15, .2, 1.0, 1.0, 2, 1, 0.5) mod = pSSLBA_modelA(design, pars) print mod.parstring(full=True) print mod print mod.go_accumulators[0] nsamples = 100 x = np.linspace(0.01, 10, nsamples) condition = 0 dens = mod.dens_acc_go(x, condition, 1) cscore = 0 for i in range(design.nresponses()): score = scipy.integrate.quad(mod.dens_acc_go, 0.01, np.infty, args=(condition, i))[0] print "Chance of winning Acc %i (condition=%s): %f" % ( i, str(design.condidx(condition)), score) cscore += score assert abs(cscore - 1) < 1e-6 print cscore L = mod.loglikelihood(ds) assert np.isfinite(L) print "L=", L