精华内容
下载资源
问答
  • 本课程主要讲述如何使用python进行线性回归与非线性回归分析,包括: 基于statsmodel的线性回归方法基于sklearn的线性回归方法基于Numpy的一元多项式非线性回归方法基于sklearn的多元多项式非线性回归方法基于scipy...
  • 非线性回归是回归函数关于未知回归系数具有非线性结构的回归。常用的处理方法有回归函数的线性迭代法、分段回归法、迭代最小二乘法等。非线性回归分析的主要内容与线性回归分析相似。
  • 使用R进行非线性回归分析,好书一本,不要错过。。。。。。
  • RBF、BP神经网络是常见且相对简单的人工神经网络,可用于解决非线性分类、回归问题。此处用来解决非线性回归问题。
  • 第12章 Stata非线性回归分析

    千次阅读 2021-07-16 15:33:08
    如果遇到回归参数不是现行的,也不能通过转换的方法将其转换为线性的参数,这时候就需要用到本章将要讲述的非线性回归分析。常用的非线性分析方法由3终,包括非参数回归分析、转换变量回归分析以及非线性回归分析。 ...

    目录

    12.1非参数回归分析

    案例延伸

    延伸1:设定散点图被分成垂直等宽波段的数量

    延伸2:设定修匀的波段宽度 

    12.2转换变量回归分析

    12.3非线性回归

     案例延伸

    延伸1:设定非线性回归模型中被估计参数的初始值

     延伸2:采用文件的标准差进行非线性回归估计

    延伸3:采用系统默认快捷函数进行非线性回归


            前面讲述的回归分析方法都属于线性回归的范畴,即因变量和自变量之间存在线性关系。在很多情况下,线性模型都是对真实情况的一种合理又简单的近似。如果遇到回归参数不是现行的,也不能通过转换的方法将其转换为线性的参数,这时候就需要用到本章将要讲述的非线性回归分析。常用的非线性分析方法由3终,包括非参数回归分析、转换变量回归分析以及非线性回归分析。

    12.1非参数回归分析

            非参数回归分析与前面讲述的回归方式区别很大,是一种探索性工具,通常不会像其他回归方法一样形成一个明确的回归方程,基本上是展示因变量与自变量之间关系的图形工具。其优势在于不要求研究者事先设定模型的情况下就可直观概要的描述数据。

            数据(案例12.1)是某国内保险公司采取区域事业部制的组织机构模式,在国内有两个事业部;北方事业部和南方事业部。该公司对其客户经理制定了了严格的激励约束措施,可交互精力的薪酬为基本工资乘以绩效考核系数,绩效考核系数上不封顶、下不保底,所以客户精力之间的收入差距很大。某研究者随机抽取的部分客户经理的理念考核系数如下图,请用非参数回归方法研究年份和绩效考核系数两个变量之间的关系。把所属事业部变量设定为region 年份为year 考核系数为coefficient

    sum year coefficient,detail  #对两个变量进行描述性统计
    
    twoway line coefficient year  #描述年份和绩效考核系数之间的变化关系,用绘图功能表示

             我们可以看出使用普通的绘图方式来藐视年份和绩效考核系数之间的变化关系是非常不清晰的,所以很有必要进行非参数回归来描述这种关系。

    graph twoway mband coefficient year || scatter coefficient year  #本命令是对数据进行非参数回归并绘制年份和绩效考核系数之间的散点图

            从图中可以看出散点图被分成了8个垂直等宽的波段,并使用线段将每一波段内的中位数(年份的中位数、绩效考核系数的总位数)连接起来,这条线段只管描绘了绩效考核系数随年份的变化走势。可以认为,绩效考核系数跟年份之间是一种高度波动关系,从2000年开始到2010年,被观测的客户经理多的绩效考核系数先下降又上升,再下降又上升,又下降。 

    graph twoway mband coefficient year || scatter coefficient year||,by(region)  #本命令的含义是以事业部为分类对数据进行非参数回归,并且绘制年份与绩效考核系数之间的散点图

             从图中可以看出北方事业部和南方事业部的绩效考核系数的整体走势是很相近的,但是南方事业部的波动要相对平滑一些。

    lowess coefficient year if region == 1  #本命令是对数据进行修匀,这是非参数回归的另外一种重要形式

            从图中我们可以看出,在修匀的情况下绩效考核系数一直绕着一条值约为1.6的中轴线上下波动,可以初步判定该公司的客户经理的绩效水平是比较高的 。

    graph twoway lowess coefficient year if region==1 || scatter coefficient year  #旨在把修匀命令融合到非参数回归中
    

             该结果与上图是一致的。

    案例延伸

    延伸1:设定散点图被分成垂直等宽波段的数量

    graph twoway mband coefficient year ,bands(10) || scatter coefficient year 

             从上图可以看出,相对于系统默认设定,散点图得到了更加细致的划分,绩效考核系数走势也更加清晰明朗。

    graph twoway mband coefficient year ,bands(10) || scatter coefficient year || , by(region)
    
    #以事业部为分类对数据进行非参数回归,并把散点图分成10段垂直等宽的波段

    延伸2:设定修匀的波段宽度 

    例如:要设定对没一点进行修匀的样本比例为0.4

    lowess coefficient year if region == 1,bwidth(0.4)

            从上图可以看出,数据的波动性得到了增强,修匀程度得到了进一步的降低。系统默认的修匀样本比例是0.8,波段宽度也就是修匀样本比例越接近于1,数据修匀的程度越低。

    12.2转换变量回归分析

            转换变量回归分析是解决变量间非线性关系的重要方法之一,基本思想是对一个或者更多的变量进行恰当行是的非线性转化,然后将转换好的变量纳入到线性回归分析模型中进行分析。由此可见转换变量回归分析在本质上仍属于线性回归分析的范畴。但它的确是解决描述变量间非线性关系的较好方法。

            数据(案例12.2)研究发现,锡克氏实验阴性率随着而同年年龄的增长有所升高。山东某1-7岁儿童锡克氏实验阴性率如下图所示,试用转换变量回归分析方法拟合曲线。变量为年龄age、阴性率/%ratio。

    sum age ratio ,detail #对变量进行描述性统计
    
    twoway line ratio age #通过绘图,从整体上对数据有一个清晰直观的把握
    
    graph twoway scatter ratio age || lfit ratio age  #通过绘图,从整体上对数据有一个清晰直观的把握

             我们可以看到,阴性率随着年龄的上升而上升,但是上升的速度越来越慢,因此初步构想的模型包括线性、对数、二次、三次等。

    reg ratio age  #对两个便令进行回归分析
    
    gen lnage=log(age) #对年龄变量进行自然对数变换。
    
    reg ratio lnage  #对两个变量进行回归分析
    
    gen age2 = age^2
    
    reg ratio age2 age
    
    gen age3 = age^3
    
    reg ratio age3 age2 age 

            当大家运行完之后,大家看得是谁和谁得关系?当然是ratio和age 得了,我们只不过是为了提高模型得解释程度和显著性。大家可能会想变量变化之后不是原来变量了这···想多了,我们还是看自己原来得目的就好。结果不过多赘述。 

    12.3非线性回归

            上节讲述的转换变量回归分析从本质上讲仍属于一种线性回归分析方法,而师级问题往往会更加复杂,使用转换变量回归分析方法便无从做出准确的分析,这时候就需要用到Stata的非线性回归。非线性回归分析是一种功能更强大的处理非线性问题的方法,可以使用户自定义任意形式的函数,从而更加准确的描述变量之间的关系。

            数据(案例12.3)是某著名总裁培训班想要建立一个回归模型,对参与培训的企业高管毕业后的长期表现情况进行预测。自变量是高管培训天数(X)因变量是高管毕业后的长期表现指数(y),指数越大表现越好。

    sum y x ,detail  #对两个变量进行描述性统计
    
    twoway line y x #绘制两个变量的线型图,从整体上对数据有一个清晰直观的把握。
    
    graph twoway scatter y x || lift y x #绘制线型图,从数据上有一个把握

     可以看出长期表现指数随着培训天数的上升而下降

    reg y x  #进行最小二乘回归分析,探索变量之间的关系

             从上图我们可以看出线性模型的整体显著性和系数显著性尚可,但是模型的整体解释能力又较大的提升空间

     nl(y=exp({(a)+(b)*x}))  #构建非线性模型 nl(y=exp({(a)+(b)*x}))

            y=EXP(4.063108-0.0392997*x) 

             我们可以看出非线性回归模型在保持整体显著性和系数显著性比线性模型很高的基础上实现了模型的整体解释能力的较大提升。 

    vce  #本命令旨在估计系数a和b的方差-协方差矩阵
    
    predict yhat #本名旨在获得因变量的拟合值
    
    predict e ,resid  #获得残差

     案例延伸

    延伸1:设定非线性回归模型中被估计参数的初始值

    nl (y = exp({a}+{b}*x)),initial(a 4 b -0.04)

            从上图可以看出由于 初始参数值的设定减少了迭代次数,提高了系统运行效率,结果与前面是一致的。

     延伸2:采用文件的标准差进行非线性回归估计

    nl (y = exp({a}+{b}*x)),robust

    延伸3:采用系统默认快捷函数进行非线性回归

    非线性函数命令缩写非线性函数形式
    exp2y = b1*b2^x
    exp3y = b0+b1*b2^x
    exp2ay = b1*(1-b2^x)
    log3y = b1/(1+exp(-b2*(x-b3)))
    log4y = b0+b1/(1+exp(-b2*(x-b3)))
    gom3y=b1*exp(-exp(-b2*(x-b3)))
    gom4y=b0+b1*exp(-exp(-b2*(x-b3)))

            例如:在本例中我们设定非线性模型回归形式为:y = b1*b2^x 

    nl exp2 y x

            回归方程:y = 58.15477*0.9614625^x

    展开全文
  • 为准确预测元宝山露天煤矿涌水量,提高煤矿生产安全系数,基于矿区多降雨量和煤炭产量实测数据,以降雨量和煤炭产量为涌水量影响因子,运用水文地质比拟法和多元非线性回归分析法,分别建立矿区涌水量预测模型,通过对比...
  • 非线性回归分析及其应用,贝茨。值得看看,对非线性回归理论学习挺有用的。
  • RBF神经网络-非线性回归分析,matlab代码,值得学习,欢迎下载
  • Matlab一元非线性回归分析

    万次阅读 2018-12-27 21:11:11
    Matlab一元非线性回归分析的分析步骤与一元线性回归分析的步骤类似: 大体分为以下几步: (1)绘制x,y的散点图,分析散点图的走势; (2)根据散点图的走势,确定回归方程的具体形式,特别是参数个数的设定和...

    Matlab一元非线性回归分析的分析步骤与一元线性回归分析的步骤类似:

    大体分为以下几步:

    (1)绘制x,y的散点图,分析散点图的走势;

    (2)根据散点图的走势,确定回归方程的具体形式,特别是参数个数的设定和设定初始值;

    (3)调用NonLinearModel的fit方法进行模型拟合;

    (4)模型改进,去除异常值的操作;

    (5)进行残差分析,验证模型。

    下面以某商品的数量与定价为例,进行实例展示;

    (1)绘制x,y的散点图,分析散点图的走势;

    [data,y0]=xlsread('C:\Users\箫韵\Desktop\Matlab数理与统计分析\exdata\test1',3);
    x=data(:,2);%提取列数据自变量数据
    y=data(:,3);%提取列数据因变量数据
    figure;
    plot(x,y,'ko');%绘制散点图
    xlabel('数量');
    ylabel('价格');

                                             图1 散点图

    (2)根据散点图的走势,确定回归方程的具体形式,特别是参数个数的设定和设定初始值;

    %建立一元非线性回归方程
    % yi=f(xi;b1,b2)+ai
    % ai~N(0,aa^2),i=1,2,..n
    price=@(beta,x)beta(1)./(1-beta(2)*x);%根据散点图趋势建立方程f(x)=b1./(1-b2*x),方程形式并不唯一。
    beta0=[120,0.008];%beta0为b1,b2的初始值。根据x的取值范围,x在22与40之间,y>0,故需b2<0.25。

                                %根据y值是84到280的不等分布,主要集中在110到130,故b1取值120较合适,根据方程,b2取0.008即可。
    opt=statset;%创建结构体变量类
    opt.Robust='on';%开启回归稳健性方法
    nlm1=NonLinearModel.fit(x,y,price,beta0,'Options',opt);
    %y=41.459./(1-0.02213*x)

    (3)调用NonLinearModel的fit方法进行模型拟合;

    xnew=linspace(20,40,50)';%取50个x的值在20到40之间
    ynew=nlm1.predict(xnew);%进行ynew预测
    figure;
    plot(x,y,'ko');
    hold on;
    plot(xnew,ynew,'linewidth',2.5);
    xlabel('数量');
    ylabel('价格');
    legend('原始数据散点','非线性回归曲线');

                                                  图2 模型拟合效果

    (4)模型改进,去除异常值的操作;

    异常值的诊断。NonlinearModel类对象的Residuals属性值中有标准化残差和学生化残差值。这里通过学生化残差查询异常值
    Res2=nlm1.Residuals;
    Res_Stu2=Res2.Studentized;
    id2=find(abs(Res_Stu2)>2);
    %properties(nlm1);%可以查询nlm1的属性

    %去除异常值重新构建回归模型
    nlm2=NonLinearModel.fit(x,y,price,beta0,'Exclude',id2,'options',opt);
    %y=41.394./(1-0.22195*x)

    xnew=linspace(20,40,50)';
    y1=nlm1.predict(xnew);
    y2=nlm2.predict(xnew);
    figure;
    plot(x,y,'ko');
    hold on;
    plot(xnew,y1,'r--','linewidth',2);
    plot(xnew,y2,'b.','linewidth',2);
    xlabel('数量');
    ylabel('价格');
    legend('原始数据散点','回归曲线','去除异常值后的回归曲线');

                               图3 去除异常值与未去除异常值的拟合对比

    (5)进行残差分析,验证模型。

    调用的是NonLinearModel类中的plotResiduals方法。残差分析有比较多的方法,这里以残差直方图和残差正态概率图为例。

    %回归诊断
    figure;
    subplot(1,2,1);
    nlm1.plotResiduals('histogram');
    title('(a)残差直方图');
    xlabel('残差r');
    ylabel('f(r)');
    subplot(1,2,2);
    nlm1.plotResiduals('probability');
    title('(b)残差正态概率图');
    xlabel('残差');
    ylabel('概率');

                                                 图4 残差直方图和残差正态概率图

    原始数据
    order数量价格
    12589
    228108
    326115
    42399
    526109
    632124
    735210
    830126
    934132
    1029110
    1133135
    1236226
    1334136
    1436220
    1536208
    1630125
    1732146
    1830129
    1935140
    2029116
    2131123
    2232126
    2328135
    2436208
    2540240
    2628125
    2729113
    2836208
    2932135
    3038267
    3140225
    3238278
    3328118
    3432124
    3534146
    3636208
    3730111
    3829115
    3936208
    4029123
    4125110
    4229135
    4326123
    442399
    4526125
    3635180
    3735178
    3835175
    3935176
    4035180
    4135178
    4234175
    4335168
    4435167
    4534179
    4331129
    4431121
    4531125
    展开全文
  • 多元多参数的非线性回归分析的资料。一般的书上只讲了线性回归,对非线性回归提到较少,所以是一个难得的资料
  • SPSS数据分析_非线性回归分析

    千次阅读 2020-06-02 12:17:21
    题目: ...7.4 非线性回归分析 7.4.2 SPSS中实现过程 下面是我的操作: 分析->回归->曲线估算 确定 7.5 曲线估计 下面是我的操作: 分析->回归->曲线估算

    用3道题目学习:

    1
    用SPSS的非线形回归分析研究民用汽车总量与国内生产总值的关系

    2
    试用SPSS对国内生产总值和社会消费品零售总额之间的关系进行非线形回归分析

    3
    试用SPSS对1978~2006年间社会消费品零售总额之间的关系进行时间序列曲线回归分析。

    7.4 非线性回归分析

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

    7.4.2 SPSS中实现过程

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

    下面是我的操作: 分析->回归->曲线估算

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

    7.5 曲线估计

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

    下面是我的操作: 分析->回归->曲线估算

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

    7.6 时间序列的曲线估计

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

    下面是我的操作: 分析->回归->曲线估算

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

    结语:

    主要给我自己看的, 好回来复习.

    时间: 2020-06-02

    展开全文
  • 多元非线性回归分析源代码

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

    万次阅读 多人点赞 2020-02-23 15:14:22
    回归分析简介 ...如果自变量与因变量之间的函数关系是线性函数,则称之为线性回归分析,否则称之为非线性回归分析。 线性回归的函数表达式一般表示为: 对于非线性回归分析,需要根据实际情况来确定函...
    • 回归分析简介

    回归分析(regression analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

    如果只有一个自变量,则称之为一元回归分析;如果具有多个自变量,则称之为多元回归分析。

    如果自变量与因变量之间的函数关系是线性函数,则称之为线性回归分析,否则称之为非线性回归分析。

    线性回归的函数表达式一般表示为:

    对于非线性回归分析,需要根据实际情况来确定函数类型,再根据已知的数据来估计非线性函数中的参数。常见的回归函数有幂函数、指数函数、对数函数、S型曲线函数,S型曲线函数中常见的是Logistic回归模型,其函数表达式为:

     

    对于非线性回归,往往需要根据已知的数据绘制散点图,以此分析出数据的变化趋势,进而确定回归模型。

    • 基于Matlab非线性回归分析

    1.函数nlinfit语法:

    [beta,r,j] = nlinfit(x,y,@function,b0)

    x表示自变量

    y表示因变量

    function表示回归函数的函数名

    b0表示回归函数中参数的初值

    beta表示回归参数的最优值

    r表示残差

    j表示雅克比矩阵

    2.案例:

    现有某地区1971—2000年的人口数据,试对该地区的人口变化进行曲线拟合。

    年份

    时间变量x=年份-1970

    人口y(人)

    1971

    1

    33 815

    1972

    2

    33 981

    1973

    3

    34 004

    1974

    4

    34 165

    1975

    5

    34 212

    1976

    6

    34 327

    1977

    7

    34 344

    1978

    8

    34 458

    1979

    9

    34 498

    1980

    10

    34 476

    1981

    11

    34 483

    1982

    12

    34 488

    1983

    13

    34 513

    1984

    14

    34 497

    1985

    15

    34 511

    1986

    16

    34 520

    1987

    17

    34 507

    1988

    18

    34 509

    1989

    19

    34 521

    1990

    20

    34 513

    1991

    21

    34 515

    1992

    22

    34 517

    1993

    23

    34 519

    1994

    24

    34 519

    1995

    25

    34 521

    1996

    26

    34 521

    1997

    27

    34 523

    1998

    28

    34 525

    1999

    29

    34 525

    2000

    30

    34 527

    Matlab实现如下:

     

    1)首先绘制散点图如下 :

     

    根据此图,可以 看出两组数据走势满足Logistic模型,因此选择Logistic回归模型。

    2)新建一函数文件,文件名为ModelFunction.m,文件内容如下:

    function y = ModelFunction( beta, x )

    y = 1 ./ (beta(1) + beta(2) * exp(-x));

    3)再创建一个新的M文件,文件名为TestData.m,其内容如下:

    x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30]; 

    y=[33815 33981 34004 34165 34212 34327 34344 34458 34498 34476 34483 34488 34513 34497 34511 34520 34507 34509 34521 34513 34515 34517 34519 34519 34521 34521 34523 34525 34525 34527];

    b0=[0.0001 0.00001];

    [ beta, r, j ] = nlinfit( x, y, @ModelFunction, b0 )

     

    4)运行结果如下:

    beta的输出值为

    beta =

        1.0e-004 *

    0.2902    0.0184

    即回归分析方程为:

     

    最后执行命令:plot( x, ModelFunction( beta, x ) ),得到拟合之后的结果:

    作者:YangYF 

    展开全文
  • 使用随机权重网络的模糊非线性回归分析
  • BPRBF非线性回归,非线性回归分析,matlab源码.rar
  • BPRBF非线性回归,非线性回归分析,matlab源码.zip
  • 主要介绍了Python利用神经网络解决非线性回归问题,结合实例形式详细分析了Python使用神经网络解决非线性回归问题的相关原理与实现技巧,需要的朋友可以参考下
  • 非线性回归分析及其应用(426s).pdf
  • 基于MATLAB的多元非线性回归模型.pdf
  • 针对某矿3煤层赋存条件,...通过统计分析,得出关于煤壁水平位移及顶板下沉与采高、工作面长度和工作面支护强度之间的多元非线性回归公式,确定了工作面支护强度应在0.8~0.9 MPa,为深部特厚煤层综放开采提供了理论依据。
  • 在利用SPSS进行非线性回归分析的操作过程中,在给定函数模型的条件下,需要给函数赋初值,按照教程(单击“参数”按键,弹出“非线性回归:参数”对话框,设置参数的开始值a=13,b=-6.5,c=-1.5)进行操作时,发现开始...
  • 文章介绍了粒子群算法(PSO)和小波神经网络的基本原理,把基于粒子群小波网络的混合...从仿真结果可以看出,本方法的回归值和岩心分析值符合较好,表明粒子群小波网络进行非线性回归分析是一种有效的数据回归方法。
  • 讲解MATLAB在多元非线性回归方面的一篇学术论文,非常值得参考,很有用。
  • 关于如何使用Matlab构建多元非线性回归模型在数学建模中有许多情况需要用到多远非线性回归
  • matlab偏最小二乘法代码,整理各种线性和非线性回归,参考网上资料
  • 非线性回归分析用于钢液的LIBS检测
  • 基于MATLAB我国原油热波特性的非线性回归分析.pdf
  • 应用MATLAB进行非线性回归分析报告.docx

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,025
精华内容 22,410
关键字:

非线性回归分析

友情链接: Java.zip