예제 #1
0
파일: sxbayes.py 프로젝트: ctw/myhddm
def fit_sx(mname, project='behav', regress=False):
	
	pth=find_path()

	data=defmod.find_data(mname, project)
	
	grp_dict={}; subj_params=[]; aic_list=[]; bic_list=[]; dic_list=[]; ic_dict={}

	for subj_idx, subj_data in data.groupby('subj_idx'):

		m_sx=defmod.define_sxbayes(mname, subj_data, project=project, regress=regress)
		m_sx.sample(1000, burn=500, dbname=str(subj_idx)+"_"+mname+'_traces.db', db='pickle')
		
		sx_df=parse.stats_df(m_sx)
		sx_df=sx_df.drop("sub", axis=1)
		sx_df['sub']=[subj_idx]*len(sx_df)
		
		subj_params.append(sx_df)
		aic_list.append(aic(m_sx)); bic_list.append(bic(m_sx)); dic_list.append(m_sx.dic)

	allsx_df=pd.concat(subj_params)
	allsx_df.to_csv(mname+"_SxStats.csv", index=False)
	
	ic_dict={'aic':aic_list, 'bic':bic_list, 'dic':dic_list}
	ic_df=pd.DataFrame(ic_dict)
	ic_df.to_csv(mname+"_IC_Rank.csv")
	
	return allsx_df
예제 #2
0
파일: defmod.py 프로젝트: ctw/myhddm
def load_traces(m, mname, project='imaging'):
	
	pth=find_path()
	
	if project=='behav':		
		m.load_db(pth+"beh_hddm/"+mname+"/"+mname+"_traces.db", db='pickle')
		
	else:	
		m.load_db(pth+"img_hddm/"+mname+"/"+mname+"_traces.db", db='pickle')
	
	return m
예제 #3
0
파일: defmod.py 프로젝트: ctw/myhddm
def find_data(mname, project='imaging'):
	
	pth=find_path()
	
	if project=='behav':
		data=pd.read_csv(pth+"beh_hddm/allsx_feat.csv")
		
	else:
		data=pd.read_csv(pth+"img_hddm/allsx_ewma.csv")
		
	return data
예제 #4
0
파일: defmod.py 프로젝트: ctw/myhddm
def find_data(mname, project='imaging'):

    pth = find_path()

    if project == 'behav':
        data = pd.read_csv(pth + "beh_hddm/allsx_feat.csv")

    else:
        data = pd.read_csv(pth + "img_hddm/allsx_ewma.csv")

    return data
예제 #5
0
파일: defmod.py 프로젝트: ctw/myhddm
def load_traces(m, mname, project='imaging'):

    pth = find_path()

    if project == 'behav':
        m.load_db(pth + "beh_hddm/" + mname + "/" + mname + "_traces.db",
                  db='pickle')

    else:
        m.load_db(pth + "img_hddm/" + mname + "/" + mname + "_traces.db",
                  db='pickle')

    return m
예제 #6
0
파일: sxbayes.py 프로젝트: ctw/myhddm
def fit_sx(mname, project='behav', regress=False):

    pth = find_path()

    data = defmod.find_data(mname, project)

    grp_dict = {}
    subj_params = []
    aic_list = []
    bic_list = []
    dic_list = []
    ic_dict = {}

    for subj_idx, subj_data in data.groupby('subj_idx'):

        m_sx = defmod.define_sxbayes(mname,
                                     subj_data,
                                     project=project,
                                     regress=regress)
        m_sx.sample(1000,
                    burn=500,
                    dbname=str(subj_idx) + "_" + mname + '_traces.db',
                    db='pickle')

        sx_df = parse.stats_df(m_sx)
        sx_df = sx_df.drop("sub", axis=1)
        sx_df['sub'] = [subj_idx] * len(sx_df)

        subj_params.append(sx_df)
        aic_list.append(aic(m_sx))
        bic_list.append(bic(m_sx))
        dic_list.append(m_sx.dic)

    allsx_df = pd.concat(subj_params)
    allsx_df.to_csv(mname + "_SxStats.csv", index=False)

    ic_dict = {'aic': aic_list, 'bic': bic_list, 'dic': dic_list}
    ic_df = pd.DataFrame(ic_dict)
    ic_df.to_csv(mname + "_IC_Rank.csv")

    return allsx_df
예제 #7
0
파일: defmod.py 프로젝트: ctw/myhddm
#!/usr/bin/env python

from __future__ import division
import hddm
import pandas as pd
import numpy as np
from patsy import dmatrix
import os
from mydata.munge import find_path

pth=find_path()
data=pd.read_csv(pth+"/beh_hddm/allsx_feat.csv")

def z_link_func(x, data=data):
    stim = (np.asarray(dmatrix('0 + C(s,[[1],[-1]])', {'s':data.stimulus.ix[x.index]})))
    return 1 / (1 + np.exp(-(x * stim)))

def v_link_func(x, data=data):
    stim = (np.asarray(dmatrix('0 + C(s,[[1],[-1]])', {'s':data.stimulus.ix[x.index]})))
    return x * stim


def define_model(mname, project='imaging', regress=False):
	
	check_model(mname)
	
	data=find_data(mname, project)
	
	if project=='imaging':
		intercept="b50N"
	else:
예제 #8
0
파일: defmod.py 프로젝트: ctw/myhddm
#!/usr/bin/env python

from __future__ import division
import hddm
import pandas as pd
import numpy as np
from patsy import dmatrix
import os
from mydata.munge import find_path

pth = find_path()
data = pd.read_csv(pth + "/beh_hddm/allsx_feat.csv")


def z_link_func(x, data=data):
    stim = (np.asarray(
        dmatrix('0 + C(s,[[1],[-1]])', {'s': data.stimulus.ix[x.index]})))
    return 1 / (1 + np.exp(-(x * stim)))


def v_link_func(x, data=data):
    stim = (np.asarray(
        dmatrix('0 + C(s,[[1],[-1]])', {'s': data.stimulus.ix[x.index]})))
    return x * stim


def define_model(mname, project='imaging', regress=False):

    check_model(mname)

    data = find_data(mname, project)