位置: IT常识 - 正文

Python统计学11——分位数回归(python 统计学包)

编辑:rootadmin
Python统计学11——分位数回归

推荐整理分享Python统计学11——分位数回归(python 统计学包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中的统计函数,python基本统计值计算解析,python 统计学,python 统计学包,python统计图教程,python中的统计函数,用python动手学统计学,python 统计学,内容如对您有帮助,希望把文章链接给更多的朋友!

分位数回归也是数理统计里面经典的模型,他相对于在最小二乘模型上进行了改进,虽然本身还是线性的参数模型,但对损失函数进行了改进。我们都知道最小二乘的损失函数是均方误差最小,分位数的损失函数是:

可以看到分位数损失函数会对高估的值和低估的值给予一个不同的权重,这样就可以做到‘’分位‘’。

该模型对于存在异方差的数据有很好的的效果。能准确计算出5%~95%的置信区间

具体看代码理解:

导入包,加载自带的案例数据

import numpy as npimport pandas as pdimport statsmodels.api as smimport statsmodels.formula.api as smfimport matplotlib.pyplot as pltdata = sm.datasets.engel.load_pandas().datadata.head()

 

 X是收入,y是食物支出,很经典的发散数据,因为不同收入区间的家庭的食物支出比例不一样,随着X增大,Y的波动也增大。存在异方差。

q=0.5时候的分位数回归

mod = smf.quantreg("foodexp ~ income", data)res = mod.fit(q=0.5)print(res.summary())

Python统计学11——分位数回归(python 统计学包)

 当q不一样是回归出来的系数是不一样的。我们计算0.05,0.15,0.25.....0.95分位数出来的回归系数,还有最小二乘的回归系数。

quantiles = np.arange(0.05, 0.96, 0.1)def fit_model(q): res = mod.fit(q=q) return [q, res.params["Intercept"], res.params["income"]] + res.conf_int().loc["income"].tolist()models = [fit_model(x) for x in quantiles]models = pd.DataFrame(models, columns=["q", "a", "b", "lb", "ub"])ols = smf.ols("foodexp ~ income", data).fit()ols_ci = ols.conf_int().loc["income"].tolist()ols = dict(a=ols.params["Intercept"], b=ols.params["income"], lb=ols_ci[0], ub=ols_ci[1])print(models)print(ols)

画图对比x = np.arange(data.income.min(), data.income.max(), 50)get_y = lambda a, b: a + b * xfig, ax = plt.subplots(figsize=(6, 4))for i in range(models.shape[0]): y = get_y(models.a[i], models.b[i]) ax.plot(x, y, linestyle="dotted", color="grey")y = get_y(ols["a"], ols["b"])ax.plot(x, y, color="red", label="OLS")ax.scatter(data.income, data.foodexp, alpha=0.2)ax.set_xlim((200, 3000))ax.set_ylim((200, 2000))legend = ax.legend()ax.set_xlabel("Income", fontsize=16)ax.set_ylabel("Food expenditure", fontsize=16)

 透明蓝色散点为样本点。蓝色虚线为不同分位数上的回归方程。

可以看出的几个结论:

'''粮食支出随着收入的增加而增加

粮食支出的分散度随着收入的增加而增加

最小二乘估计值与低收入观测值的拟合度相当差(即OLS线越过大多数低收入家庭)'''

而且5%~95%的回归方程区间涵盖了所有的真实样本点,置信区间很准确。

 画出回归系数随着分位数的变化图

n = models.shape[0]plt.plot(models.q, models.b, color="black", label="Quantile Reg.")plt.plot(models.q, models.ub, linestyle="dotted", color="black")plt.plot(models.q, models.lb, linestyle="dotted", color="black")plt.plot(models.q, [ols["b"]] * n, color="red", label="OLS")plt.plot(models.q, [ols["lb"]] * n, linestyle="dotted", color="red")plt.plot(models.q, [ols["ub"]] * n, linestyle="dotted", color="red")plt.ylabel(r"$\beta_{income}$")plt.xlabel("Quantiles of the conditional food expenditure distribution")plt.legend()plt.show()

 

#上图画出了回归系数随着分位数的变化而变化,OLS系数是恒定的,分位数回归的系数随着分位数变大而变大

#在大多数情况下,分位数回归点估计值位于OLS置信区间之外,这表明收入对食品支出的影响在整个分布区间内可能不是恒定的

本文链接地址:https://www.jiuchutong.com/zhishi/299819.html 转载请保留说明!

上一篇:前端项目性能优化方案有哪些(前端项目性能优势怎么写)

下一篇:第四季新星计划即将开启,博客之星取消拉票你怎么看?(新星计划片头好可爱啊)

  • 怎样用好新闻推送方式进行网站内容传播获得用户(如何利用新闻进行有效宣传)

    怎样用好新闻推送方式进行网站内容传播获得用户(如何利用新闻进行有效宣传)

  • iwatch7怎么微信打字(iwatch 怎么微信)

    iwatch7怎么微信打字(iwatch 怎么微信)

  • 抖音设置好友可见粉丝还可以看见吗(抖音设置好友可见为什么还有播放量)

    抖音设置好友可见粉丝还可以看见吗(抖音设置好友可见为什么还有播放量)

  • 支付宝账号可以告诉别人吗(支付宝账号可以查到个人信息吗)

    支付宝账号可以告诉别人吗(支付宝账号可以查到个人信息吗)

  • 华为Mate30 RS保时捷设计手机几时上市

    华为Mate30 RS保时捷设计手机几时上市

  • vivo手机左上角显示hd(vivo手机左上角有个锁屏图标咋取消)

    vivo手机左上角显示hd(vivo手机左上角有个锁屏图标咋取消)

  • 苹果个人热点无法关闭(苹果个人热点无法加入)

    苹果个人热点无法关闭(苹果个人热点无法加入)

  • 华为手机小E机器人在哪(华为小e功能说明)

    华为手机小E机器人在哪(华为小e功能说明)

  • 充电宝能给充电宝充电吗(充电宝)

    充电宝能给充电宝充电吗(充电宝)

  • 淘宝复制链接怎么粘贴(淘宝复制链接怎么打不开)

    淘宝复制链接怎么粘贴(淘宝复制链接怎么打不开)

  • 呼叫失败是对方挂了吗(呼叫失败是对方的问题还是我的问题)

    呼叫失败是对方挂了吗(呼叫失败是对方的问题还是我的问题)

  • 4+128g什么意思(4gb+128g是什么意思)

    4+128g什么意思(4gb+128g是什么意思)

  • qmdownload是什么文件(qmdownload是什么文件夹)

    qmdownload是什么文件(qmdownload是什么文件夹)

  • 滴滴时长费怎么计算(滴滴时长计费)

    滴滴时长费怎么计算(滴滴时长计费)

  • 序列号g开头的是什么(序列号g开头的苹果手机好不好)

    序列号g开头的是什么(序列号g开头的苹果手机好不好)

  • 有交换机还要路由器吗(有交换机还需要路由器吗)

    有交换机还要路由器吗(有交换机还需要路由器吗)

  • windows系统工具的作用(win10的系统工具在哪里)

    windows系统工具的作用(win10的系统工具在哪里)

  • 抖音关注请求怎么看不见(抖音关注请求怎么自动通过)

    抖音关注请求怎么看不见(抖音关注请求怎么自动通过)

  • 荣耀v20nfc支持门禁吗(荣耀v20的nfc怎么用钥匙开门)

    荣耀v20nfc支持门禁吗(荣耀v20的nfc怎么用钥匙开门)

  • v1838a是什么型号(v18311是什么型号)

    v1838a是什么型号(v18311是什么型号)

  • realmex是什么牌子手机(realme是什么牌子rmx3121)

    realmex是什么牌子手机(realme是什么牌子rmx3121)

  • 唯品会如何修改收货地址(唯品会如何修改电话号码)

    唯品会如何修改收货地址(唯品会如何修改电话号码)

  • 如果在笔记本键盘上按字母出现数字是怎么回事?(笔记本怎么按出键盘)

    如果在笔记本键盘上按字母出现数字是怎么回事?(笔记本怎么按出键盘)

  • 【第十七届智能车】智能车图像处理(3)-元素识别(十字)(第十七届全国大学生智能车)

    【第十七届智能车】智能车图像处理(3)-元素识别(十字)(第十七届全国大学生智能车)

  • 公司出让上一任股东拥有的公司25%股权如何做账?
  • 土地使用税返还是否征税
  • 确认固定资产减值损失
  • 企业所得税季度预缴
  • 工程项目结算流程图
  • 注销有几种方法
  • 进项和销项税额需要结转吗
  • 邮局可以开发票吗 税点多少
  • 报账员是会计还是出纳
  • 小规模季报财报申报错误怎么办
  • 企业所得税的申报方式
  • 个体工商户怎么注册
  • 政府补贴是什么职能
  • 小规模建筑公司预缴增值税
  • 净资产合计低于实际收益
  • 外币折算准则规范的外币交易
  • 小规模纳税人开具1%增值税专用发票可以抵扣吗
  • 2021年个人开发票税率
  • 纳税人签章填什么
  • 为外国公司提供境内服务
  • 母子公司可以汇资金吗
  • 税务总局关于四流一致解答
  • 移动电子发票显示无法开具怎么获取发票
  • 物流服务费税率是多少
  • 善意取得虚开增值税专用发票追征期
  • u盘中装系统
  • 在win10系统中,如何限制孩子玩原神游戏
  • 代个人多交的社保怎么查
  • PHP:getallheaders()的用法_Apache函数
  • 委托外部加工材料支付加工费计入
  • 逾期未收回包装物押金增值税
  • vue 父组件调子组件方法
  • 卢塞恩小镇瑞士
  • 观察者模式java实现
  • 普通发票有抵扣联没
  • javaweb实现用户登录注册
  • Android ImageView使用详解(系列教程三)
  • mkisofs命令
  • php批量删除文件
  • 帝国cms手机端点击加载不动怎么弄
  • JavaWeb之Servlet
  • 个人税收收入退税政策
  • c语言printf输出数组
  • phpcms api
  • 不动产登记违建处理办法
  • 办公室租金会有公摊吗
  • 什么情况下需要满足m>>m
  • 律师跨省办案收取的费用叫什么
  • 下列项目的进项税额可以从销售税额中抵扣的是
  • 医疗机构销售药品能否加价
  • 机动车销售统一专票怎么做账
  • 付的房屋租金计入什么会计科目
  • 融资租赁租出的固定资产账务处理
  • 开发成本期末有余额吗
  • 未取得发票如何报销
  • 新公司核税需要什么材料
  • 独立核算的生产车间是法律主体吗
  • 行政单位合并财务怎么办
  • 应付账款平账调到哪个科目
  • 公司发放给员工的福利又要回
  • mysql批量添加字段
  • sqlserver怎么删除字段
  • 进程crash是什么意思
  • win10无线网络不见了只显示飞行模式
  • linux必不可少的分区
  • nclaunch.exe - nclaunch进程有什么用 是什么意思
  • linux用户是什么意思
  • win7系统怎么打日语
  • win8系统打不开exe
  • Metaio in Unity3d 教程---Metaio扫描图片要求(Image Tracking)
  • bootstrap和jsp
  • 希尔排序数据结构的代码
  • python matplotlab
  • jquery添加兄弟元素
  • gradle手动安装
  • javascript怎么学
  • 如何开具红字发票明细
  • 宁波国税局领导名单
  • 软件和集成电路企业税收优惠
  • 出口免税不退税主要适用于
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设