code: def to_inference_data(self):
          
          return InferenceData(
              **{
                  "posterior": self.posterior_to_xarray(),
                  "sample_stats": self.sample_stats_to_xarray(),
                  "posterior_predictive": self.posterior_predictive_to_xarray(),
                  "observed_data": self.observed_data_to_xarray(),
              }
          )
docs: Convert all available data to an InferenceData object.
  
          Note that if groups can not be created (i.e., there is no `trace`, so
          the `posterior` and `sample_stats` can not be extracted), then the InferenceData
          will not have those groups.