Running anovan on a Large (21504Rx90C) matrix

5 vues (au cours des 30 derniers jours)
John Smith
John Smith le 6 Nov 2020
Commenté : John Smith le 10 Nov 2020
I am currently attempting to run a full anovan model on a 21504Rx90C matrix, which results in an out-of-memory error. I am doing this in order to extract the sum of squares contribution of each factor used in the anova model.
The anova model itself has 7 factors with 3,4,4,4,7,4,4 levels respectively. I was wondering if there was perhaps a way of breaking down the code to avoid running into this error and staying within the memory constraints?
Dummy code below:
Data = randn(21504,90)
SumSq = zeros(190,size(Data,2));
for iii = 1:size(Data,2)
[~,tbl,~,~] = anovan(Data(:,iii),{var1 var2 var3 var4 var5 var6 var7},...
'model','full',...
'varnames',{'var1','var2','var3','var4','var5','var6','var7'});
SumSq(1:end,iii) = cell2mat(tbl(2:end,2));
iii
end
  4 commentaires
Jeff Miller
Jeff Miller le 9 Nov 2020
Modifié(e) : Jeff Miller le 9 Nov 2020
See chapter 9 of this book
Watch out for numerical problems, though.
John Smith
John Smith le 10 Nov 2020
Thank you. I will try and implement this method and see if I have any luck.

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by