Я использую оценку максимального правдоподобия и использую функцию optim()
в R
следующим образом:
optim(c(phi,phi2, lambda), objf, method = "L-BFGS-B", lower = c(-1.5, -1.5, 0), upper = c(1.5, 1.5, 1), model = model_gaussian)
(где objf
- это функция для оценки параметров)
Теперь я хотел бы получить стандартные ошибки (для вычисления t-статистики) для параметров, которые я оцениваю.Однако, очевидно, так как эта оптимизация является оценкой максимального правдоподобия с ограничениями (из-за «L-BFGS-B»), я не могу использовать матрицу Гессе для получения стандартных ошибок, поскольку она не будет математически правильной, поэтому это означает, что я не могу простодобавьте hessian=TRUE
к строке optim
.
Например, если бы я использовал BFGS
(который не ограничен / ограничен) вместо L-BFGS-B
, найти стандартные ошибки довольнопросто:
opt <- optim(c(phi,phi2, lambda), objf, method = "L-BFGS-B", lower = c(-1.5, -1.5, 0), upper = c(1.5, 1.5, 1), model = model_gaussian, hessian = TRUE)
standarderrors <- sqrt(abs(diag(solve(-opt$hessian))))
По этой причине я решил спросить: как лучше всего получить стандартные ошибки для моей проблемы?Какой метод подходит для этого?Заранее спасибо.