You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB R2014b中用LASSO模型分析变量相关性并构建回归预测模型

在MATLAB R2014b中使用LASSO模型实现单自变量回归分析与预测

1. 生成示例数据

运行以下代码生成题目指定的数据集:

% 生成30个样本的自变量X(取值范围1-5)和因变量Y(取值范围1-10)
X = randi([1,5],30,1);
Y = randi([1,10],30,1);

2. 执行LASSO回归分析

MATLAB R2014b统计工具箱自带的lasso函数可直接用于线性回归的正则化分析,运行以下代码获取回归系数及模型关键信息:

% 执行LASSO回归,返回系数数组B和模型信息结构体FitInfo
[B, FitInfo] = lasso(X, Y);
  • B:存储不同lambda值对应的回归系数,因仅含1个自变量,B为一维数组
  • FitInfo:包含lambda序列、交叉验证误差、最优lambda索引等核心参数

3. 选择最优正则化参数Lambda

通过交叉验证结果筛选最小均方误差(MSE)对应的lambda值,确定最优回归系数:

% 获取最小MSE对应的lambda索引
idx_min = FitInfo.IndexMinMSE;
% 提取最优lambda值
lambda_opt = FitInfo.Lambda(idx_min);
% 获取最优lambda对应的回归系数
b_opt = B(idx_min);

4. 构建模型并完成预测

基于最优系数构建回归模型,对X对应的Y值进行预测:

% 计算预测值
Y_pred = b_opt * X;

% (可选)使用官方预测函数实现预测
% Y_pred = lassoPredict(B, FitInfo, X, lambda_opt);

5. 可视化预测结果(可选)

通过绘图对比实际值与预测值,直观评估模型效果:

scatter(X, Y, 'b', 'filled');
hold on;
plot(X, Y_pred, 'r--', 'LineWidth', 1.5);
xlabel('自变量X');
ylabel('因变量Y');
legend('实际值', '预测值');
title('LASSO回归预测结果');
hold off;

注意事项

  • 因仅包含1个自变量,LASSO的正则化效果体现为:要么保留该变量的系数,要么将其收缩至0(当lambda值过大时)
  • MATLAB R2014b中lasso函数默认采用10折交叉验证,若需调整验证策略可通过'CV'参数指定

内容的提问来源于stack exchange,提问作者Sorena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:24:49