MATLAB Answers


ANOVA with a known linear model

Asked by Clare
on 7 Aug 2015
Latest activity Commented on by Brendan Hamm on 10 Aug 2015
I want to use ANOVA function to generate a report for a multiple linear regression model. ANOVA takes the input of LM, a linear model class, which can be created using fitlm function. My question is that since the model is already determined including the coefficients and the predictors, can I input my model somehow in ANOVA without having to run fitlm function? In other words, how can I create a LM class with my own coefficients?
Thanks in advance.


Sign in to comment.



1 Answer

Answer by Ghada Saleh on 10 Aug 2015

Hi Claire,
As you have mentioned, ANOVA only accepts an input of type Linear Model which can be constructed using 'fitlm' or 'stepwiselm'. If you already have the coefficients of your linear model, you can use them to generate data for the dependent variable given your independent variable values. As an example:
x = rand(1,10); % you can replace with your independent variable values.
y = 5*x+12; % replace by your linear model;
lm = fitlm(x,y);
Now 'lm' is a Linear Model object that will estimate the coefficients '5,12'. Given enough number of samples, 'fitlm' will estimate your model and create Linear Model object that you can then input to ANOVA.
I hope this helps,

  1 Comment

Or you could just use the anova1() function, or anova2(), etc.

Sign in to comment.