コード例 #1
0
ファイル: redistributor.py プロジェクト: mctenthij/pageview
	def opt_rescaling(self,var):
		adjusted_cycle = self.get_adjusted_cycle(var)
		xtick = rescale_time(adjusted_cycle)

		red_cycle = redistribute(xtick,self.views)
		estimate = self.get_estimate(red_cycle)

		error = sum([(red_cycle[x]-estimate[x]) ** 2 for x in range(24*self.prom_length-1)])
		return error
コード例 #2
0
ファイル: article.py プロジェクト: mctenthij/pageview
	def get_gamma_func_estimate(self,gamma_func,ticks):
		max_length = len(self.views)
		log_estimate = np.zeros(max_length).tolist()
		
		# log_estimate[:self.pattern.length*24] = [log(self.red_views[self.pattern.start])+log(self.beta)*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])+log(self.beta)*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])+gamma_func[1]+log(self.red_views[self.pattern.start])*gamma_func[0]+log(self.beta)*(x-1) for x in range(self.pattern.length*24,self.max_length)]
		
		estimate = [exp(log_estimate[x]) for x in range(self.max_length)]
		self.est_gamma_func = redistribute(ticks,estimate)
コード例 #3
0
ファイル: article.py プロジェクト: mctenthij/pageview
	def get_estimate(self,ticks):
		max_length = len(self.views)
		log_estimate = np.zeros(max_length).tolist()
		
		if self.pattern.has_gamma:
			# log_estimate[:self.pattern.length*24] = [log(self.red_views[self.pattern.start])+log(self.beta)*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])+log(self.beta)*x for x in range(self.pattern.length*24)]
			log_estimate[self.pattern.length*24:max_length] = [log(self.red_views[self.pattern.start])+log(self.gamma)+log(self.beta)*(x-1) for x in range(self.pattern.length*24,max_length)]
		else:
			log_estimate[self.pattern.start:self.pattern.start+self.pattern.length*24] = [log(self.red_views[self.pattern.start])+log(self.beta)*x for x in range(self.pattern.length*24)]
		
		estimate = [exp(log_estimate[x]) for x in range(self.max_length)]	
		self.est_params = redistribute(ticks,estimate)
コード例 #4
0
ファイル: analyser.py プロジェクト: mctenthij/pageview
	def get_gamma_func_estimate(self,art,gamma_func,ticks):
		max_length = len(art.views)
		log_estimate = zeros(max_length).tolist()
		
		if self.pattern.has_gamma:
			# log_estimate[:self.pattern.length*24] = [log(art.red_views[self.pattern.start])+log(self.beta)*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])+log(self.beta)*x for x in range(self.pattern.length*24)]
			log_estimate[self.pattern.length*24:max_length] = [log(art.red_views[self.pattern.start])+gamma_func[1]+log(art.red_views[self.pattern.start])*gamma_func[0]+log(self.beta)*(x-1) for x in range(self.pattern.length*24,max_length)]
		else:
			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])+log(self.beta)*x for x in range(self.pattern.length*24)]
		
		estimate = [exp(log_estimate[x]) for x in range(max_length)]
		art.est_gamma_func = redistribute(ticks,estimate)
コード例 #5
0
ファイル: article.py プロジェクト: mctenthij/pageview
	def redistribute_views(self,ticks):
		self.red_views = redistribute(ticks,self.views)