Example #1
0
 def __init__(self, params):
     self.params = params
     mu1,sh1,sc1,mu2,sh2,sc2 = params
     left_stach=gam_dist(sh1,scale=sc1); lbounds=left_stach.interval(0.99)
     right_stach=gam_dist(sh2,scale=sc2); rbounds=right_stach.interval(0.99)
     self.f= lambda x: [lambda x: left_stach.sf(abs(x-mu1)), lambda x: 1, lambda x: right_stach.sf(abs(x-mu2))][(lambda x: (2 if x>mu2 else 1) if x>mu1 else 0)(x)](x)
     self.adjust=False
Example #2
0
File: demo.py Project: cogniton/lux
 def make_plotter(self, params,ax1,label,cur_color,support):
     mu1,sh1,sc1,mu2,sh2,sc2 = params
     left_stach=gam_dist(sh1,scale=sc1); lbounds=left_stach.interval(0.99)
     right_stach=gam_dist(sh2,scale=sc2); rbounds=right_stach.interval(0.99)
     lx=np.linspace(mu1,-180); rx=np.linspace(mu2,360)
     s=3; #cur_color='black'
     ax1.plot(rx, [1-right_stach.cdf(abs(y-mu2)) for y in rx],linewidth=s,c=cur_color);
     ax1.plot([1.01*mu1,0.99*mu2], [1,1], linewidth=s,c=cur_color)
     return ax1.plot(lx,[1-left_stach.cdf(abs(y-mu1)) for y in lx],c=cur_color, label=r"$\phi^{Hue}_{%s}$" % label,linewidth=s);
Example #3
0
 def reload(self):
     mu1,sh1,sc1,mu2,sh2,sc2 = self.params
     left_gamma=gam_dist(sh1,scale=sc1); lbounds=left_gamma.interval(0.99)
     right_gamma=gam_dist(sh2,scale=sc2); rbounds=right_gamma.interval(0.99)
     self.region = lambda x: (2 if x>mu2 else 1) if x>=mu1 else 0
     self.f= [lambda x: left_gamma.sf(abs(x-mu1)),
              lambda x: 1,
              lambda x: right_gamma.sf(abs(x-mu2))]
     self.auc_val = None
Example #4
0
 def plot_lux_model(self, params,ax1,label,support,dim):
     cur_color='black'
     mu1,sh1,sc1,mu2,sh2,sc2 = params
     left_stach=gam_dist(sh1,scale=sc1); lbounds=left_stach.interval(0.99)
     right_stach=gam_dist(sh2,scale=sc2); rbounds=right_stach.interval(0.99)
     lx=np.linspace(mu1,-180); rx=np.linspace(mu2,360)
     s=3;
     ax1.plot(rx, [right_stach.sf(abs(y-mu2)) for y in rx],linewidth=s,c=cur_color);
     ax1.plot([1.01*mu1,0.99*mu2], [1.,1.], linewidth=s,c=cur_color)
     return ax1.plot(lx,[left_stach.sf(abs(y-mu1)) for y in lx],c=cur_color, linewidth=s);
Example #5
0
File: lux.py Project: cogniton/lux
 def __init__(self, dim_node):
     def get_node(name):
         for child in dim_node:
             if child.tag==name:
                 return child
     paramdict = {child.tag:child for child in dim_node}
     paramnames =["mulower","shapelower","scalelower","muupper","shapeupper","scaleupper"]
     self.params = [float(paramdict[paramname].get("value")) for paramname in paramnames]
     self.stdevs = [float(paramdict[paramname].get("stdev")) for paramname in paramnames]
     mu1,sh1,sc1,mu2,sh2,sc2 = self.params
     left_gamma=gam_dist(sh1,scale=sc1); lbounds=left_gamma.interval(0.99)
     right_gamma=gam_dist(sh2,scale=sc2); rbounds=right_gamma.interval(0.99)
     self.region = lambda x: (2 if x>mu2 else 1) if x>=mu1 else 0
     self.f= [lambda x: left_gamma.sf(abs(x-mu1)),
              lambda x: 1,
              lambda x: right_gamma.sf(abs(x-mu2))]
     self.adjust=False
Example #6
0
 def plot_lux_singledim(params,name): 
     adj1 = lambda x,a,z: [y+a if y<z else y for y in x]
     mu1,sh1,sc1,mu2,sh2,sc2 = params
     left_stach=gam_dist(sh1,scale=sc1); lbounds=left_stach.interval(0.99)
     right_stach=gam_dist(sh2,scale=sc2); rbounds=right_stach.interval(0.99)
     lx=np.linspace(mu1,-180); rx=np.linspace(mu2,360); s=9
 
     fig = plt.figure(); ax1=plt.subplot()
     phi_color = 'black'
     ax1.plot(rx, [1-right_stach.cdf(abs(y-mu2)) for y in rx],c=phi_color,linewidth=s);
     ax1.plot([1.005*mu1,1.005*mu2], [1,1], linewidth=s, c=phi_color)
     ax1.plot(lx,[1-left_stach.cdf(abs(y-mu1)) for y in lx], label=r"$\phi^{Hue}_{%s}$" % name,c=phi_color,linewidth=s);
     
     #LABELING AND SUCH
     ax1.set_ylabel("Probability",size=40)
     plt.yticks(size=22)
     plt.ylim(0,1.05)
     plt.legend(loc=1,prop={'size':39},frameon=False)
     return ax1