自变量X有四个,因变量y有一个,写一个岭回归MATLAB代码
时间: 2023-11-28 10:51:17 浏览: 100
一个关于岭回归实例程序
3星 · 编辑精心推荐
岭回归是一种常用的正则化线性回归方法,可以用于处理多重共线性问题。下面是一个基本的岭回归MATLAB代码示例:
```matlab
% 生成示例数据
X = randn(100, 4);
y = randn(100, 1);
% 设定岭回归参数lambda
lambda = logspace(-5, 5, 100);
% 岭回归求解系数
[beta, FitInfo] = lasso(X, y, 'lambda', lambda, 'Alpha', 1);
% 选择最优lambda对应的系数
idxLambdaMinMSE = FitInfo.IndexMinMSE;
coef = beta(:, idxLambdaMinMSE);
% 计算预测值和误差
yPred = X * coef;
MSE = mean((y - yPred).^2);
% 显示结果
disp(['最优lambda:' num2str(lambda(idxLambdaMinMSE))]);
disp(['系数:' num2str(coef')]);
disp(['均方误差:' num2str(MSE)]);
```
在这个例子中,我们生成了一个4个自变量和1个因变量的随机数据集。然后,我们设定了岭回归参数lambda的范围,并使用MATLAB内置的lasso函数求解系数。最后,我们选择最小均方误差对应的lambda值,并计算预测值和误差。
阅读全文