Получение стандартных ошибок в Optim () в R - PullRequest
0 голосов
/ 07 декабря 2018

Я использую оценку максимального правдоподобия и использую функцию 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))))

По этой причине я решил спросить: как лучше всего получить стандартные ошибки для моей проблемы?Какой метод подходит для этого?Заранее спасибо.

...