lecture 8:OLS回归模型

2023-11-08

先学习这个资料:

OLS自编算法,不调用函数

重要的英文参考资料:

Using Python for Introductory Econometrics

kevinsheppard讲授Python做计量

相关分析

1.相关系数的计算公式:
r = ∑ ( x i − x ˉ ) ( y i − y ˉ ) ∑ ( x i − x ˉ ) 2 ∑ ( y i − y ˉ ) 2 r=\frac{\sum (x_{i}-\bar{x})(y_{i}-\bar{y})}{\sum (x_{i}-\bar{x})^{2}\sum(y_{i}-\bar{y})^{2}} r=(xixˉ)2(yiyˉ)2(xixˉ)(yiyˉ)
2. 统计量:
t = r ∗ n − 2 1 − r 2 , 自 由 度 : ( n − 2 ) t=\frac{r*\sqrt{n-2}}{\sqrt{1-r^{2}}} , 自由度:(n-2) t=1r2 rn2 n2
3.根据 t 统计量来计算显著性水平,从而确认 ( x , y ) (x,y) (x,y)之间的相关性是否显著( H 0 H0 H0:相关系数等于0,即相关性不显著)。

import pandas as pd
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.linear_model import LinearRegression


data=pd.DataFrame()
data=pd.DataFrame(pd.read_excel(r"D:\myfolder\al5-1.xls"))
x=np.array(data[['adv']])
y=np.array(data[['sale']])

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#matplotlib画图中中文显示会有问题,需要这两行设置默认字体
 
plt.xlabel('X')
plt.ylabel('Y')
colors1 = '#00CED1' #点的颜色
area = np.pi * 16**2  # 点面积 
plt.scatter(x, y, s=area, c=colors1, alpha=0.4, label='散点图:adv-sale')
plt.plot(linewidth = '0.5',color='#000000')
plt.legend()
print(type(x)) #<class 'numpy.ndarray'>
x=np.squeeze(x)
y=np.squeeze(y)
corr,pval=stats.pearsonr(x,y)
print( '相关系数(pearson 间隔量表) = %6.5f  显著性水平 = %6.5f' % (corr, pval))

corr,pval=stats.spearmanr(x,y)
print( '相关系数(spearman 顺序量表) = %6.5f  显著性水平 = %6.5f' % (corr, pval))

<class ‘numpy.ndarray’>
相关系数(pearson ) = 0.96368 显著性水平 = 0.00000
相关系数(spearman) = 0.99301 显著性水平 = 0.00000

在这里插入图片描述

计算相关系数表

df=data[['time','adv','sale']]
df.corr()

在这里插入图片描述

利用现有数据回归一下:

import statsmodels.api as sm #最小二乘
from statsmodels.formula.api import ols #加载ols模型

lm=ols('sale~ adv',data=data).fit()
print(lm.summary())

在这里插入图片描述
请看看上面的结果,相关系数(pearson ) = 0.96368,它的平方等于 0.9286791423999999,然后再看看上面的回归结果, R 2 R^{2} R2=0.929。这也验证了在二元回归方程中: R 2 = r 2 R^{2}=r^{2} R2=r2

例子:

import statsmodels.formula.api as smf
model = smf.ols('distress ~ num_at_risk + launch_temp + leak_check_pressure + order', data = data)
result = model.fit()
# result.summary()
import matplotlib.pyplot as plt
plt.figure(figsize = (10, 8), dpi = 80)
plt.scatter(result.fittedvalues, result.resid)
plt.plot([-0.3, 1.3], [0, 0], color = "black")
plt.show()

#############
import numpy as np
import pandas as pd
from sklearn.linear_model import BayesianRidge, LinearRegression, ElasticNet
from sklearn.svm import SVR
from sklearn.ensemble.gradient_boosting import GradientBoostingRegressor   # 集成算法
from sklearn.model_selection import cross_val_score    # 交叉验证
from sklearn.metrics import explained_variance_score, mean_absolute_error, mean_squared_error, r2_score  
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

# 数据导入
df = pd.read_csv('https://raw.githubusercontent.com/ffzs/dataset/master/boston/train.csv', 
                 usecols=['lstat', 'indus', 'nox', 'rm', 'medv'])

# 可视化数据关系
sns.set(style='whitegrid', context='notebook')   #style控制默认样式,context控制着默认的画幅大小
sns.pairplot(df, size=2)
plt.savefig('x.png')
#######
# 相关度
corr = df.corr()
# 相关度热力图
sns.heatmap(corr, cmap='GnBu_r'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lecture 8:OLS回归模型 的相关文章

  • 服务器购买是有无系统,买服务器含不含操作系统

    买服务器含不含操作系统 内容精选 换一换 Atlas 800 训练服务器 型号 9010 安装上架 服务器基础参数配置 安装操作系统等操作请参见 Atlas 800 训练服务器 用户指南 型号9010 Atlas 800 训练服务器 型号
  • 【软件测试】Linux部署测试环境(在本地部署的Linux环境中进行测试活动)(Linux上安装java、mysql、redis详细过程)

    1 在Linux上安装java 使用命令行 获取root用户权限 su root 需要输入root密码 安装jdk命令 yum install java 1 8 0 openjdk 其他命令 yum search java grep jdk
  • 9.13

    70 爬楼梯 进阶 class Solution public int climbStairs int n int dp new int n 1 设置背包容量 n个 int m 2 有两个物品 注意这是一个完全背包问题 dp 0 1 ini
  • Codeforces Round #808 (Div. 2)

    小吃一波分 A Difference Operations 贪心从左往右推过去就好 首先a2肯定要是a1的倍数 不然减不到0 同样的a3也一定要是a2的倍数 但是这里a2可能被操作成a1的其他倍数 比如1 2 3 先变成 1 1 3 然后把
  • CSS基础

    CSS CSS全称层叠样式表 Cascading Style Sheets 是一种标记语言 用于给HTML结构设置样式 如 文字大小 颜色 元素宽高等 HTML搭建结构 CSS添加样式 实现结构与样式分离 CSS编写位置 行内样式 写在元素
  • 【ChatGPT】:告别单调对话,我带你体验

    前言 作者主页 雪碧有白泡泡 个人网站 雪碧的个人网站 推荐专栏 java一站式服务 前端炫酷代码分享 uniapp 从构建到提升 从0到英雄 vue成神之路 解决算法 一个专栏就够了 架构咱们从0说 数据流通的精妙之道 文章目录 前言 1
  • 微信的转账记录删除了还能恢复吗?2个办法教你找回

    微信的转账记录删除了还能恢复吗 除了聊天记录外 好像还有很多朋友对于转账记录的恢复问题呼声也蛮高的 所以 小编这期就给大家带来找回微信转账记录的办法 分别有2个 赶紧进入正题 我们一起来看看到底是什么办法吧 方法1 手机微信上找回微信的转账
  • phpstrom查看代码总行数_一个统计PHP代码行数的小代码

    想统计一下项目中一共有多少行代码 结果没找到什么好的工具 就自己写了一个 效率不怎么样 Created by PhpStorm User luyanfeng Date 16 7 12 Time 下午1 45 param dir return
  • 【Qt】编译QtCreator

    一 Ubuntu14 04编译QtCreator 4 0 3 1 准备工作 编译工具要求 Qt gt 5 5 0 g gt 4 7 2 编译步骤 cd
  • python3字符串内括号匹配分析器匹配分析字符串内括号的匹配闭合情况

    python3字符串内括号匹配分析器 匹配分析字符串内括号的匹配闭合情况 可通过print打印匹配情况 高亮显示错误处 思路 遍历字符串 检测到起始括号后加入到open队列中 位置 字符 检测到闭合括号后检测队列最后一位是否是对应的起始括号
  • 洛谷P1085 不高兴的津津

    题目描述 津津上初中了 妈妈认为津津应该更加用功学习 所以津津除了上学之外 还要参加妈妈为她报名的各科复习班 另外每周妈妈还会送她去学习朗诵 舞蹈和钢琴 但是津津如果一天上课超过八个小时就会不高兴 而且上得越久就会越不高兴 假设津津不会因为
  • 对js对象、数组扁平化的理解

    数组 对象扁平化主要运用的有两个知识点 一个是数据类型的判断 另一个则是递归的运用 instanceof 判断数据类型 obj instanceof Object 判断对象 arr instanceof Array 判断数组 先来一段网上c

随机推荐

  • go高性能并发服务器,【Zinx第四章-全局配置】Golang轻量级并发服务器框架

    四 Zinx的全局配置 随着架构逐步的变大 参数就会越来越多 为了省去我们后续大频率修改参数的麻烦 接下来Zinx需要做一个加载配置的模块 和一个全局获取Zinx参数的对象 4 1 Zinx V0 4增添全局配置代码实现 我们先做一个简单的
  • 电脑重装按键是什么

    一般在使用u盘重装系统的时候 我们需要插入启动盘进电脑 然后开机按启动快捷键进入u盘启动pe系统内重装系统 那么重装系统按键是什么呢 下面 小编就把电脑重装系统按什么键的步骤分享给大家 工具 原料 系统版本 win10 品牌型号 联想yog
  • 组合、子集问题汇总

    子集的问题的思路也分两个方向 一种是解空间树是关于每个数选还是不选 结点取值范围就是true or false 解向量的长度是固定的 即candidates的个数 而且只有完全解才是问题的解 解向量不是直接的答案 而是标志每个candida
  • 【Matlab学习笔记】【函数学习】size参数

    size A 函数是用来求矩阵的大小的 你必须首先弄清楚A到底是什么 大小是多少 比如说一个A是一个3 4的二维矩阵 1 size A 直接显示出A大小 输出 ans 3 4 2 s size A 返回一个行向量s s的第一个元素是矩阵的行
  • mis服务器系统,MIS系统中服务器"推"技术的实现

    摘要 PUSH技术作为一项先进的信息传播技术 自1996年诞生以来 基于Web 的PUSH技术迅速发展 在Internet上得到了迅速而广泛的应用 本文从企业 管理系统的开发与应用角度出发 提出了基于MIS系统中实现和运用PUSH技术 的三
  • 嘉立创免费打板方法

    下载嘉立创下单助手软件 打开软件 在左侧领取下单优惠券 填写好下打样参数后 在优惠券中选择使用优惠券 即可免费打样 10CM 10CM以内 一个月限领2次优惠券 使用优惠券条件 当客户上个月的消费低于20元 甚至是无消费 我们也为完全用嘉立
  • halcon颜色识别

    halcon颜色识别 通过不同颜色在灰度图中的阈值范围不同来区分颜色 使用阈值分别选出不同的颜色 使用灰度平均值 循环读图进行处理 HSV模型区分颜色 通过不同颜色在灰度图中的阈值范围不同来区分颜色 使用阈值分别选出不同的颜色 dev cl
  • 使用loadrunner12选择谷歌录制,出现一直在加载的状态,进不去

    选择了浏览器和URL 点击录制 弹出浏览器 一直在加载 而且进入其他网址也进不去了 需要重新打开浏览器才可以 我本来以为是项目的问题 又打开了loadrunner自带的订票系统 发现在谷歌浏览器也是一样的 但是在ie浏览器却都可以正常打开
  • Java超过long型范围时使用的BigInteger和BigDecimal

    文章目录 前言 一 BigInteger 二 BigDecimal 前言 Java中当一个数的超过long型范围 能够表示64位的整数 时可以使用BigInteger和BigDecimal类型 一 BigInteger 推荐使用BigInt
  • 地震数据剖面图-matlab

    这里主要有四个参数需要设置 wigb m地震数据画图函数下载地址 a seismic data 地震数据 scale multiple data by scale 扫描频率 1 3 范围内任选一个数字 x x axis 所有道的位置信息 z
  • Java集合相关的常用工具类简介说明

    转自 Java集合相关的常用工具类简介说明 下文笔者将讲述java集合类中常用的工具类简介说明 如下所示 Java中的集合类既可以当做放其他数据的容器 又可以当做常见的数据结构使用 Java中提供了很多好用的工具类来操作这些集合类 java
  • 贪心 算法

    本文目录 1 部分背包问题 2 乘船问题 3 区间调度问题 4 区间覆盖问题 5 区间选点问题 6 小船过河 往返问题 7 硬币支付问题 8 字典序最小问题 9 最优装载问题 1 部分背包问题 问题描述 有n个物体 第i个物体的重量为wi
  • 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列哪个命令是对的?

    文件exer1的访问权限为rw r r 现要增加所有用户的执行权限和同组用户的写权限 下列哪个命令是对的 正确答案 A 你的答案 C 错误 chmod a x g w exer1
  • 微信小程序实现瀑布流展示

    在现代互联网时代 瀑布流展示方式越来越受到人们的青睐 其可以将海量的图片 商品等展示在界面上 不同大小的内容通过某种规律美观 有序地布局在网页或应用程序上 极大地提升了内容的呈现方式和用户体验 微信小程序在展示图片和商品等方面也可以采用瀑布
  • Java将Word转换成PDF

    最近项目需要做在线预览文档功能 要求对word文档后台转为pdf 遇到了很多问题 因此记录一下 网上有很多将Word转换成PDF的方式 这里我试了几种比较简单的方式 POI aspose spire和documents4j 1 POI PO
  • Mac OS : 源码安装nginx (不需homebrew)

    下载 nginx http nginx org download nginx 1 19 10 tar gz 解压到 usr local 下载 pcre https ftp pcre org pub pcre pcre 8 44 tar gz
  • 数据属性的类型

    数据属性的类型 原文 https blog csdn net qq 33457248 article details 79594782 数据集由数据对象组成 一个数据对象代表一个实体 数据对象又称样本 实例 数据点或对象 属性 attrib
  • 数据结构——链表练习题

    题目一 思路 双指针 当listA和listB其中一个位空时 两个列表就不存在相交 返回NULL 当listA和listB都不为空链表时 指针phead1和phead2同时分别遍历listA和listB 遍历完后 再去分别遍历listB和l
  • c++运算符优先级归纳

    C 一共有 18个优先级 运算中按优先级进行性计算 当优先级相同时 根据结合性规则来决定 结合性 1 从左到右 L R 操作数和操作符结合的顺序大部分是从左到右结合性的 例如 单独的算术运算符 2 从右到左 R L 最典型的是赋值运算符 当
  • lecture 8:OLS回归模型

    先学习这个资料 OLS自编算法 不调用函数 重要的英文参考资料 Using Python for Introductory Econometrics kevinsheppard讲授Python做计量 相关分析 1 相关系数的计算公式 r x