我使用mdl = NonLinearModel.fit来拟合非线性模型。 如何从结果中获得F-统计量和p-值(行:“F-统计量与常数模型”)?
示例代码:
load carsmall
X = Weight;
y = MPG;
modelfun = 'y ~ b1 + b2*exp(-b3*x/1000)';
beta0 = [1 1 1];
mdl=NonLinearModel.fit(X,y,modelfun,beta0)
产生以下内容:
mdl =
Nonlinear regression model:
y ~ b1 + b2*exp( - b3*x/1000)
Estimated Coefficients:
Estimate SE tStat pValue
________ _______ ________ __________
b1 -17.725 31.321 -0.56594 0.57283
b2 77.862 21.332 3.6499 0.00043735
b3 0.21775 0.17176 1.2677 0.20814
Number of observations: 94, Error degrees of freedom: 91
Root Mean Squared Error: 4.12
R-Squared: 0.743, Adjusted R-Squared 0.738
F-statistic vs. constant model: 132, p-value = 1.34e-27
答案 0 :(得分:0)
你需要[Fstat,pval]=fTest(mdl);
但是,这需要您在许多脚本中将权限更改为public
。我只是以root身份运行MATLAB,并在所有返回错误的文件中手动将每个权限更改为public,直到我真正得到我需要的内容。它似乎有效,但可能有更好的方法。