分位数回归(Stata)

article/2025/9/21 21:51:35

基于分位数回归的成都空气质量指数的数据分析

空气质量指数计算公式为:

I=\frac{I_{high}-I_{low}}{C_{high}-C_{low}}(C-C_{low})+I_{low}

1)线性回归模型得到的是一种条件均值,并未考虑到因变量总体上的分布特征,在需要了解因变量位置(分位数)上的信息时,线性回归就显示出了不足。

2)线性(均值)回归模型最基本的假设之一正态分布,随机误差且独立时,通过最小二乘法得到的参数估计值是最小方差无偏估计。但是现实生活中大多数数据是不满足正态分布的,这时如果仍然用线性回归模型进行分析,由于在假设检验中值的计算依赖正态性假设,可能会造成值的有偏性,从而导致假设检验无效。若样本数据中存在异方差性或数据的分布是尖峰厚尾的,最小二乘估计量则不具有上述的良好性质。

3)当样本数据中有离群点存在时,用线性回归模型计算得到的参数估计值可能有较大的偏差,因此,在进行回归拟合时通常会是在去掉离群点后建立线性(均值)回归模型,但这会使离群点在一些社会科学研究中丧失研究意义。

而分位数回归模型相对于一般的线性(均值)回归模型来说,条件更为宽泛,可以描述因变量的全局特征,而不只是均值。另一方面,分位数回归模型具有稳健性,模型的估计值通常不受离群点的影响,从这一角度来说,分位数回归有较强的稳健性。

Q_{\theta }(y|x)=X^T\beta (\theta )+b(\theta )

模型检验:

模型显著性检验(Wald检验)、系数的显著性检验(t统计量)、不同分位数模型的联合相等检验、拟合优度检验(R方)

实证分析

对AQI作描述性分析,画出箱线图和QQ图

 

样本数据中AQI的中位数较小,且有较大的离群点,QQ图为一条曲线且不是对称的,与正态QQ线相差较大,综合来说,样本数据中的AQI并不满足正态分布,而分位数回归模型对数据的分布没有要求,因此可以用分位数回归模型来分析样本数据。

为了消除由于量纲不同对数据的分析结果造成影响,对数据进行归一化处理,将数据固定在了(0,1)范围内。

PM2.5PM10SO2CONO2O3浓度为自变量,以AQI为因变量,建立分位数分别为0.250.500.75的位数回归模型(QRM)。

不同分位数回归模型下系数的显著性不同,但基本都是有4个变量对AQI的影响是显著的,并且每个模型中PM2.5浓度对应的系数绝对值最大,说明它对AQI的影响程度最大。

0.05显著性水平下,只有O3浓度对应的系数在3个模型中是不联合相等的,即在不同的分位数模型中O3浓度对AQI的影响程度不同,不能随意剔除,而其他的变量在0.05显著性水平下是联合相等的,即在不同的分位数回归模型中对AQI影响效果在一定程度上相同,存在剔除的可能。

模型优化:向后剔除法剔除系数不显著的变量。

下图描述了在不同分位数水平下的回归模型系数的置信区间,分位数从0.010.99上等距变化。图中深色的曲线表示不同分位数水平下各自变量对应的系数估计值,灰色区域表示系数的95%置信区间,深色虚线表示均值回归模型中各系数的估计值,两侧的浅色虚线之间为均值回归模型中系数的95%置信区间。

随着分位数的增大,各系数的置信区间在逐渐变宽,O3浓度对应的系数估计值的置信区间先变宽后变窄。系数的置信区间变宽说明系数估计值的标准差在逐渐变大,系数估计值的波动性在增强。以上系数置信区间图中,只有O3浓度对应的系数估计值是具有单调性,不存在“分位数交叉问题”,即在不同的分位数水平下,O3浓度对AQI的影响不同,其余变量在不同分位数水平下对AQI的影响效果在一定程度上相同。另外,除PM2.5浓度对应的系数估计值基本在均值回归模型的系数置信区间内之外,其余系数的估计值基本不在均值回归模型的系数置信区间之内,尤其是低分位数和高分位数上,差别较大,这也进一步说明了均值回归模型在一定程度上具有不合理性,分位数回归模型可以更好地解释变量间的关系。

1788个样本平均分为3等份,分别为第1-596597-11921193-1788个样本数据。对新组成的3个样本数据重新进行分位数为0.250.500.75的分位数回归模型。

总结:

线性(均值)回归模型只是通过拟合均值表达数据的集中趋势,无法刻画数据的位置(分位点)上的变化,在满足假设的情况下,线性(均值)回归具有较好的拟合效果,但是分位数回归模型具有较好的稳健性,并且能描述数据不同位置(分位点)上的估计值,当数据不满足假设条件时尤其是数据呈偏态分布时,分位数回归模型拟合效果更好。

部分Stata代码:
*读取数据,数据处理
insheet using E:\计量论文\成都市空气质量指数.csv
rename o3_8h o3
*描述性统计
asdoc sum
*QQ图
qnorm aqi
*箱线图
graph box aqi
*相关系数
asdoc pwcorr aqi pm25 pm10 so2 co no2 o3, star(all) nonum replace
*归一化处理
egen maqi =min(aqi)
egen Maqi =max(aqi)
gen aqi_=(aqi-maqi)/(Maqi-maqi)egen mpm25 =min(pm25)
egen Mpm25 = max(pm25)
gen pm25_=(pm25-mpm25)/(Mpm25-mpm25)egen mpm10 =min(pm10)
egen Mpm10 =max(pm10)
gen pm10_=(pm10-mpm10)/(Mpm10-mpm10)egen mso2 =min(so2)
egen Mso2 =max(so2)
gen so2_=(so2-mso2)/(Mso2-mso2)egen mco =min(co)
egen Mco =max(co)
gen co_=(co-mco)/(Mco-mco)egen mno2 =min(no2)
egen Mno2 =max(no2)
gen no2_=(no2-mno2)/(Mno2-mno2)egen mo3 =min(o3)
egen Mo3 =max(o3)
gen o3_=(o3-mo3)/(Mo3-mo3)*分位数回归
eststo : quietly regress aqi_ pm25_ pm10_ so2_ co_ no2_ o3_
eststo : quietly qreg aqi_ pm25_ pm10_ so2_ co_ no2_ o3_ ,quantile(.25)
eststo : quietly qreg aqi_ pm25_ pm10_ so2_ co_ no2_ o3_ ,quantile(.50)
eststo : quietly qreg aqi_ pm25_ pm10_ so2_ co_ no2_ o3_ ,quantile(.75)
asdoc esttab est2 est3 est4 est5, b p t staraux
*Wald检验
qreg aqi_ pm25_ pm10_ so2_ co_ no2_ o3_ ,quantile(.25)
test pm25_ pm10_ so2_ co_ no2_ o3_
qreg aqi_ pm25_ pm10_ so2_ co_ no2_ o3_ ,quantile(.50)
test pm25_ pm10_ so2_ co_ no2_ o3_
qreg aqi_ pm25_ pm10_ so2_ co_ no2_ o3_ ,quantile(.75)
test pm25_ pm10_ so2_ co_ no2_ o3_
*联合相等检验
sqreg aqi_ pm25_ pm10_ so2_ co_ no2_ o3_,q(.25,.50,.75)
test[q25=q50=q75]:pm25_
test[q25=q50=q75]:pm10_
test[q25=q50=q75]:so2_
test[q25=q50=q75]:co_
test[q25=q50=q75]:no2_
test[q25=q50=q75]:o3_
*向后剔除(最终)
eststo : quietly qreg aqi_ pm25_ pm10_ o3_ ,quantile(.25)
eststo : quietly qreg aqi_ pm25_ pm10_ o3_ ,quantile(.50)
eststo : quietly qreg aqi_ pm25_ pm10_ o3_ ,quantile(.75)
asdoc esttab est1 est2 est3 , b p t staraux
*检验过程代码同上
*稳健性检验(归一化代码同上)
insheet using E:\计量论文\数据1.csv
eststo : quietly qreg aqi1_ pm251_ pm101_ o31_ ,quantile(.25)
eststo : quietly qreg aqi_ pm251_ pm101_ o31_ ,quantile(.50)
eststo : quietly qreg aqi_ pm251_ pm101_ o31_ ,quantile(.75)
asdoc esttab est1 est2 est3 , b p t staraux
insheet using E:\计量论文\数据2.csv
eststo : quietly qreg aqi1_ pm252_ pm102_ o32_ ,quantile(.25)
eststo : quietly qreg aqi_ pm252_ pm102_ o32_ ,quantile(.50)
eststo : quietly qreg aqi_ pm252_ pm102_ o32_ ,quantile(.75)
asdoc esttab est1 est2 est3 , b p t staraux
insheet using E:\计量论文\数据3.csv
eststo : quietly qreg aqi1_ pm253_ pm103_ o33_ ,quantile(.25)
eststo : quietly qreg aqi_ pm253_ pm103_ o33_ ,quantile(.50)
eststo : quietly qreg aqi_ pm253_ pm103_ o33_ ,quantile(.75)
asdoc esttab est1 est2 est3 , b p t staraux

 

 

 


http://chatgpt.dhexx.cn/article/XJPjDmEO.shtml

相关文章

分位数回归—R语言实现

大家好,我是带我去滑雪,每天教你一个小技巧! 分位数回归—R语言实现 1、分位数基本介绍——什么是分位数? 2、分位数回归用途——为什么要使用分位数回归? 3、图形分析——如何进行分位数回归图像分析? …

分位数回归-Quantile regression

一、分位数回归概念 分位数回归是估计一组回归变量X与被解释变量Y的分位数之间线性关系的建模方法。 以往的回归模型实际上是研究被解释变量的条件期望。而人们也关心解释变量与被解释变量分布的中位数,分位数呈何种关系。它最早由Koenker和Bassett(1978)提出。 …

分位数回归(Quantile regression)笔记

分位数回归(Quantile regression)是在给定 X \mathbf{X} X的条件下估计 y \mathbf{y} y的中位数或其他分位数, 这是与最小二乘法估计条件均值最大的不同。 分位数回归也是一种线性回归,它为第 q q q个分位数( q ∈ ( …

分位数回归(quantile regression)简介和代码实现

普通最小二乘法如何处理异常值? 它对待一切事物都是一样的——它将它们平方! 但是对于异常值,平方会显著增加它们对平均值等统计数据的巨大影响。 我们从描述性统计中知道,中位数对异常值的鲁棒性比均值强。 这种理论也可以在预测…

分位数回归(Quantile Regression)

在介绍分位数回归之前,先重新说一下回归分析,我们之前介绍了线性回归、多项式回归等等,基本上,都是假定一个函数,然后让函数尽可能拟合训练数据,确定函数的未知参数。尽可能拟合训练数据,一般是…

C语言最全函数大全

以下图片以字母顺序排列,语法着色版本。 每个函数包含函数名,功能,用法,举例...

C语言函数大全-- s 开头的函数(2)

s 开头的函数(2) 1. setlinestyle1.1 函数说明1.2 演示示例1.3 运行结果 2. setmem2.1 函数说明2.2 演示示例 3. setmode3.1 函数说明3.2 演示示例3.3 运行结果 4. setpalette4.1 函数说明4.2 演示示例4.3 运行结果 5. setrgbpalette5.1 函数说明5.2 演示…

C语言函数大全-- i 开头的函数

i 开头的函数 1. imagesize1.1 函数说明1.2 演示示例1.3 运行结果 2. initgraph2.1 函数说明2.2 演示示例2.3 运行结果 3. inport3.1 函数说明3.2 演示示例 4. insline4.1 函数说明4.2 演示示例 5. installuserdriver5.1 函数说明5.2 演示示例 6. installuserfont6.1 函数说明6…

函数 C语言】

函数的声明和定义 函数间调用关系是&#xff0c;由于函数调用其他函数&#xff0c;替他函数也可以互相调用&#xff0c;同一个函数可以被一个或多个函数调用任意次。 先声明&#xff0c;后调用。 #include <stdio.h> //去标准库下找文件 #include "stdio.h"…

【C语言】函数详解

&#x1f525;&#x1f525; 欢迎来到小林的博客&#xff01;&#xff01;       &#x1f6f0;️博客主页&#xff1a;✈️小林爱敲代码       &#x1f6f0;️专栏&#xff1a;✈️C语言快速入门       &#x1f6f0;️欢迎关注&#xff1a;&#x1f44d;点…

C语言函数大全-- s 开头的函数(1)

s 开头的函数&#xff08;1&#xff09; 1. sbrk1.1 函数说明1.2 演示示例 2. scalb&#xff0c;scalbf&#xff0c;scalbl2.1 函数说明2.2 演示示例 3. scalbln&#xff0c;scalblnf&#xff0c;scalblnl3.1 函数说明3.2 演示示例3.3 运行结果 4. scalbn&#xff0c;scalbnf&a…

【详解C语言】函数

文章目录 1. 函数是什么&#xff1f;2. C语言中函数的分类&#xff1a;1. 库函数&#xff1a;2. 自定义函数 3. 函数的参数3.1 实际参数&#xff08;实参&#xff09;3.2 形式参数&#xff08;形参&#xff09; 4. 函数的调用&#xff1a;4.1 传值调用4.2 传址调用4.3 练习 5. …

C语言函数介绍

1.字母的大小写转换-->islower() 2.快速排序函数-->qsort() 下面正式给大家介绍这两个函数 &#xff08;1&#xff09;islower() islower() 函数用来检测一个字符是否是小写字母。 在默认情况下&#xff0c;小写字母包括&#xff1a; a,b,c,d,e,f,g,h,i,j,k,l,m,n,o…

C语言标准库函数大全(ctype、time 、stdio、stdlib、math、string)

文章目录 C语言函数库:一. <ctype.h>二. <math.h>三. <stdio.h>四. <stdlib.h>五. <time.h>六. <string.h> 文档资料 C语言函数库: C语言的常用的标准头文件有 &#xff1a; <ctype.h>   <time.h>   <stdio.h> <…

【C语言进阶】最常用的库函数大全——从入门到精通

目录 前言&#xff1a; 一.字符串函数 1.strlen——求字符串长度 strlen 2.长度不受限制的字符串函数 a.strcpy——字符串拷贝 strcpy b.strcat——追加字符串 strcat c.strcmp——字符串比较 strcmp 3.长度受限制的字符串函数——strncpy,strncat,strncmp 为什么会…

C语言一些常用的函数

目录 sizeof()运算符strlen()函数abort()函数exit()函数Sleep()函数atof()将字符串转换成浮点数atoi()将字符串转换成整型数的函数atol()将字符串转换成长整型数的函数strlwr()函数strupr()函数 sizeof()运算符 sizeof()运算符: 编译器自带的,不用到任何包都能用。用法&…

C语言常用函数详解

函数详解&#xff1a; strlen(字符串长度)sizeof(字节大小)strcmp(字符串比较)strcpy(字符串拷贝)strcat(字符串追加)strncpy(字符串按字节拷贝)strncmp(字符串按字节比较)strncat(字符串按字节追加)strstr(查找字符串)strtok(查找符号)memcpy(按字节拷贝数据&#xff08;任意类…

C语言的中常用的函数

一、main函数 一个C程序就是由若干头文件和函数组成&#xff0c;有且只有一个主函数&#xff0c;即main函数。 #include <stdio.h>int main(){printf("c语言主函数");return 0; } C程序就是执行主函数里的代码&#xff0c;C语言中的唯一入口。 main前面的int…

C语言中常用的函数

C语言中常用的函数 1、putchar()函数2、getchar()函数3、pow( a , b )函数4、sqrt( a )函数5、fabs(a)函数6、puts(字符数组)函数——输出字符串的函数7、gets(字符数组)——输入字符串的函数8、strcat(a , b)函数——字符串连接函数9、strcpy函数——字符串复制函数10、strncp…

C语言中的函数(详解)

目录 1.函数是什么 2.c语言中函数的分类&#xff1a; 2.1. 库函数 2. 自定义函数 3. 函数的参数 3.1 实际参数&#xff08;实参&#xff09; 3.2 形式参数&#xff08;形参&#xff09; 4. 函数的调用&#xff1a; 4.1 传值调用 4.2 传址调用 5. 函数的嵌套调用和链…