2014-11-28 5 views
1

Я запускаю регрессию OLS с помощью инструмента MFL MATLAB. Я хочу извлечь t-статистику всех 30 индивидуальных регрессий. Я пишу следующий код:extract tstas in a loop

n=30; 
Tstat = zeros(1,n); 
for i=1:n; 
[t]=[TSTAT]=ols(Returns(:,i),X(:,:),1); 
Tstat(i)=t(1); 
end 

Я получаю следующее сообщение об ошибке: [т] = [TSTAT] = олы (возврат (:, I), Х (:, :), 1); | Ошибка: выражение слева от знака равенства не является допустимой целью для назначения.

Как это решить? Он отлично работает, когда я делаю то же самое для извлечения константы перехвата каждого из 30 регрессий. Но потом, один просто пишет:

[a]=ols(Returns(:,i),X(:,:),1); 
+0

Почему не только 'TSTAT (я) = олы (Возврат (:, I), Х (:, :), 1);'? Что вы ожидаете, когда будете писать '[t] = [TSTAT] = ...'? – nkjt

ответ

0

TSTAT вектор размерности K + 1, где К число независимых переменных, поэтому следующий код должен быть работа:

K = length(X(1,:)) 
n = 30; 
Tstat = zeros(n,K+1); # A matrix to store the n TSTAT vectors, each one of size K+1 
for i = 1:n 
    [B,TSTAT] = ols(Returns(:,i),X(:,:),1); 
    Tstat(i,:) = TSTAT; 
end