def dlogpdf_dlink(self, link_f, y, Y_metadata=None):
<EOL>c = np.zeros_like(y)<EOL>if Y_metadata is not None and '<STR_LIT>' in Y_metadata.keys():<EOL><INDENT>c = Y_metadata['<STR_LIT>']<EOL><DEDENT>uncensored = (<NUM_LIT:1>-c)*(-<NUM_LIT:1>/link_f + y**self.r/link_f**<NUM_LIT:2>)<EOL>censored = c*y**self.r/link_f**<NUM_LIT:2><EOL>grad = uncensored + censored<EOL>return grad<EOL>
Gradient of the log likelihood function at y, given link(f) w.r.t link(f)

.. math::
    \\frac{d \\ln p(y_{i}|\\lambda(f_{i}))}{d\\lambda(f)} = \\beta (\\log \\beta y_{i}) - \\Psi(\\alpha_{i})\\beta\\\\
    \\alpha_{i} = \\beta y_{i}

:param link_f: latent variables (f)
:type link_f: Nx1 array
:param y: data
:type y: Nx1 array
:param Y_metadata: Y_metadata which is not used in gamma distribution
:returns: gradient of likelihood evaluated at points
:rtype: Nx1 array