def observe(self, data, random_indices=()): """ Summary """ data = pandas_frame2value(data, self.name) if isinstance(data, RandomVariable): self.dataset = data self.has_random_dataset = True else: self._observed_value = coerce_to_dtype(data, is_observed=True) self.has_observed_value = True self._observed = True
def observe(self, data): if isinstance(data, pd.DataFrame): data = {var_name: pandas_frame2value(data, index=var_name) for var_name in data} if isinstance(data, dict): if all([isinstance(k, Variable) for k in data.keys()]): data_dict = data if all([isinstance(k, str) for k in data.keys()]): data_dict = {self.get_variable(name): value for name, value in data.items()} else: raise ValueError("The input data should be either a dictionary of values or a pandas dataframe") for var in data_dict: if isinstance(var, RandomVariable): var.observe(data_dict[var])
def observe(self, data): """ Method. It assigns an observed value to a RandomVariable. Args: data: torch.Tensor, numeric, or np.ndarray. Input observed data. Returns: None """ data = pandas_frame2value(data, self.name) if isinstance(data, RandomVariable): self.dataset = data self.has_random_dataset = True else: self._observed_value = coerce_to_dtype(data, is_observed=True) self.has_observed_value = True self._observed = True