如何使用matlab进行循环?

时间:2014-07-10 09:58:25

标签: matlab regression

我有一个回归模型,其中包含3个变量x1 x2 x3,所有可能的回归模型都是2 ^ 3 = 8个模型。 x1,x2,x3,x1x2,x1x3,x2x3,没有变量和x1x2x3我想将一个名为AIC“Akaike的信息准则”的方法应用于所有子集模型以选择正确的模型,所以我想做一个循环来应用aic on使用matlab的所有子集模型? 注意:AIC = n log(s / n)+ 2k正确的模型是具有最小aic的模型 我知道如何计算aic但我不知道如何使循环将aic应用于所有子集模型

1 个答案:

答案 0 :(得分:0)

AIC = zeros(2, 2, 2);
for i = 0:1
    for j = 0:1
        for k = 0:1
            state = [i;j;k];
            AIC(i+1, j+1, k+1) = %some computation based on state;
        end;
    end;
end;

“状态”将包括您指定的所有参数组合,零表示无参数,1表示此参数包含在计算中。所以state = [1 0 1]等于x1x3 case,[0 0 1]等于x3 case等。 类似地,AIC(1,1,1)将具有空集的情况,对于x2情况的AIC(1,2,1),对于x1x3情况的AIC(2,1,2)等。