I am estimating a survival model with MLE. I use optim to maximize the likelihood function, and I intend to use the Hessian matrix returned by optim to get the standard errors (which lie on the diagonal of the inverse of Hessian). As it turns out that the Hessian matrix is singular and can not be inverted by R's default inverse function base::solve(). I can invert my Hessian using generalized inverse function MASS::ginv() though. What concerns me is that I got many very small standard errors, which render my coefficients suspiciously significant.
What do you think of using ginv() instead of solve() to invert Hessian for inference?