예제 #1
0
 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
예제 #2
0
 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])
예제 #3
0
    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