How perform anova tests after using regress in MATLAB?
2 次查看(过去 30 天)
显示 更早的评论
Hi! I'm trying to perform ANOVA analysis for a multiple regression model built using
regress
This is my model:
clc; clear; close all;
load('pred_zeros')
D = [Zero L_mean R_mean];
D(any(isnan(D), 2), :) = []; %remove NaN from matrix D
%linear regression
X =[ones(size(D(:,1),1),1),D(:,1),D(:,2)];
b = regress(D(:,3), X);
Rmean_regr = b(1) + D(:,1)*b(2) + D(:,2)*b(3);
[~,~,~,~,stats] = regress(D(:,3), X); %model statistic
I only generate model statistics using stats. How should i do?
0 个评论
采纳的回答
Jeff Miller
2019-9-8
Elisa, I think this might do what you want:
%linear regression
d1 = D(:,1);
d2 = D(:,2);
d3 = D(:,3);
t = table(d1,d2,d3);
mdl12 = fitlm(t,'d3~d1+d2');
a = anova(mdl12)
更多回答(1 个)
Jeff Miller
2019-9-7
It's a little difficult to say because "perform ANOVA" can mean several different things with regression models.
Usually the best approach is to make comparisons among models, where you fit several different regression models and compare their SSerror's. MATLAB's 'stepwisefit' does that, so you might have a look and see whether that will answer the specific question(s) that you have.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 ANOVA 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!