zoukankan      html  css  js  c++  java
  • 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)    %画残差图

    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

    2. https://zhuanlan.zhihu.com/p/45149297 ,一个大学生的日常笔记,回归分析

  • 相关阅读:
    如何通过 Serverless 技术降低微服务应用资源成本?
    Serverless 对研发效能的变革和创新
    Serverless X OpenKruise 部署效率优化之道
    阿里云 Serverless 再升级,从体验上拉开差距
    2019 年 CNCF 中国云原生调查报告
    不错的的机器学习视频分享
    arcgis for js 4.6加载本地发布好的2维地图
    win8 下删除服务
    arcgis10.2 全套安装教程
    git版本回退
  • 原文地址:https://www.cnblogs.com/feynmania/p/12893722.html
Copyright © 2011-2022 走看看