<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def psisloo(log_lik, **kwargs):
 r"""PSIS leave-one-out log predictive densities. Computes the log predictive densities given posterior samples of the log likelihood terms :math:`p(y_i|\theta^s)` in input parameter `log_lik`. Returns a sum of the leave-one-out log predictive densities `loo`, individual leave-one-out log predictive density terms `loos` and an estimate of Pareto tail indeces `ks`. The estimates are unreliable if tail index ``k > 0.7`` (see more in the references listed in the module docstring). Additional keyword arguments are passed to the :meth:`psislw()` function (see the corresponding documentation). Parameters log_lik : ndarray Array of size n x m containing n posterior samples of the log likelihood terms :math:`p(y_i|\theta^s)`. Returns ------- loo : scalar sum of the leave-one-out log predictive densities loos : ndarray individual leave-one-out log predictive density terms ks : ndarray estimated Pareto tail indeces """

    # ensure overwrite flag in passed arguments
    kwargs['overwrite_lw'] = True
    # log raw weights from log_lik
    lw = -log_lik
    # compute Pareto smoothed log weights given raw log weights
    lw, ks = psislw(lw, **kwargs)
    # compute
    lw += log_lik
    loos = sumlogs(lw, axis=0)
    loo = loos.sum()
    return loo, loos, ks