def _lml_optimal_scale(self):
assert self._optimal["<STR_LIT>"]<EOL>n = len(self._y)<EOL>lml = -self._df * log2pi - self._df - n * log(self.scale)<EOL>lml -= sum(npsum(log(D)) for D in self._D)<EOL>return lml / <NUM_LIT:2><EOL>
Log of the marginal likelihood for optimal scale.

Implementation for unrestricted LML::

Returns
-------
lml : float
    Log of the marginal likelihood.