如何从MATLAB 2013a中的NonLinearModel中获取f统计量,p值

时间:2015-07-13 09:45:15

标签: matlab

我使用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

1 个答案:

答案 0 :(得分:0)

你需要[Fstat,pval]=fTest(mdl); 但是,这需要您在许多脚本中将权限更改为public。我只是以root身份运行MATLAB,并在所有返回错误的文件中手动将每个权限更改为public,直到我真正得到我需要的内容。它似乎有效,但可能有更好的方法。