以下是基于之前的例子,计算 调整后的决定系数 (Adjusted R²)、赤池信息准则 (AIC)、贝叶斯信息准则 (BIC)、平均绝对误差 (MAE) 和 最大绝对误差 (Max Error) 的 MATLAB 代码:
5. 调整后的决定系数 (Adjusted R²)
% 计算调整后的决定系数 n = length(y_nonlinear); % 样本数量 p = 2; % 模型参数数量 (a 和 b) R2 = 1 - (sum((y_nonlinear - y_fit).^2) / sum((y_nonlinear - mean(y_nonlinear)).^2)); adjusted_R2 = 1 - (1 - R2) * (n - 1) / (n - p - 1); fprintf('调整后的决定系数 (Adjusted R²): %.4f\n', adjusted_R2);
6. 赤池信息准则 (AIC, Akaike Information Criterion)
% 计算赤池信息准则 (AIC) k = 2; % 模型参数数量 (a 和 b) RSS = sum((y_nonlinear - y_fit).^2); % 残差平方和 AIC = n * log(RSS / n) + 2 * k; fprintf('赤池信息准则 (AIC): %.4f\n', AIC);
7. 贝叶斯信息准则 (BIC, Bayesian Information Criterion)
% 计算贝叶斯信息准则 (BIC) BIC = n * log(RSS / n) + k * log(n); fprintf('贝叶斯信息准则 (BIC): %.4f\n', BIC);
8. 平均绝对误差 (MAE, Mean Absolute Error)
% 计算平均绝对误差 (MAE) MAE = mean(abs(y_nonlinear - y_fit)); fprintf('平均绝对误差 (MAE): %.4f\n', MAE);
9. 最大绝对误差 (Max Error)
% 计算最大绝对误差 (Max Error) max_error = max(abs(y_nonlinear - y_fit)); fprintf('最大绝对误差 (Max Error): %.4f\n', max_error);
完整代码整合
以下是上述所有指标的完整代码整合:
% 5. 调整后的决定系数 (Adjusted R²) n = length(y_nonlinear); % 样本数量 p = 2; % 模型参数数量 (a 和 b) R2 = 1 - (sum((y_nonlinear - y_fit).^2) / sum((y_nonlinear - mean(y_nonlinear)).^2)); adjusted_R2 = 1 - (1 - R2) * (n - 1) / (n - p - 1); fprintf('调整后的决定系数 (Adjusted R²): %.4f\n', adjusted_R2); % 6. 赤池信息准则 (AIC) k = 2; % 模型参数数量 (a 和 b) RSS = sum((y_nonlinear - y_fit).^2); % 残差平方和 AIC = n * log(RSS / n) + 2 * k; fprintf('赤池信息准则 (AIC): %.4f\n', AIC); % 7. 贝叶斯信息准则 (BIC) BIC = n * log(RSS / n) + k * log(n); fprintf('贝叶斯信息准则 (BIC): %.4f\n', BIC); % 8. 平均绝对误差 (MAE) MAE = mean(abs(y_nonlinear - y_fit)); fprintf('平均绝对误差 (MAE): %.4f\n', MAE); % 9. 最大绝对误差 (Max Error) max_error = max(abs(y_nonlinear - y_fit)); fprintf('最大绝对误差 (Max Error): %.4f\n', max_error);
示例输出
假设拟合结果为:
调整后的决定系数 (Adjusted R²): 0.9823 赤池信息准则 (AIC): 123.4567 贝叶斯信息准则 (BIC): 128.9102 平均绝对误差 (MAE): 2.3456 最大绝对误差 (Max Error): 5.6789
代码说明
-
调整后的决定系数 (Adjusted R²):
-
考虑了模型参数数量,避免过度拟合。
-
公式:。
-
-
赤池信息准则 (AIC):
-
衡量模型拟合效果和复杂度的平衡。
-
公式:。
-
-
贝叶斯信息准则 (BIC):
-
类似于 AIC,但对模型复杂度的惩罚更强。
-
公式:。
-
-
平均绝对误差 (MAE):
-
残差绝对值的平均值,对异常值不敏感。
-
公式:。
-
-
最大绝对误差 (Max Error):
-
残差绝对值的最大值,反映最差的拟合情况。
-
公式:。
-
注意事项
-
如果数据中有异常值,MAE 和 Max Error 可能更有参考价值。
-
AIC 和 BIC 适用于模型选择,可以比较不同模型的拟合效果。
-
调整后的 适用于多参数模型,避免过度拟合。