docs: def _store_basic_estimation_results(self, results_dict):
          """
          Extracts the basic estimation results (i.e. those that need no further
          calculation or logic applied to them) and stores them on the model
          object.
  
          Parameters
           ----------
          results_dict : dict.
              The estimation result dictionary that is output from
              scipy.optimize.minimize. In addition to the standard keys which are
              included, it should also contain the following keys:
              `["final_log_likelihood", "chosen_probs", "long_probs",
                "residuals", "ind_chi_squareds", "sucess", "message",
                "rho_squared", "rho_bar_squared", "log_likelihood_null"]`
  
          Returns
          -------
          None.
          """
          # Store the log-likelilhood, fitted probabilities, residuals, and
          # individual chi-square statistics
          self.log_likelihood = results_dict["final_log_likelihood"]
          self.fitted_probs = results_dict["chosen_probs"]
          self.long_fitted_probs = results_dict["long_probs"]
          self.long_residuals = results_dict["residuals"]
          self.ind_chi_squareds = results_dict["ind_chi_squareds"]
          self.chi_square = self.ind_chi_squareds.sum()
  
          # Store the 'estimation success' of the optimization
          self.estimation_success = results_dict["success"]
          self.estimation_message = results_dict["message"]
  
          # Store the summary measures of the model fit
          self.rho_squared = results_dict["rho_squared"]
          self.rho_bar_squared = results_dict["rho_bar_squared"]
  
          # Store the initial and null log-likelihoods
          self.null_log_likelihood = results_dict["log_likelihood_null"]
  
          return None