Matlab fminunc вычисляет стандартные ошибки MLE

У меня проблема при попытке вычислить стандартные ошибки оценок из fminunc. Мой метод оценки - оценка максимального правдоподобия. Я пробовал два способа, как показано ниже, оба потерпели неудачу:

  1. Матрица Гессе из результатов fminunc необратима, поэтому я не могу получить стандартную ошибку из матрицы Гессе.

  2. Поэтому я повернулся, чтобы получить стандартные ошибки, используя метод OPG (внешний продукт градиента). Однако предоставленный мной градиент не прошел проверку производной.

Кто-нибудь знает, есть ли другие способы получить стандартную ошибку? Ваша помощь будет оценена по достоинству!


person user2595696    schedule 18.07.2013    source источник


Ответы (2)


Это может быть полезно: http://gking.harvard.edu/files/gking/files/help.pdf

Я просмотрел, и я чувствую, что вы не можете получить матрицу дисперсии из необратимой матрицы Гессе. Его не существует. В ссылке выше говорится, что стандартный ответ:
а) получить больше данных или
б) использовать менее сложную модель.
Но он также предлагает некоторые методы спасения, если ни один из них не подходит. Я не разбирался в их методах, так что извините, это неполное.

person Neil Peterman    schedule 01.11.2013

Ссылка, упомянутая выше, ссылается на использование алгоритма BHHH, который аппроксимирует гессиан с использованием внешнего произведения оценок. Достоинством этого является то, что он всегда обратим, но недостатком является работа только с четко определенной моделью, близкой к истине и асимптотически (что, похоже, вас беспокоит).

Чтобы использовать этот алгоритм, вам нужно иметь вектор вкладов правдоподобия, назовем его град (который равен N на K, где N = #наблюдения и K = #параметры). Тогда ваши стандартные ошибки

se = sqrt(diag(grad'*grad))*N; % should be K by K 

Протестируйте их, используя сравнение с OLS или чем-то еще, где у вас есть закрытая форма.

person Superpronker    schedule 12.05.2014