matlab多元线性回归

1.matlab多元回归示例如下:

解决问题:油价预测

方法:多元线性回归

实现:matlab regress()函数

技巧:通过增加X1^2,X2^2,或者X1*X2等构造的特征项,可以提高回归模型的拟合准确度;但计算代价增大。

复制代码
function result=reg_new_month(XX1_bu,YYnum)
y=YYnum;
a=XX1_bu;      %由于alldata_pca已经进行归一化了;所以在回归分析中直接用就行
%a=load('alldata.txt');
x1=a(:,1) ; 
x2=a(:,2) ; 
x3=a(:,3) ; 
x4=a(:,4) ;
x5=a(:,5) ;
x6=a(:,6) ;
x7=a(:,7) ;
x8=a(:,8) ;
x9=a(:,9) ;

x11=x1.^2;
x12=x2.^2;
x13=x3.^2;
x14=x4.^2;
x15=x5.^2;
x16=x6.^2;
x17=x7.^2;
x18=x8.^2;
x19=x9.^2;

x21=x1.*x2;
x22=x2.*x3;
x23=x3.*x4;
x24=x4.*x5;
x25=x5.*x6;
x26=x6.*x7;
x27=x7.*x8;
x28=x8.*x9;
x29=x9.*x1;
X=[ones(length(y),1), x1,x2,x3,x4,x5,x6,x7,x8,x9,x11,x12,x13,x14,x15,x16,x17,x18,x19, x21,x22,x23,x24,x25,x26,x27,x28,x29];

[b,bint,r,rint,stats]=regress(y,X);
% b; 相关系数
% bint
% r;残差
%rint : 置信区间
% stats; 检验回归模型的统计量:分别为
rcoplot(r,rint)    %画残差图

使用matlab进行一元线性回归及多元线性回归

XXnum为原数据所有特征X;

YYnum为原数据所有目标值Y;

XX1_bu:是补全后的数据特征;

2.结果如下:

2.1残差图

2.2 指标

stats=0.8259, 22.0910 ,1.2622e-33, 3464.8205

R=stats(1)=0.82,越接近1则代表拟合得越好;

F=1.26e-33;F<0.05代表回归模型可用;

3 利用多元线性回归进行预测

输入测试X_test(若有多个X_test,可用循环或矩阵实现);

调用多元回归m函数;

输出Y_pred。

参考资料:

1.https://www.cnblogs.com/Mayfly-nymph/p/10539106.html ,作者:Hk_mayfly

  1. https://zhuanlan.zhihu.com/p/45149297 ,一个大学生的日常笔记,回归分析
相关推荐
vortex57 分钟前
一文讲透 Zsh 与 Bash 的区别
开发语言·bash
千谦阙听11 分钟前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
weixin_3077791337 分钟前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
天下无敌笨笨熊4 小时前
C#Modbus串口开发心得
开发语言·c#
电商API_180079052474 小时前
电商商品价格监控工具淘宝京东商品价格抓取API项目实操分享
java·大数据·开发语言·前端·数据挖掘
zzzll11114 小时前
深度剖析:HashMap 并发死循环与 ConcurrentHashMap 两代演进全解
java·开发语言
如意猴4 小时前
【C++】001--C++入门(1)
开发语言·c++
传奇开心果编程4 小时前
【Rust入门知识点学与练】第10课:Option 和 Result(错误处理入门)
开发语言·学习·rust
Evand J4 小时前
【MATLAB例程,图像滤波5】 反谐波均值滑动窗口滤波(CHMF)图像降噪与质量评价,附代码下载链接
图像处理·算法·计算机视觉·matlab·均值算法·滑动窗口滤波·均值滑动
leonkay4 小时前
C# 锁机制——【2】深入原理
开发语言·后端·spring·c#·个人开发