<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compute_bic(model_object):
 """ Compute the Bayesian Information Criteria for an estimated model. Parameters model_object : an MNDC_Model (multinomial discrete choice model) instance. The model should have already been estimated. `model_object.log_likelihood` and `model_object.nobs` should be a number, and `model_object.params` should be a pandas Series. Returns ------- bic : float. The BIC for the estimated model. Notes ----- bic = -2 * log_likelihood + log(num_observations) * num_parameters The original BIC was introduced as (-1 / 2) times the formula above. However, for model comparison purposes, it does not matter if the goodness-of-fit measure is multiplied by a constant across all models being compared. Moreover, the formula used above allows for a common scale between measures such as the AIC, BIC, DIC, etc. References Schwarz, G. (1978), 'Estimating the dimension of a model', The Annals of Statistics 6, 2: 461–464. """

    assert isinstance(model_object.params, pd.Series)
    assert isinstance(model_object.log_likelihood, Number)
    assert isinstance(model_object.nobs, Number)

    log_likelihood = model_object.log_likelihood
    num_obs = model_object.nobs
    num_params = model_object.params.size

    return -2 * log_likelihood + np.log(num_obs) * num_params