Running anovan on a Large (21504Rx90C) matrix

5 次查看(过去 30 天)
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 个评论
Jeff Miller
Jeff Miller 2020-11-9
编辑:Jeff Miller 2020-11-9
See chapter 9 of this book
Watch out for numerical problems, though.
John Smith
John Smith 2020-11-10
Thank you. I will try and implement this method and see if I have any luck.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Analysis of Variance and Covariance 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by