How to obtain residuals after using 'fitrm'?

4 次查看(过去 30 天)
Hello,
I have been trying to obtain the residuals after using 'fitrm' with this formula: 'VarLeft-VarRight~Group', so that I can test for normality and outliers, but I haven't found a way of doing this on MATLAB. I was wondering if anybody knows how to do this?
Thanks!

回答(1 个)

dpb
dpb 2024-9-23
It doesn't seem as they have implemented it directly; you'll have to compute the residuals as the difference between the resulting model prediction and the input data at the desired data points...
There's an example for the Fisher iris data set that doesn't specifically compute the residuals themselves, but calculates the predicted values and plots them in comparison to the input data...just follow its lead...
load fisheriris
t = table(species,meas(:,1),meas(:,2),meas(:,3),meas(:,4), ...
'VariableNames',{'species','meas1','meas2','meas3','meas4'});
Meas = dataset([1 2 3 4]','VarNames',{'Measurements'});
rm = fitrm(t,'meas1-meas4~species','WithinDesign',Meas);
Yhat=predict(rm,t([1 51 101],:))
Yhat = 3×4
5.0060 3.4280 1.4620 0.2460 5.9360 2.7700 4.2600 1.3260 6.5880 2.9740 5.5520 2.0260
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Y=t([1 51 101],[2:end])
Y = 3x4 table
meas1 meas2 meas3 meas4 _____ _____ _____ _____ 5.1 3.5 1.4 0.2 7 3.2 4.7 1.4 6.3 3.3 6 2.5
Res=Y-Yhat
Res = 3x4 table
meas1 meas2 meas3 meas4 ______ _____ ______ ______ 0.094 0.072 -0.062 -0.046 1.064 0.43 0.44 0.074 -0.288 0.326 0.448 0.474
Use your data a results similarly...

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by