回归循环错误
Error in regression loop
下面的matlab代码是一个回归循环:
for j=1:size(X,2)
IdentityVector=ones((size(t,1)-1),1);
Y=X((2:end),j);
if j==1
X2=[IdentityVector,X((2:end),((j+1):end)),Diff1X];
elseif j>1 & j<size(X,2)
X2=[IdentityVector,X((2:end),(1:(j-1))),X((2:end),((j+1):end)),Diff1X];
elseif j==size(X,2)
X2=[IdentityVector,X((2:end),(1:(j-1))),Diff1X];
end
[b(:,j)]= regress(Y,X2);
end
这对 beta 估计很有效,因为它对每个 j beta 的维度都相应地进行了调整,尽管如果我从估计中请求一些额外的 features/statistics 例如[b,bint,r,rint,stats] = regress(y,X)
我对每个 j 尝试的调整都不起作用。有帮助吗?
我最好的猜测是您将所有输出都视为向量,而事实并非如此。如果您阅读 doc regress
,您会发现 bint
是 p×2,r
是 n×2,依此类推。这意味着您不能分配 bint(:,j)
因为 bint
本身是一个矩阵。而是尝试细胞。
[b{j}, bint{j}, r{j}, rint{j}, stats{j}]= regress(Y,X2);
下面的matlab代码是一个回归循环:
for j=1:size(X,2)
IdentityVector=ones((size(t,1)-1),1);
Y=X((2:end),j);
if j==1
X2=[IdentityVector,X((2:end),((j+1):end)),Diff1X];
elseif j>1 & j<size(X,2)
X2=[IdentityVector,X((2:end),(1:(j-1))),X((2:end),((j+1):end)),Diff1X];
elseif j==size(X,2)
X2=[IdentityVector,X((2:end),(1:(j-1))),Diff1X];
end
[b(:,j)]= regress(Y,X2);
end
这对 beta 估计很有效,因为它对每个 j beta 的维度都相应地进行了调整,尽管如果我从估计中请求一些额外的 features/statistics 例如[b,bint,r,rint,stats] = regress(y,X)
我对每个 j 尝试的调整都不起作用。有帮助吗?
我最好的猜测是您将所有输出都视为向量,而事实并非如此。如果您阅读 doc regress
,您会发现 bint
是 p×2,r
是 n×2,依此类推。这意味着您不能分配 bint(:,j)
因为 bint
本身是一个矩阵。而是尝试细胞。
[b{j}, bint{j}, r{j}, rint{j}, stats{j}]= regress(Y,X2);