def _lml_arbitrary_scale(self):
s = self.scale<EOL>D = self._D<EOL>n = len(self._y)<EOL>lml = -self._df * log2pi - n * log(s)<EOL>lml -= sum(npsum(log(d)) for d in D)<EOL>d = (mTQ - yTQ for (mTQ, yTQ) in zip(self._mTQ, self._yTQ))<EOL>lml -= sum((i / j) @ i for (i, j) in zip(d, D)) / s<EOL>return lml / <NUM_LIT:2><EOL>
Log of the marginal likelihood for arbitrary scale.

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