def get_sample(self, number_samples, input_values={}): #TODO: code duplication here reformatted_input_values = reformat_sampler_input(pandas_frame2dict(input_values), number_samples=number_samples) raw_sample = self._get_sample(number_samples, observed=False, input_values=reformatted_input_values, differentiable=False) sample = reformat_sample_to_pandas(raw_sample) return sample
def get_posterior_sample(self, number_samples, input_values={}): reformatted_input_values = reformat_sampler_input( pandas_frame2dict(input_values), number_samples=number_samples) raw_sample = self._get_posterior_sample( number_samples, input_values=reformatted_input_values) sample = reformat_sample_to_pandas(raw_sample) return sample
def get_timeseries_sample(self, number_samples, input_values={}, mode="prior"): if mode == "prior": sampler = self._get_sample elif mode == "posterior": sampler = self._get_posterior_sample else: raise ValueError( "the mode of the sampler should be either the 'prior' or 'posterior' string" ) reformatted_input_values = reformat_sampler_input( pandas_frame2dict(input_values), number_samples=number_samples) raw_sample = sampler(number_samples, input_values=reformatted_input_values) temporal_raw_sample = { var: (self._get_time_stamp(var), value) for var, value in raw_sample.items() if var in self.temporal_variables } temporal_sample = reformat_temporal_sample_to_pandas_timeseries( temporal_raw_sample) return temporal_sample
def get_sample(self, number_samples, input_values={}): reformatted_input_values = reformat_sampler_input(pandas_frame2dict(input_values), number_samples=number_samples) raw_sample = {self: self._get_sample(number_samples, resample=False, observed=self.is_observed, differentiable=False, input_values=reformatted_input_values)[self]} sample = reformat_sample_to_pandas(raw_sample) self.reset() return sample
def get_entropy(self, input_values={}): reformatted_input_values = reformat_sampler_input( pandas_frame2dict(input_values), number_samples=1) raw_ent = self._get_entropy(reformatted_input_values) ent = reformat_sample_to_pandas(raw_ent, number_samples=1) return ent
def get_variance(self, input_values={}): reformatted_input_values = reformat_sampler_input( pandas_frame2dict(input_values), number_samples=1) raw_variance = self._get_variance(reformatted_input_values) variance = reformat_sample_to_pandas(raw_variance, number_samples=1) return variance
def get_mean(self, input_values={}): reformatted_input_values = reformat_sampler_input( pandas_frame2dict(input_values), number_samples=1) raw_mean = self._get_mean(reformatted_input_values) mean = reformat_sample_to_pandas(raw_mean, number_samples=1) return mean