数模学习(七)--- 多元线性回归

Abstract

回归分析是数据分析中最基础也是最重要的分析工具,许多数据分析的问题,都可以采用回归的思想去解决,机器学习中回归也是需要学习的很重要的内容之一;当今回归分析的任务是:通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。(感觉跟插值和拟合希望达到的目的差不多orz)
常见的回归分析有五类:线性回归、0-1回归、定序回归、计数回归和生存回归,它们划分的依据是因变量Y的类型,这里我们主要讲线性回归

一 引入

1.1 回归的思想1

回归分析: 研究X和Y之间相关性的分析
关于它的三个关键词:

  • 相关性
  • 因变量Y
  • 自变量X

1.2 相关性

相关性 ≠ \neq =因果性
在这里插入图片描述
因为许多情况下我们无法去探究严格的因果关系,所以当前比较好的能替代它的方法就是通过回归分析,研究它们之间相关关系

1.3 因变量Y

在实际应用中,Y常常是我们需要研究的那个核心变量

因变量类型 举例
连续数值型变量 研究一段时间内GDP的增长趋势
0-1型变量 判断病人是否患病,0为否,1为是
定序型变量 根据喜欢成都区分,1~5喜欢程度依次递增
计数型变量 一学期内上课一共迟到了几次,为非负整数
生存型变量 在统计时,会有部分个体(比如人)在计算时不存在,需要设定个标准(如60岁作为截断年龄)

1.4 自变量X

也可以这么定义:X是解释变量,Y是被解释变量
回归分析的任务即:通过研究X和Y的关系,能够达到之后通过X预测出Y

1.5 回归分析的使命

  • 使命一: 识别并判断出哪些X与Y是真的相关,那些不是,统计学中有一个非常重要的领域,为“变量选择”(逐步回归法)
  • 使命二: 在去除了和Y不相关的X变量后,还需要确定这些和Y有关的X变量,与Y的相关关系是正的还是负的呢
  • 使命三: 在确定了重要的X变量后,我们需要对不同的X给予不同的权重,来体现它们的重要性程度
  • 总的来说,回归分析需要完成的使命就是:
    1. 识别重要变量
    2. 判断相关性的方向
    3. 要估计权重(回归系数)

1.6 回归分析的分类

类型 模型 Y的特点 例子
线性回归 OLS、GLS(最小二乘) 连续数值型变量 GDP、产量、收入
0-1回归 logistic回归 二值变量(0-1) 是否违约、是否得病
定序回归 probit定序回归 定序变量 等级评定(优良差)
计数回归 泊松回归(分布) 计数变量 每分钟车流量
生存回归 Cox等比例风险回归 生存变量(阶段数据) 企业、产品的寿命

1.7 数据的分类

  • 横截面数据(Cross Sectional Data): 在某一时点手机的不同对象的数据,如大一新生体测得到的数据、发放问卷得到的数据
  • 时间序列数据(Time Series Data): 对同一对象在不同时间连续观察所取得的数据,例如从出生到现在,我们体重变化的数据
  • 面板数据(Panel Data): 横截面数据与时间序列数据总和起来的一种数据资源,如2010-2020我国各省份GDP的数据

1.8 不同数据类型的处理方法

数据类型 常见建模方法
横截面数据 多元线性回归
时序数据 移动平均、指数平滑、ARIMA、GARCH、VAR、协积
面板数据 固定效应和随机效应、静态面板和动态面板

在数模比赛中,前两种数据类型比较常见;而对于面板数据,通常是经管类学生在中级计量经济学中才会学到利用的模型
横截面数据往往运用回归来建模,通过回归得到自变量与因变量的相关关系以及自变量的重要程度
时间序列数据往往用于预测,时序模型可以用得很多,ML中也有RNN、LSTM之类的工具

1.9 数据的收集

宏观数据:

二 一元线性回归

一元线性我们之前在拟合讲过啦,可以先去复习一下最小二乘下的一元线性拟合(也出现在ML中所用的Loss Function损失函数),在回归中我们把损失函数称为残差平方和

2.1 一元线性回归模型

假 设 x 是 自 变 量 , y 是 因 变 量 , 且 满 足 如 下 线 性 关 系 : y i = β 0 + β 1 x i + μ i β 0 和 β 1 为 回 归 系 数 , μ i 为 无 法 观 测 的 且 满 足 一 定 条 件 的 扰 动 项 令 预 测 值 y i ^ = β 0 ^ + β 1 ^ x i 其 中 β 0 ^ , β 1 ^ = a r g m i n β 0 , β 1 ( ∑ i = 1 n ( y i − y i ^ ) 2 ) = a r g m i n β 0 , β 1 ( ∑ i = 1 n ( y i − β 0 ^ − β 1 ^ x i ) 2 ) β 0 ^ , β 1 ^ = a r g m i n β 0 , β 1 ( ∑ i = 1 n ( μ i ^ ) 2 ) 我 们 称 μ i ^ = y i − β 0 ^ − β 1 ^ x i 为 残 差 假设x是自变量,y是因变量,且满足如下线性关系:\\ y_{i}=\beta_{0}+\beta_{1}x_{i}+\mu_{i} \\ \\ \beta_{0}和\beta_{1}为回归系数,\mu_{i}为无法观测的且满足一定条件的扰动项 \\ \\ 令预测值\hat{y_{i}} = \hat{\beta_{0}}+\hat{\beta_{1}}x_{i} \\ \\ \\ 其中\hat{\beta_{0}},\hat{\beta_{1}}=\mathop{argmin}\limits_{\beta_{0},\beta_{1}}({\color{blue}\sum\limits_{i=1}^{n}(y_{i}-\hat{y_{i}})^2}) = \mathop{argmin}\limits_{\beta_{0},\beta_{1}}(\sum\limits_{i=1}^{n}(y_{i}-\hat{\beta_{0}}-\hat{\beta_{1}}x_{i})^2) \\ \hat{\beta_{0}},\hat{\beta_{1}} = \mathop{argmin}\limits_{\beta_{0},\beta_{1}}(\sum\limits_{i=1}^{n}(\hat{\mu_{i}})^2) \\ \\ \\ 我们称\hat{\mu_{i}}=y_{i}-\hat{\beta_{0}}-\hat{\beta_{1}}x_{i}为残差 xy线yi=β0+β1xi+μiβ0β1μiyi^=β0^+β1^xi

  • 9
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多元线性回归是指依据多个自变量来预测因变量的一种回归分析方法。在Python中,使用Tensorflow2.3.0可以很方便地实现多元线性回归预测。 以下是一个简单的示例代码: ```python import tensorflow as tf import numpy as np # 设置训练数据 x_train = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.], [10., 11., 12.]]) y_train = np.array([[6.], [15.], [24.], [33.]]) # 定义模型 model = tf.keras.Sequential([ tf.keras.layers.Dense(units=1, input_shape=[3]) ]) # 编译模型 model.compile(optimizer=tf.keras.optimizers.Adam(0.1), loss='mean_squared_error') # 训练模型 model.fit(x_train, y_train, epochs=1000) # 使用模型进行预测 x_test = np.array([[2., 3., 4.]]) y_predict = model.predict(x_test) print(y_predict) ``` 在这个示例中,首先定义了训练数据x_train和y_train,其中x_train包含了4组3个自变量的数据,y_train包含了对应的4组因变量的数据。 接着定义了一个模型,使用了Tensorflow中的Sequential模型,其中只有一个Dense层,它的输入维度为3(与自变量个数相同),输出维度为1(因变量个数)。 在模型编译时,使用了Adam优化器和均方误差作为损失函数。 接下来进行了1000次的训练,最后使用训练好的模型对一个新的测试数据进行预测,并打印出预测结果。 需要注意的是,在实际应用中,训练数据和测试数据的数量应该远远大于这个示例中的数量,同时还要考虑特征的选择和处理、模型的优化等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值