matlab逐步回归作图
时间: 2025-01-06 18:45:35 浏览: 9
### MATLAB 中逐步回归的实现与绘图
#### 实现逐步回归
在MATLAB中可以利用`stepwiselm`函数来执行逐步线性回归分析。此函数会自动选择最佳子集特征用于构建模型,从而提高预测性能和解释力[^2]。
```matlab
% 假设数据存储在一个名为data的表格中,最后一列为响应变量Y
model = stepwiselm(data, 'constant', 'Criterion', 'aic');
disp(model);
```
上述代码创建了一个初始仅含截距项的最小二乘拟合对象,并通过AIC准则迭代添加最显著的自变量直到不再有改进为止。最后显示所选模型的信息摘要。
#### 绘制真实值与预测值对比图
为了直观展示模型效果,可以通过绘制散点图表示原始观测值以及由训练好的模型产生的估计值曲线来进行比较:
```matlab
X = linspace(min(data.X), max(data.X), length(data.Y)); % 创建横坐标序列
y_pre = predict(model, table(X')); % 计算对应位置上的预测值
plot(data.Y, 'bo', X, y_pre, 'r-', 'LineWidth', 1.5); % 绘制图表
legend('实际值', '预测值'); % 添加图例说明
xlabel('样本编号'); % 设置x轴标签
ylabel('目标变量 Y 的取值'); % 设置y轴标签
title('逐步回归:实测 vs 预估'); % 图表标题
grid on; % 显示网格辅助阅读
```
这段脚本首先生成一组均匀分布于输入空间内的测试点作为新样本的位置;接着调用`predict()`方法获得这些位置处的目标属性估值;之后在同一张画布上分别呈现了离散形式的实际测量结果(蓝色圆圈标记)和平滑连接起来的趋势线(红色线条),以便观察两者之间的吻合程度。
阅读全文