精华内容
下载资源
问答
  • matlab多元非线性回归

    2014-09-22 13:41:39
    matlab多元非线性回归
  • MATLAB源码集锦-多元非线性回归代码
  • 关于如何使用Matlab构建多元非线性回归模型在数学建模中有许多情况需要用到多远非线性回归
  • 讲解MATLAB在多元非线性回归方面的一篇学术论文,非常值得参考,很有用。
  • MATLAB实现多元非线性回归

    万次阅读 多人点赞 2019-01-10 16:25:36
    简单多元非线性回归算例 现有以下数据 i x1 x2 x3 y 1 1.1 2 3.2 10.1 2 1 2 3.2 10.2 3 1.2 1.8 3 10 4 1.1 1.9 2.9 10.1 5 0.9 2.1 2.9 10 假如有以下模型: y=ax1+bx2+cx32y=ax_1+bx_2+cx_3^2y...

    简单多元非线性回归算例

    现有以下数据

    i x1 x2 x3 y
    1 1.1 2 3.2 10.1
    2 1 2 3.2 10.2
    3 1.2 1.8 3 10
    4 1.1 1.9 2.9 10.1
    5 0.9 2.1 2.9 10

    假如有以下模型:

    y=ax1+bx2+cx32y=ax_1+bx_2+cx_3^2

    可以基于最小二乘法原理建立如下法方程组,其解则是上述系数.
    j=0n(φj,φk)aj=(f,φk),k=0,1,n\sum_{j=0}^{n}(φ_j,φ_k ) a_j=(f,φ_k ),k=0,1,…n
    其中n=2,φ0=x1φ1=x2φ2=x3,f=yn=2, φ_0=x1,φ_1=x2,φ_2=x3,f=y.
    MATLAB代码如下

    x1=[1.1 1 1.2 1.1 0.9]';
    x2=[2 2 1.8 1.9 2.1]';
    x3=[3.2 3.2 3 2.9 2.9]';
    y=[10.1 10.2 10 10.1 10]';
    G=[x1,x2,x3.^2];
    z=G\y;
    

    得到z=(3.296,3.4404,0.0141)Tz=(3.296, 3.4404, -0.0141)^T
    所以有所以有
    y=3.296x1+3.4404x20.0141x32y=3.296x_1+3.4404x_2-0.0141x_3^2

    或者可以调用MATLAB中的nlinfit函数。

    [beta,r]=nlinfit(X,y,myfun,beta0);
    

    其中输入参数X是自变量,y是因变量,myfun 是函数模型,beta0是初始迭代系数向量,返回值beta是模型的系数向量,r是每个点的残差。
    先定义myfun

    function y=myfun(beta,x)
    y=beta(1)*x(:,1)+beta(2)*x(:,2)+beta(3)*x(:,3).^2;
    

    然后主程序

    x1=[1.1 1 1.2 1.1 0.9]';
    x2=[2 2 1.8 1.9 2.1]';
    x3=[3.2 3.2 3 2.9 2.9]';
    y=[10.1 10.2 10 10.1 10]';
    X=[x1,x2,x3];
    beta0=[1,1,1];
    [beta,r]=nlinfit(X,y,'myfun',beta0);
    

    得到beta=(3.296,3.4404,0.0141)Tbeta=(3.296, 3.4404, -0.0141)^T
    所以有
    y=3.296x1+3.4404x20.0141x32y=3.296x_1+3.4404x_2-0.0141x_3^2
    这边只涉及到如何获得回归方程中的系数,至于回归方程的优劣性判断,暂不做讨论。

    展开全文
  • (1)使用MATLAB进行多元非线性回归——nlinfit函数的使用 https://blog.csdn.net/zhangyugebb/article/details/84770303 (2)MATLAB多元非线性回归 https://blog.csdn.net/lucky51222/article/details/42130523 ...

    友情链接:
    (1)使用MATLAB进行多元非线性回归——nlinfit函数的使用
    https://blog.csdn.net/zhangyugebb/article/details/84770303

    (2)MATLAB多元非线性回归
    https://blog.csdn.net/lucky51222/article/details/42130523

    (3)MATLAB实现多元非线性回归
    https://blog.csdn.net/qq_42820064/article/details/86239033

    一、使用MATLAB进行多元非线性回归——nlinfit函数的使用
    https://blog.csdn.net/zhangyugebb/article/details/84770303

    帮我对象做数据分析时遇到的问题,发现网上matlab多元非线性回归例子很少,写下来这篇用作参考
    
    使用beta= nlinfit(x, y, model, beta0) 
    ——x为自变量,可以是多个自变量
    
    ——y为因变量,只能由一个
    
    ——model是函数模型
    
    ——beta0要求系数的初值
    
    例子:
    假定一个回归模型y = beta1*x1^3 + beta2*x2^2 + beta3*log2(x3)
    
    其中beta1, beta2, beta3为想要通过回归得到的系数
    
    Step1:建立回归模型
    
    直接使用内联函数建立:
    
    mymodel = inline('beta(1)*x(:,1).^3 + beta(2)*x(:,2).^2 + beta(3)*log2(x(:,3)','beta','x');
    
    这里x(:1)是取x的第一列数据,相应的x(:,2)取第二列数据...
    
    beta(1),beta(2),beta(3)为所求系数
    
    Step2: 回归
    
    x = [x1,x2,x3]; %自变量x1,x2,x3
    beta0= [a1,b1,c1,d1,e1,f1,m1,n1,z1]; %系数初始值
    beta = nlinfit(x,y,myfun,temp); %回归得到系数beta
    

    二、MATLAB多元非线性回归
    https://blog.csdn.net/lucky51222/article/details/42130523

    解释变量:商品价格(x1)人均月收入(x2),被解释变量:商品需求量(y),进行二元回归分析,并进行检验  
    

    在这里插入图片描述

    Matlab代码:
    
    clear
    clc
    data = [89	78	70	60	65	58	50	45	52	35	38
    550	580	600	650	720	750	830	880	850	920	1100
    5800	5000	6200	6800	7100	7800	8900	9000	8500	9400	9900
    ]';
    x1 = data(:,1);
    x2 = data(:,2);
    y = data(:,3);
    X = [ones(size(x1)) x1.*x1 x1 x2.*x2 x2 x1.*x2];
    [b,bint] = regress(y,X)
    scatter3(x1,x2,y,'filled')
    hold on
    x1fit = min(x1):0.5:max(x1);
    x2fit = min(x2):0.5:max(x2);
    [X1FIT,X2FIT] = meshgrid(x1fit,x2fit);
    YFIT = b(1)+ b(2)*X1FIT.*X1FIT+b(3)*X1FIT + b(4)*X2FIT.*X2FIT + b(5)*X2FIT + b(6)*X1FIT.*X2FIT;
    mesh(X1FIT,X2FIT,YFIT)
    xlabel('x1')
    ylabel('x2')
    zlabel('Y')
    view(140,30)
    命令窗口:
    b =
    
      1.0e+004 *
    
        8.4841
        0.0006
       -0.1486
        0.0000
       -0.0098
        0.0001
    
    
    bint =
    
      1.0e+005 *
    
       -1.0110    2.7078
       -0.0001    0.0002
       -0.0443    0.0145
       -0.0000    0.0000
       -0.0036    0.0017
       -0.0000    0.0000
    

    图形:
    在这里插入图片描述

    三、MATLAB实现多元非线性回归
    https://blog.csdn.net/qq_42820064/article/details/86239033

    简单多元非线性回归算例
    现有以下数据
    

    在这里插入图片描述
    在这里插入图片描述

    MATLAB代码如下
    
    x1=[1.1 1 1.2 1.1 0.9]';
    x2=[2 2 1.8 1.9 2.1]';
    x3=[3.2 3.2 3 2.9 2.9]';
    y=[10.1 10.2 10 10.1 10]';
    G=[x1,x2,x3.^2];
    z=G\y;
    

    在这里插入图片描述

    [beta,r]=nlinfit(X,y,myfun,beta0);
    
    其中输入参数X是自变量,y是因变量,myfun 是函数模型,beta0是初始迭代系数向量,返回值beta是模型的系数向量,r是每个点的残差。
    
    先定义myfun
    function y=myfun(beta,x)
    y=beta(1)*x(:,1)+beta(2)*x(:,2)+beta(3)*x(:,3).^2;
    
    然后主程序
    x1=[1.1 1 1.2 1.1 0.9]';
    x2=[2 2 1.8 1.9 2.1]';
    x3=[3.2 3.2 3 2.9 2.9]';
    y=[10.1 10.2 10 10.1 10]';
    X=[x1,x2,x3];
    beta0=[1,1,1];
    [beta,r]=nlinfit(X,y,'myfun',beta0);
    

    在这里插入图片描述

    展开全文
  • 基于MATLAB的多元非线性回归模型.pdf
  • 以黄陵矿煤层瓦斯含量与相关因素的数据为例,采用基于多元非线性回归理论的数学方法,建立了一种适合矿井实际的预测模型:多元非线性瓦斯含量预测模型,通过该模型进行了煤层瓦斯含量预测,预测精度较高,适用性较强。
  • 对实验获得的离散点进行拟合,采用最小二乘原理、多元非线性回归模型线性化理论计算并确定模型参数,建立半焦分选特性的多元非线性回归模型,模型计算结果与实验数据吻合较好,相对误差均在9%以内。
  • Matlab多元非线性回归(nlinfit 函数)

    千次阅读 2020-01-10 14:05:50
    Matlab中使用nlinfit 函数进行多元非线性回归

    在matlab中常使用 nlinfit函数 进行多元非线性回归。

    1. 基本语法

    语法 参数说明
    beta = nlinfit(X, Y, modelfun, beta0) X -> 预测变量
    Y -> 响应值
    modelfun -> 指定的模型
    beta0 -> 参数初始值
    beta = nlinfit(X, Y, modelfun, beta0, options) options -> 评估算法的选择,默认为缺省,详见 options参考内容
    beta = nlinfit(___, Name, Value) 指定可选的逗号分隔的名称、值参数对。
    Name是参数名,Value是对应的值,参数名必须出现在引号内。
    可以以任何顺序指定几个名称和值对参数,如Name1, Value1, …, NameN, ValueN。例如:‘ErrorModel’, ‘proportional’, ‘ErrorParameters’, 0.5…
    [beta, R, J, CovB, MSE, ErrorModelInfo] = nlinfit(___) R -> 残差
    J -> 雅可比矩阵
    CovB -> 估计方差-协方差矩阵
    MSE -> 均方差
    ErrorModelInfo -> 误差模型拟合信息

    2. 示例

    X = 1 : 10;
    Y = [0 4 8 17 29 34 54 62 80 99];
    mymodel = inline('beta(1) * X .^ beta(2)', 'beta', 'X');
    beta0 = [1, 2];
    beta = nlinfit(X, Y, mymodel, beta0);
    

    输出结果: beta = 1.203177103441870 1.913267782105321

    X = 1 : 10;
    Y = [0 4 8 17 29 34 54 62 80 99];
    mymodel = inline('beta(1) * X .^ beta(2)', 'beta', 'X');
    beta0 = [1, 2];
    [beta, R, J, CovB, MSE, ErrorModelInfo] = nlinfit(X, Y, mymodel, beta0);
    

    输出结果:

    beta =
    
       1.203177103441870   1.913267782105321
    
    
    R =
    
      -1.203177103441870
      -0.531902426953979
      -1.844423386925135
      -0.069922248918235
       2.839481428235956
      -3.080132352538584
       4.200106803860550
      -2.295789744078874
      -0.547303920433009
       0.463452664946701
    
    
    J =
    
       1.0e+02 *
    
       0.009999999999931                   0
       0.037666127981753   0.031412881732651
       0.081820231121898   0.108152737129980
       0.141873719717092   0.236641274909903
       0.217428643531115   0.421041233755697
       0.308185129687587   0.664393679618334
       0.413903226770619   0.969072093923712
       0.534383368398917   1.337009450489727
       0.669455022058049   1.769827653002497
       0.818969511416963   2.268918061872248
    
    
    CovB =
    
       0.036203997364694  -0.013926635931111
      -0.013926635931111   0.005406465988118
    
    
    MSE =
    
       5.764136230306152
    
    
    ErrorModelInfo = 
    
                  ErrorModel: 'constant'
             ErrorParameters: 2.400861560004273
               ErrorVariance: @(x)mse*ones(size(x,1),1)
                         MSE: 5.764136230306152
              ScheffeSimPred: 3
              WeightFunction: 0
                FixedWeights: 0
        RobustWeightFunction: 0
    

    欢迎大家批评指正。

    展开全文
  • Matlab与1stOpt多元非线性回归,其中1stOpt无需设置初始值。

    使用Matlab和1stOpt对 y = b1 * x1b2 * x2b3 * x3b4 进行拟合。

    1. Matlab多元非线性回归

    Matlab常使用nlinfit函数进行多元非线性回归,主要语法:beta = nlinfit(X, Y, modelfun, beta0),其中,X为预测变量,Y为响应值,modelfun为指定的模型,beta0为参数初始值。其中,beta0对参数beta的估计起到很重要的作用,直接影响beta的优劣。

    Matlab中,首先构造modelfun = ‘beta(1) .* X(:,1) .^ beta(2) .* X(:,2) .^ beta(3) .* X(:,3) .^ beta(4)’,以及beta0,然后使用beta = nlinfit(X, Y, mymodel, beta0)语句求解,结果为:
    [1.125319074808870e-11; 0.206682275666316; 9.346992572477125; -0.713319766492658],R值为0.849547658794089。

    2. 1stOpt多元非线性回归

    为了避免初始值对beta估计的影响,可以使用1stOpt软件进行估计,需要试用版软件可以下载1stOpt试用版本安装包及操作手册,或者在评论区留下联系方式,不过试用版本的参数不得超过4个。
    多元非线性回归,使用1stOpt的编码很简单:

    在这里插入图片描述

    Parameter b1, b2, b3, b4;
    Variable x1, x2, x3, y;
    Function y=b1*x1^b2*x2^b3*x3^b4;
    Data;
    //x1	x2   	x3     	y
    3673831.01000000	39.5763140000000	74.3562590000000	12700.0100000000
    2897388.01000000	39.6674820000000	112.371992000000	5200.01000000000
    2357076.01000000	40.3692350000000	95.2484480000000	9000.01000000000
    769326.010000000	39.4360980000000	133.780490000000	13100.0100000000
    //...共计693条数据
    

    只需定义好参数名,变量名,方程模型以及数据,完场上述后运行,在结果栏进行查看。最重要的是,多元非线性回归中无需设置初始值。
    在这里插入图片描述

    展开全文
  • 为准确预测元宝山露天煤矿涌水量,提高煤矿生产安全系数,基于矿区多降雨量和煤炭产量实测数据,以降雨量和煤炭产量为涌水量影响因子,运用水文地质比拟法和多元非线性回归分析法,分别建立矿区涌水量预测模型,通过对比...
  • 多元非线性回归分析

    2006-02-23 09:05:59
    多元非线性回归分析
  • 使用MATLAB进行多元非线性回归——nlinfit函数的使用

    万次阅读 多人点赞 2018-12-03 16:29:11
    帮我对象做数据分析时遇到的问题,发现网上matlab多元非线性回归例子很少,写下来这篇用作参考 使用beta= nlinfit(x, y, model, beta0)  ——x为自变量,可以是多个自变量 ——y为因变量,只能由一个 ——model...
  • 多元非线性回归分析源代码

    热门讨论 2011-10-14 13:28:56
    数学工具,用于多元非线性回归分析,包含源代码,适用于源代码的学习和数学工具的使用
  • 【Matlab学习手记】多元非线性回归

    千次阅读 2019-08-16 10:46:15
    介绍两种方法做多元非线性回归:lsqcurvefit、Adagrad 法。 lsqcurvefit是Matlab提供的内置函数,用于基于最小二乘的曲线拟合问题;Adagrad是一种基于梯度的迭代方法,特点在步长不固定,随着迭代次数变化。 ...
  • matlab偏最小二乘法代码,整理各种线性和非线性回归,参考网上资料
  • 针对某矿3煤层赋存条件,...通过统计分析,得出关于煤壁水平位移及顶板下沉与采高、工作面长度和工作面支护强度之间的多元非线性回归公式,确定了工作面支护强度应在0.8~0.9 MPa,为深部特厚煤层综放开采提供了理论依据。
  • 最近在做多元线性回归,计算基因型和基因表达的关联,因为plink的功能不太够,只能自己写python算,这里做个小小的总结。参考网上的总结:8种用Python实现线性回归的方法对比详解_python_脚本之家​www.jb51.net...
  • import numpy as npclass LinearRegression:'''支持多元线性回归'''def __init__(self):'''初始化 Linear Regression 模型'''self.coef_ = Noneself.interception_ = Noneself._theta = Nonedef fit_normal(self,X_...
  • 从头开始学习为Python中任意数量的变量开发多元线性回归线性回归可能是最简单的机器学习算法。对于初学者来说非常好,因为它使用简单的公式。因此,这对学习机器学习概念很有帮助。在本文中,我将尝试逐步解释多元...
  • 1、可线性化的非线性分析变量之间的非线性形式较多,较为常见的形式如下图:非线性形式的变量关系一般可以通过变量代换或转换的方式转化为线性关系。横纵轴所代表变量之间的关系为幂函数形式的关系,即可建立的模型...
  • 基于潮流跟踪理论确定线路功率的主导开闭所负荷,并建立线路功率与主导开闭所负荷之间的功率分摊多元非线性回归模型。在此基础上,提出以变电站下网功率之和最大为目标函数,以电网N - 1供电安全准则下的变电站主变...
  • SAS进行多元非线性回归

    千次阅读 2012-09-12 21:13:49
    多元非线性回归方程重要方法是转化为线性回归方程.转化时应首先选择适合的非线性回归形式,并将其线性化。对于实际问题,首先应对原始数据进行作图或通过观察,选择适当函数进行拟合。 已知1978~2006年全国GDP(y)...
  • 试试像这样的编辑:添加了一个使用线性回归结果估计输出的示例函数。import numpy as npdata =np.array([[-0.042780748663101636, -0.0040771571786609945, -0.00506567946276074],[0.042780748663101636, -0....
  • function [fitresult, gof] = createFit(x1, x2, y)[xData, yData, zData] = prepareSurfaceData( x1, x2, y );% Set up fittype and options.ft = fittype( '(A/x)*exp(B/x)*y^(-C)', 'independent', {'x', 'y'}, '...
  • Matlab 使用nlinfit 函数进行多元非线性回归,并且绘制曲线拟合的误差区间一、前言二、nlinfit函数使用1、函数语法2、拟合示例:三、误差阴影绘制四、整体源码思考参考博客 一、前言 这个也是最近我接到的一个小项目...
  • 以某矿全尾砂为原料,制作灰砂比为1∶4、1∶6、1∶8和1∶...基于Excel和SPSS软件,建立了不同龄期充填体强度与灰砂比、料将质量浓度的回归方程,回归方程相关性系数较高、显著性较强,能较好的表征各因素对强度的影响规律。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 875
精华内容 350
关键字:

多元非线性回归