精华内容
下载资源
问答
  • 线性回归模型建模步骤一元线性回归、多元线性回归)
  • 从-10到10之间的100个等差数列 # 设置一个线性回归公式 y = 0.85*x - 0.72 # 创建一组数量为100,均值为0,标准差为0.5的随机数组 e = np.random.normal(loc = 0,scale = 0.5,size = x.shape) # 将变量y加上这个变量...

    #建模、预测和可视化

    # 导入相关包
    import numpy as np
    from sklearn.linear_model import LinearRegression
    from sklearn.model_selection import train_test_split  # 切分训练集和测试集的函数
    
    import matplotlib
    import matplotlib.pyplot as plt
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
    matplotlib.rcParams['axes.unicode_minus']=False  # 用来正常显示负号
    matplotlib.style.use('ggplot')
    
    # 构造数据
    np.random.seed(0)
    x = np.linspace(-10,10,100) # 从-10到10之间的100个等差数列
    # 设置一个线性回归公式
    y = 0.85*x - 0.72
    # 创建一组数量为100,均值为0,标准差为0.5的随机数组
    e = np.random.normal(loc = 0,scale = 0.5,size = x.shape)
    # 将变量y加上这个变量e
    y += e
    plt.plot(y) # 数据折线图如下:

    # 将x转换为二维数组,因为fit方法要求x为二维结构
    x = x.reshape(-1,1)
    
    lr = LinearRegression()
    # 切分训练集和测试集
    x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.25,random_state=0)
    
    # 拟合函数
    lr.fit(x_train,y_train)
    # 拟合后可利用lr.coef_和lr.intercept_来取出(w)权重和(b)截距
    print('权重:',lr.coef_)
    print('截距:',lr.intercept_)
    
    # 通过训练集得到了拟合函数,就可以进行预测
    y_hat = lr.predict(x_test)
    # 可查看对比实际值和预测值
    print('实际值:',y_test)
    print('预测值:',y_hat)
    
    # 将数据可视化
    plt.figure(figsize=(10,5))
    # 训练接和测试集都以散点来表示,拟合线用折线表示
    plt.scatter(x_train,y_train,s=10,label='训练集',c='b')
    plt.scatter(x_test,y_test,s=10,label='测试集',c='g')
    plt.plot(x,lr.predict(x),label='拟合线',c='r')
    plt.legend() 
    # 数据视图如下:

    # 用图表示出实际值和预测值
    plt.figure(figsize=(10,5))
    plt.plot(y_test,label='真实值',c='r',marker='o')
    plt.plot(y_hat,label='预测值',c='g',marker='x')
    plt.legend()
    # 数据视图如下:

    #模型评估

    MSE:Mean Squared Error

    平均方误差是指参数的估计值和参数的实际值之差的平方的期望,可以评价数据的变化程度,MSE越小,说明模型的拟合实验数据能力强。

    RMSE :Root Mean Squared Error

    根均方误差是均方误差的平方根。

    MAE: Mean Absolute Error

    平均绝对误差是样本绝对误差的绝对值,能更好的反应预测值误差的实际情况。

    # 模型评估
    from sklearn.metrics import mean_squared_error,mean_absolute_error,r2_score
    print("平均方误差(MSE):",mean_squared_error(y_test,y_hat))
    >>> 平均方误差(MSE): 0.2738537199293911
    
    print("根均方误差(RMSE):",mean_absolute_error(y_test,y_hat))
    >>> 根均方误差(RMSE): 0.4374356584882062
    
    print("平均绝对值误差(MAE):",r2_score(y_test,y_hat))
    >>> 平均绝对值误差(MAE): 0.9896372020590347

    参考链接:

    python代码实现回归分析--线性回归 - 知乎

    均方误差(MSE)根均方误差(RMSE)平均绝对误差(MAE)_lighting-CSDN博客

    展开全文
  • SPSS一元线性回归

    千次阅读 2020-02-13 11:22:12
    回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。 回归分析的任务就是:通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测...

    线性回归分析基本内容

    回归分析 是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。
    回归分析的任务就是:
    通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。

    线性回归有3个关键词:相关性、Y、X

    1. 相关性≠因果性
    2. Y为因变量
    3. X为自变量

    回归分析的使命:

    1、识别重要变量
    识别并判断,哪些X变量是同Y相关的,哪些变量不相关。去除了那些于Y无关的自变量X,那么剩下的,就都是重要的、有用的X变量了。
    2、判断相关性的方向
    这些有用的变量同Y的相关是正的,还是负的呢?
    3、估计权重(回归系数)
    在确定了重要自变量X后,我们还需要给X赋予一定的地位(权重,也就是不同的回归系数),进而我们可以知道这些重要变量X中,不同变量之间的相对重要程度。

    利用SPSS软件进行一元线性回归

    Step1:导入数据

    本例采用的是模拟数据,将Excel中的数据导入到SPSS中。
    在这里插入图片描述

    在这里插入图片描述

    Step2:绘制散点图

    从菜单栏中依次点击:图形→旧对话框→散点图/点状图→简单散点图;再添加趋势线。
    ***散点图的意义:***该步骤Step2,是为了 更加直观地观察出 X于Y 之间是否线性相关。

    如果散点图都不呈现出一元线性相关,也没有必要 分析一元线性回归关系了。(此时应该考虑 更换数学模型。)
    在这里插入图片描述
    也可以直接在Excel做散点图。
    在这里插入图片描述

    Step3:线性回归分析

    在菜单栏上依次点击:分析→回归→线性
    具体操作给大家一个视频:SPSS线性回归操作
    B站上类似的操作视频很多,大家也可以自己找找更适合自己的教学视频。

    Step4:线性回归结果分析

    SPSS的数据分析 “输出”窗口中会出现很多图表,接下来我们来分析分析一些重要的图表。

    图表1:【输入/除去的变量】
    在这里插入图片描述
    此表是拟合过程中变量输入/除去模型的情况记录。
    由于我们只引入了一个自变量,所以只出现了一个模型1(在多元线性回归中就会依次出现多个回归模型)

    图表2:【模型摘要】
    在这里插入图片描述
    此表为所拟合模型的情况汇总,对于模型1:

    相关系数R=0.992
    拟合优度R方=0.983
    调整后的拟合优度调整R方=0.982
    标准估算的误差0.3512

    【注意】R方(拟合优度):是回归分析的决定系数,说明自变量和因变量形成的散点图与回归曲线的接近程度,数值介于0和1之间,这个数值越大说明回归的越好,也就是散点越集中于回归线上。
    图表3:【ANOVA】-Analysis of variance

    在这里插入图片描述
    此表是所用模型的检验结果,一个标准的方差分析表。
    显著性(Sig./Significant)值是回归关系的显著性系数。Sig.是F值的实际显著性概率,即P值。

    • 当Sig.≤0.05时,说明回归具有统计学意义;
    • 若Sig.>0.05,说明两者之间用当前模型回归没有统计学意义,应该考虑更换模型(联系之前的散点图思考一下)

    由表可见,显著性为0.000,因此我们的这个回归模型时具有统计学意义的,可以继续看下面【系数】
    图表4:【系数】
    在这里插入图片描述
    由表中显著性,可知常量和x系数 都是具有统计学意义的。

    • 由此得回归方程:y = 0.463x + 0.51
    展开全文
  • stata 线性回归分析基本操作

    万次阅读 多人点赞 2019-09-18 09:55:53
    一、线性回归基本命令 regress y x1 x2 (红色表示该命令可简写为红色部分) 以 Nerlove 数据为例(数据附后文) regress lntc lnq lnpf lnpk lnpl 表上半部分为方差分析表,包括回归平方和,残差平方和,...

    一、线性回归基本命令

    regress y x1 x2   (红色表示该命令可简写为红色部分)

    以 Nerlove 数据为例(数据附后文)

    regress lntc lnq lnpf lnpk lnpl

          表上半部分为方差分析表,包括回归平方和,残差平方和,均方,F检验等。上半部分右侧给出拟合优度R2和调整的R2。root MSE 表示方程的标准误差。

        表下半部分为回归系数的点估计和区间估计值,标准误和t检验值。

    如果回归不需要常数项,则可在命令后面加上 noconstant

    regress lntc lnq lnpf lnpk lnpl,noc

    二、带约束条件的回归

    如果只对满足一定条件的样本进行回归,可增加条件项  if 条件

    假如本例中q>=6000认定为大企业,则可设置如下命令

     regress lntc lnq lnpf lnpk lnpl if q>=6000
    
    

    或者使用虚拟变量表示,定义一个新变量large ,如果是大企业,则取值为1,否则为0,代码为

     g large=(q>=6000)
     regress lntc lnq lnpf lnpk lnpl if large

    输出结果等价于上面if条件结果。

    如果对非大企业进行回归,则可表示为

     regress lntc lnq lnpf lnpk lnpl if large==0
    
    

    如果回归系数需满足某些指定条件,比如a1+a2+a3=1,a1=2a2 等,则可通过设置约束条件完成:

     constraint def 1 lnpl+ lnpk+ lnpf=1
     
     cnsreg lntc lnq lnpf lnpk lnpl,c(1)

    constraint def  1  定义第一个约束条件,cnsreg表示带约束回归,c(1) 表示满足约束条件1

    如果需要同时满足几个条件,可以进一步设置条件2,条件3,以新增约束条件lnq=1 为例

     cons def 2 lnq=1
    
     cnsreg lntc lnq lnpf lnpk lnpl,c(1-2)
    

    三、预测、检验和相关计算

    如果要计算因变量的拟合值,并保存到新变量yhat中,则可采用predict:

    以对无约束条件的回归进行预测为例:

    regress lntc lnq lnpf lnpk lnpl
    
    predict yhat

    预测结果保存在原始数据集中

    进一步计算残差,并保存到e1中,则可(其中residual可简写):

     predict e1,residual

    残差e1结果保存在原始数据中

    如果要对某个系数进行计算,可直接采用display 表达式方式,比如计算lnq的平方

     di _b[lnq]^2

    如果需要对系数进行某种条件检验,可采用test 条件,以检验lnq=1,lnpl+lnpk+lnpf=1 为例

     te lnq=1
     te (lnq=1)(lnpl+lnpk+lnpf=1)
    
    

     

    单独检验lnq=1,F检验显示拒绝原假设;联合检验lnq=1,lnpl+lnpk+lnpf=1,拒绝联合成立的原假设。

    对两个系数同时等于0进行假设,可采用命令 te 变量1 变量2 ,以检验lnpl lnpk联合等于0为例:

     test lnpl lnpk

    F检验表明不拒绝两者皆为0的原假设。

    展开全文
  • 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
    展开全文
  • 基于jupyter notebook的python编程—–运用sklearn库,导入文件数据模拟一元线性回归分析一、运行jupyter notebook,搭建python环境1、打开Windows终端命令行,输入==jupyter notebook==,打开我们的jupyter工具,...
  • 目标:写清楚一元线性回归的全部过程 步骤: 1. 确定变量variable:independent variable or dependent variable 2. 画散点图确定回归模型scatter diagram 线性相关: 3. 显著性检验:皮尔逊相关系数...
  • 用Excel做回归分析的详细步骤 一、什么是回归分析法 “回归分析”是解析“注目变量”和“因于变量”并明确两者关系的统计方法。此时,我们把因子变量称为“说明变量”,把注目变量称为“目标变量址(被说明变量)”。...
  • MATLAB一元线性回归分析

    千次阅读 2019-09-25 07:02:00
    MATLAB一元线性回归分析应用举例 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ huigui.m function [b,bint,r,rint,states,sima2,p,y0,zxqj]=huigui(x,y,x0) %x –p元线性模型自变量的n个观测值...
  • spss系列——一元线性回归分析与预测实例

    千次阅读 多人点赞 2021-01-21 16:41:29
    spss系列——一元线性回归分析与预测实例散点图回归系数二级目录三级目录 本文主要利用某商店记录了12个月的销售收入yyy(亿元)和广告费xxx(亿元),研究某广告对销售收入的影响,其数据见下表所示。 销售收人与...
  • 一元线性回归分析(SPSS版) 原创 Gently spss学习乐园 2019-11-25 一元线性回归模型回归分析(regression analysis )是研究一个变量如何随另一个或一些变量变化的方法。例如,学习成绩会受努力的时间,方法,个人...
  • Excel一元线性回归示例 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。 2 一元线性回归简介 回归分析只涉及到两个变量的,称一元回归...
  • Eviews的基本使用,简单线性回归分析

    万次阅读 多人点赞 2020-04-15 15:13:17
    数据如下: 1、建立工作表 2、由于数据是截面数据,选择Unstructured/Undated ...在EViews命令框中输入“LS Y C X”,按回车,即出现回归结果 7、显示回归图形 在“Equation”框中,点击“Resid...
  • 目录 一、Excel 数据分析选项 二、线性回归分析 三、总结 四、参考资料 本文内容:对年龄-心率原始数据,用 Excel 做线性回归。... 四、参考资料 [1] 如何使用excel做一元线性回归分析 [2] Excel中如何添加数据分析模块
  • 基于jupyter notebook的python编程—–运用sklearn库,导入文件数据模拟多元线性回归分析的目录一、运行jupyter notebook,搭建python环境1、打开Windows终端命令行,输入==jupyter notebook==,打开我们的jupyter...
  • 机器学习1:一元线性回归 原理 一元线性回归 y = b + k???? 这个方程对应的图像是一条直线,称作回归线。其中, k为回归线的斜率, b为回归线的截距。 代价函数 线性回归本质就是寻找代价函数最小的斜率和...
  • 一元线性回归模型

    2020-03-17 16:27:38
    回归: 回归问题分两个过程:模型的学习和...一元线性回归: 回归分析只涉及到两个变量,主要是从两个变量中的一个变量取估计另一个变量,被估计的变量称为因变量,设为Y,估计出的变量成为自变量,设为X,回归...
  • 线性回归一元&多元)建模步骤

    千次阅读 2020-08-20 17:29:53
  • 2.利用表格1中第一列和第二列做一元回归分析 利用matlab编译程序如下: clear;clc; load('a.mat');%导入数据 n=length(a); X=a(:,1);%提取自变量 X1=[ones(n,1),X];%自变量矩阵前加一列1 Y=a(:,2);%...
  • 一元线性回归的详细推导过程

    千次阅读 2020-08-30 00:26:17
    下面是一元线性回归的详细求解过程。 假设一元线性回归的最佳直线方程为: (1) 对于一个样本点 ,有预测值为: (2) 这个样本点的真值为 ,要想获得最佳拟合方程,就需要使真值 和 预测值 之间的差值最小,为了...
  • R假设检验与一元线性回归分析

    千次阅读 2016-06-03 09:51:04
    一元线性回归分析 参考见统计建模与R软件(下册) 线性拟合的时候选择x,x^2 x开根号是通过真实数据的图像决定的, 原理: 最小二乘法最小二乘法 步骤:建立回归模型,求解回归模型中的参数,对回归模型进行检验 ...
  • 机器学习是实现人工智能的主要方法之一,机器学习的本质是寻找一个函数去拟合数据,从而达到预测的功能,而机器学习问题可分为回归问题与分类问题,本blog讲解最简单的回归模型--线性回归
  • 比如有这样一组数据(原始数据) 这是数据字典(必须要有!) 已知月均信用卡支出为因变量 如果我们想查看这个人的收入和月均信用卡支出是否有显著的...具体步骤如下 ①对缺失值进行处理,可以用均值进行填补。 ave
  • 一元线性回归入门——自己写简单的回归算法

    万次阅读 多人点赞 2018-01-21 23:16:25
    一元线性回归入门——自己写简单的回归算法 一元线性回归入门——自己写简单的回归算法 1 什么是线性回归? 2 线性回归的方法 3 算法实现(Python) 4 总结 1 什么是线性回归?   早在初中我们就学习...
  • 第11章 一元线性回归 11.1 变量间关系的度量 变量之间的关系可分为两种类型,即函数关系和相关关系。其中,函数关系是一一确定的关系,给定一个自变量x,因变量y依确定的关系取相应的值;变量之间存在的不确定性的...
  • 简单线性回归的一般步骤

    千次阅读 2019-08-06 08:35:57
    绘制散点图 观察自变量和预测变量的线性或者非线性关系。如果是非线性关系,考虑合适的函数进行数据转换,使之成为线性关系 观察立群点。如果存在离群点,考虑是否...经过上面步骤,如果有需要进行数据转换然后跳转1...
  • 机器学习(一) 线性回归算法 前言: 身处于大数据时代,又置身于科研的征途上,如果没有合理的数据处理和分析方法,那么你置身于无穷无尽的大数据之中只有迷茫的份了。关于机器学习这个类别的博文,我将跟随着吴...
  • 一元线性回归 1、女士的身高-体重例子。--借助excel数据分析功能 2、气温-冰红茶销售量例子。--直接计算 多元线性回归 3、薪资-性别-年龄-教育程度例子。--借助excel数据分析功能 4、店铺营业额-店铺面积-离车站...
  • SPSS线性回归分析回归分析一、线性模型(针对连续因变量,线性关系)(一)简单线性回归(一元线性回归)1、绘制散点图2、建立简单(一元)线性回归模型3、建立模型后,检查预测结果(二)多重回归分析1、绘制矩阵...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,002
精华内容 1,200
关键字:

一元线性回归分析步骤