def d3logpdf_dlink3(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:2>/link_f**<NUM_LIT:3>+ <NUM_LIT:6>*y**self.r/link_f**<NUM_LIT:4>)<EOL>censored = c*<NUM_LIT:6>*y**self.r/link_f**<NUM_LIT:4><EOL>d3lik_dlink3 = uncensored + censored<EOL>return d3lik_dlink3<EOL>
Third order derivative log-likelihood function at y given link(f) w.r.t link(f)

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

:param link_f: latent variables link(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: third derivative of likelihood evaluated at points f
:rtype: Nx1 array