Как заметили другие, ваш вопрос совершенно некорректен, поэтому я бы посоветовал вам сначала немного прочитать и подумать о том, что вы действительно хотите сделать. Тем не менее, я могу дать некоторые рекомендации, которые на самом деле больше связаны с уточнением концепций, чем с программированием. Основываясь на вопросе и комментариях, ваш вопрос следует перефразировать так: «Как можно оценить ковариационную матрицу для параметров модели AR (n), в которой параметры получены с помощью оценки максимального правдоподобия?» В этом случае мы можем ответить следующим образом.
- Для обсуждения давайте сначала создадим некоторые тестовые данные.
>> rng(0);
>> n = 10000;
>> x = rand(n,2);
- Сначала разумно получите начальные условия, запустив OLS. Именно так большинство людей в любом случае оценивают авторегрессии (почти вся литература по векторным авторегрессиям), а OLS и MLE асимптотически эквивалентны при некоторых условиях. Включите столбец с нулями, если вы хотите включить константу (что вы хотите сделать, если вы работаете с неунизительными данными). В выходных данных
b
— ваш вектор оценки параметров, а C
— соответствующий вектор стандартных ошибок.
>> X = [x,ones(n,1)];
>> [b,C]=lscov(X,y)
b =
4.9825
9.9501
20.0227
C =
0.0347
0.0345
0.0266
- Прежде чем вы сможете вычислить максимальную вероятность, вам нужна вероятность. Мы можем просто построить его как композицию пары простых анонимных функций. Нам также необходимо построить вектор начальных условий, который включает стандартное отклонение ошибки прогнозирования, потому что это одна из вещей, которую мы собираемся оценить с помощью MLE. В этом случае я собираюсь предположить, что вам нужна нормально распределенная ошибка, и основывать мой пример на этом, но вы ничего не сказали и, конечно, могли выбрать что угодно (отсутствие нормально распределенной ошибки обычно является мотивацией для того, чтобы не делать ОЛС). Кроме того, я построю отрицательную логарифмическую вероятность, поскольку мы используем процедуры минимизации.
>> err = @(b) y - X*b
err =
@(b)y-X*b
>> std(err(b))
ans =
0.9998
>> b0 = [b; std(err(b))];
>> nll = @(b) (n/2)*log(2*pi*b(end)^2) + (1/(2*b(end)^2))*sum(err(b(1:end-1)).^2);
- Затем используйте процедуру минимизации (например,
fminsearch
, fminunc
и т. д.) для выполнения MLE.
>> bmle = fminsearch(nll,b0)
bmle =
4.9825
9.9501
20.0227
0.9997
Неудивительно, что оценки почти идентичны тем, что мы получили при МНК, а это именно то, что мы ожидаем, когда ошибки нормально распределены, и именно поэтому большинство людей предпочитают просто использовать МНК, если только нет веских причин полагать, что ошибки не являются несущественными. -Обычный. Ковариационная матрица может быть оценена внешним произведением баллов, что является особенно простым выражением в нормальном случае.
>> inv(X'*X/bmle(end))
ans =
0.0012 0.0000 -0.0006
0.0000 0.0012 -0.0006
-0.0006 -0.0006 0.0007
Наконец, стандартные ошибки соответствуют тому, что мы получили в случае наименьших квадратов.
>> sqrt(diag(inv(X'*X/bmle(end))))
ans =
0.0347
0.0345
0.0266
РЕДАКТИРОВАТЬ: Извините, я только что понял, что мои тестовые данные были перекрестными, а не данными временных рядов. Я исправлю это, как только у меня будет время. Но методология оценки моделей остается прежней.
person
transversality condition
schedule
02.05.2015
cov
материал, но не AR. Каков результат вашей модели дополненной реальности? Функцияcov()
предназначена для численного вычисления ковариаций переменных с учетом набора наблюдений/выборок самих переменных (вход = массив наблюдений x переменных); не уверен, что здесь так. Если вам нужны covs коэффициентов, есть ли у вас формула для создания образцов самих коэффициентов? (Являются ли значенияa_i
теми коэффициентами?) Может быть решение в закрытой форме для AR, но я не знаю, что это такое. - person Andrew Janke   schedule 29.04.2015cov
— это не то, что вам нужно. Вы должны просто построить матрицыp
наp
A_1
иA_2
, используя оценочные коэффициентыa_j
, учитывая, что средство оценки ML также обеспечивает оценку дисперсии шумаsigma
(предположительно, так оно и есть). - person lmillefiori   schedule 30.04.2015A_2
определена... - person lmillefiori   schedule 04.05.2015