def one_param_fit(self,param): log_estimate = np.zeros(len(self.views)).tolist() log_estimate[self.pattern.start:self.pattern.start+self.pattern.length*24] = [log(self.red_views[self.pattern.start])+param*x for x in range(self.pattern.length*24)] error = calc_difference(self.red_views,log_estimate) return error
def two_param_fit(self,params): log_estimate = np.zeros(len(self.views)).tolist() # log_estimate[:self.pattern.length*24] = [log(self.red_views[self.pattern.start])+params[0]*x for x in range(self.pattern.length*24)] log_estimate[self.pattern.start:self.pattern.length*24] = [log(self.red_views[self.pattern.start])+params[0]*x for x in range(self.pattern.length*24)] log_estimate[self.pattern.length*24:self.max_length] = [log(self.red_views[self.pattern.start])+params[1]+params[0]*(x-1) for x in range(self.pattern.length*24,self.max_length)] error = calc_difference(self.red_views,log_estimate) return error
def beta_fit(self,param): error = 0 for art in self.articles: max_length = len(art.views) log_estimate = zeros(max_length).tolist() log_estimate[self.pattern.start:self.pattern.start+self.pattern.length*24] = [log(art.red_views[self.pattern.start])+param*x for x in range(self.pattern.length*24)] error += calc_difference(art.red_views,log_estimate) return error
def beta_gamma_fit(self,params): error = 0 for art in self.articles: max_length = len(art.views) log_estimate = zeros(max_length).tolist() # log_estimate[:self.pattern.length*24] = [log(art.red_views[self.pattern.start])+params[0]*x for x in range(self.pattern.length*24)] log_estimate[self.pattern.start:self.pattern.length*24] = [log(art.red_views[self.pattern.start])+params[0]*x for x in range(self.pattern.length*24)] log_estimate[self.pattern.length*24:max_length] = [log(art.red_views[self.pattern.start])+params[1]+params[0]*(x-1) for x in range(self.pattern.length*24,max_length)] error += calc_difference(art.red_views,log_estimate) return error