Matlab: как вычислить скорректированный квадрат R для модели AR - PullRequest
0 голосов
/ 07 июня 2019

У меня есть проблема эконометрики, в которой я должен вычислить в Matlab временной ряд AR (15).После того, как я попросил меня вычислить значения BIC и AIC, профессор также запросил скорректированную статистику R в квадрате, но в этом случае я понятия не имею, как ее вычислить.

Я уже реализовал модель AR с помощьюс помощью команды «arima (« ARlags », 1:15)» и с помощью команды «оценка» я получил значения константы, 15 коэффициентов AR и дисперсию.Я знаю, как вычислить скорректированный квадрат R: мне нужно вычислить сумму квадратов невязок и общую сумму квадратов и разделить каждый на степени свободы.Однако в этом случае, как и в любой статистической задаче, у меня нет оценочных значений моего ответа, поэтому я не знаю, как рассчитать остаточную сумму квадратов и затем скорректированное R в квадрате.Заранее благодарим за любую помощь

parcorr(zero_rate) AR1=arima('ARlags', 1:15); [est_AR1,EstParamCov1,logL1]=estimate(AR1,zero_rate); [AIC1, BIC1]=aicbic(logL1,17,35);

1 Ответ

0 голосов
/ 07 июня 2019

Предполагая, что вы используете класс аримы , вы можете использовать метод infer, чтобы получить остатки, а затем сделать скалярное произведение, чтобы получить сумму квадратов

E = infer(Mdl,Y)
Ssquares = dot(E,E) 

.общую сумму квадратов вы можете сделать

Stotal = dot(Y-mean(Y),Y-mean(Y))

Тогда R в квадрате просто

Rsq = 1- Ssquares/Stotal

Скорректированный R в квадрате

Rsqadj - 1- (1-Rsq)*(n-1)/(n-p-1) (which is = 1-Ssquares/Stotal*(n-1)/(n-p-1))

Где n вашразмер популяции, а p - число непересекающихся коэффициентов (в вашем случае, я думаю, это 15).

...