“共同富裕”是我们的共同目标,实现城乡发展的均衡,不断缩小城乡收入差距应是共同富裕的必由之路。当前,我国城乡差距有不断扩大的趋势,严重影响了我国经济的可持续发展。而随着数字化技术的不断普及,为实现城乡均衡发展提供了新的手段。依托数字化技术建立起来的数字普惠金融天然具有普向大众的性质,促进农村地区金融发展,提高农村地区居民收入。本项目以数字普惠金融发展系数为核心解释变量,用以研究其对城乡收入差距的影响。
数据预处理包含对原始数据的表格合并、定义变量、计算相关指标等等内容。
原始数据的行坐标为地区,列坐标为时间,并非我们想要的格式,我们需要将横纵坐标合并,使得一个表格的内容变成一个变量,这里我想定义一个函数来完成此功能。
def conect_data(input_list):
output_list=[]
for city in input_list:
for i in range(1,11):
output_list.append(city[i])
return output_list#定义将不同年份不同地区数据合并的函数
在获取基本的变量信息后,就可以利用这些数据来计算相关的指标,这里主要计算金融发展水平、财政支出水平、第一产业占比、城镇化率、对外贸易水平。
#计算金融发展水平(金融产业增加值/GDP)、财政支出水平(财政支出/GDP)、
#第一产业占比(第一产业/GDP)、城镇化率(城市人口/总人口)、对外贸易水平(进出口总额/GDP)
import numpy as np
df['finance_rate'] = df['region_finance']/df['region_sum_gdp']
df['expen_rate'] = df['region_expen']/df['region_sum_gdp']
df['first_indus_rate'] = df['region_first_indus']/df['region_sum_gdp']
df['urban_rate'] = df['city_ppl']/df['total_ppl']
df['foreign_trade_rate'] = ((df['region_foreign_trade'] * 1000*7.1189)/100000000)/df['region_sum_gdp']
从目前的经济研究来看,用来描述发展差距比较常用的系数有基尼系数和泰尔指数,这两个指标的计算不仅需要农村和城镇的居民收入数据,还需要居民和城镇的人口数据,大部分学者采用泰尔指数来描述城乡发展差距,因此本文也采用泰尔指数来描述城乡差距。
泰尔指数计算公式如下:
其中 j=1、2 代表了城镇和农村,i 为地区代码,t 为年份。Zi代表总人口, Pi代表总收入。
计算代码如下:
#计算泰尔指数
df['theil'] = (df['city_sum_income']/df['total_sum_income'])*np.log((df['city_sum_income']/df['total_sum_income'])/(df['city_ppl']/df['total_ppl']))+(df['rural_sum_income']/df['total_sum_income'])*np.log((df['rural_sum_income']/df['total_sum_income'])/(df['rural_ppl']/df['total_ppl']))
在计算好模型需要的变量就可以将计算好的各个指标保存好。
final_df.to_csv('final_df.csv')#把处理好的数据集导出成csv文件,供之后模型使用
最终处理好的数据如图所示:
数据包含泰尔指数这一因变量和金融普惠系数相关变量(包含综合指数defi、覆盖广度broadth、覆盖深度、数字化程度level这几个变量)、人均gdp、金融化发展程度、政府支出水平、第一产业占比、城镇化率、外贸水平这几个解释变量。
本文采用面板回归模型进行分析,为便于研究,对变量进行对数化处理, 构建模型如下:
选用数字普惠金融指数 difi、broadth、width、level 作为核心解释变量。
对各变量的样本数、均值、标准差、最大值、最小值做描述性统计。
变量 |
Obs |
Mean |
Std.Dev |
Min |
Max |
Theil |
310 |
0.290230 |
0.061040 |
0.015775 |
0.29023 |
Difi |
310 |
431.93 |
97.030374 |
16.22 |
431.930 |
Per_gdp |
310 |
16.4158 |
2.687021 |
1.6024 |
16.4158 |
Finance_rate |
310 |
0.19634 |
0.030377 |
0.026497 |
0.19634 |
Expen_rate |
310 |
1.353777 |
0.210038 |
0.119612 |
1.353777 |
First_insdus_rate |
310 |
0.258381 |
0.052481 |
0.002764 |
0.258381 |
Urban_rate |
310 |
0.895833 |
0.131450 |
0.226537 |
0.895833 |
Foreign_trade_rate |
310 |
1.040025 |
0.181667 |
0.000006 |
1.040025 |
#对元数据进行对数化处理
import numpy as np
df['log_theil'] = np.log(df['theil'])
df['log_defi'] = np.log(df['defi'])
df['log_broadth'] = np.log(df['broadth'])
df['log_depth'] = np.log(df['depth'])
df['log_level'] = np.log(df['level'])
df['log_per_dgp'] = np.log(df['per_dgp'])
df['log_finance_rate'] = np.log(df['finance_rate'])
df['log_expen_rate'] = np.log(df['expen_rate'])
df['log_first_indus_rate'] = np.log(df['first_indus_rate'])
df['log_urban_rate'] = np.log(df['urban_rate'])
df['log_foreign_trade_rate'] = np.log(df['foreign_trade_rate'])
#判断各指标是否通过Mann-Whitney U 检验,判断各个统计量之间是否独立
from scipy.stats import mannwhitneyu
# 进行 Mann-Whitney U 检验
statistic, p_value = mannwhitneyu(df['log_theil'], df['log_foreign_trade_rate'])
# 打印检验结果
print(f"Mann-Whitney U 检验统计量:{statistic}")
print(f"P 值:{p_value}")
检验结果如下:
变量 |
P值 |
Log_Difi |
5.73940206e-103 |
Log_Per_gdp |
5.73942225206e-103 |
Log_Finance_rate |
1.07087601939e-45 |
Log_Expen_rate |
1.699508252406e-61 |
First_insdus_rate |
1.285648391357e-13 |
Urban_rate |
1.24448840119e-102 |
Foreign_trade_rate |
4.552885614e-16 |
Hausman 检验结果p值均小于0.05,拒绝原假设,应选用固定效应模型。
固定效应模型(Fixed Effects Model)是面板数据分析中的一种回归模型,它主要用于解决面板数据中存在个体特定效应(Individual Fixed Effects)或时间特定效应(Time Fixed Effects)的情况。这种模型被广泛应用于经济学、社会学和其他领域的研究中。模型代码如下:
from linearmodels.panel import PanelOLS
import statsmodels.api as sm
df = df.set_index(["region","year"])
exog1 = sm.add_constant(df[['log_defi','log_broadth','log_depth','log_level','log_per_dgp','log_finance_rate','log_expen_rate','log_first_indus_rate','log_urban_rate','log_foreign_trade_rate']])
exog2 = sm.add_constant(df[['defi','broadth','depth','level','per_dgp','finance_rate','expen_rate','first_indus_rate','urban_rate','foreign_trade_rate']])
grunfeld_fet1 = PanelOLS(df['log_theil'], exog1, entity_effects=True, time_effects=True)
grunfeld_fet1 = grunfeld_fet1.fit()
print(grunfeld_fet1)
grunfeld_fet2 = PanelOLS(df['log_theil'], exog2, entity_effects=True, time_effects=True)
grunfeld_fet2 = grunfeld_fet2.fit()
print(grunfeld_fet2)
回归结果如下:
以上模型的样本为全部省份,我们可以从系数列的正负可以看到相关变量对城乡收入差距的影响到底是正向还是负向的,以及影响到底有多大,然后p值用于表示显著性,p值越小,说明越显著。分析核心解释变量,四个核心解释变量中,除开difi变量,其他三个均为负值,说明总体上数字普惠金融的发展是可以减小城乡发展差距的,但是从p值上来判断,除开数字普惠金融发展覆盖广度呈现非常显著的负相关,p值为0.01,非常显著地说明数字普惠金融发展覆盖广度越大,城乡居民收入差距就越小。具体而言,覆盖广度的系数为-0.067,且在0.01的水平下显著,说明覆盖广度每增加100个百分点,可以使城乡差距收敛6.7个百分点。但是对于覆盖深度和数字化程度这两个数字化程度这两个变量,p值均超过了0.2,并不能说明显著关系,笔者在这里猜想跟数据集有关,猜想数字普惠金融的发展在缩小城乡差距方面可能存在门槛效应,在经济欠发达地区普遍收入较低,传统金融也有待发展,于是将样本按照地区进行分类,去除掉经济不发达省份,又跑了一次固定效应模型。
以下结果为去除掉不发达省份的局部样本:
在这一次的回归结果中,覆盖广度、覆盖深度、数字化程度这三个核心解释变量依旧与城乡收入差距呈现负相关,而且在去除掉经济不发达省份后,显著效果明显,覆盖广度、覆盖深度、数字化程度三个变量的p值分别为0.08、0.01、0.03,均达到了0.1的最低显著要求。覆盖广度的系数为-0.093,说明覆盖广度每提升100个百分点,可以使城乡收入差距收敛9.3个百分点;覆盖深度的系数为-0.159,说明覆盖深度每提升100个百分点,可以使城乡收入差距收敛15.9个百分点;数字化程度的系数为-0.0507,说明数字化程度每提升100个百分点,可以使城乡收入差距收敛5个百分点;三个变量均通过了最低10%的显著性检验,进一步说明了数字普惠金融发展在缩小城乡收入差距方面的作用确实是存在门槛效应的。
第一,通过本文的研究发现,数字普惠金融的发展对城乡收入差距具有收敛效果。本文通过数字普惠金融对城乡收入差距影响的机制分析,并对其进行了实证检验。通过实证回归分析 发现,数字普惠金融的发展表现出了对城乡收入差距的显著收敛效果。
第二,通过对比不同数据样本方向,数字普惠金融的发展对城乡收入差距的收敛需要一定的门槛,很多经济落后地区的收敛效果并不是很好,这说明要相关金融基础设施到达一定条件,数字普惠金融才能更好促进农村地区居民增收,从而缩小地区城乡差距。
这里只贴出了核心代码,完整代码和数据集可以在这里下载:
https://download.csdn.net/download/qq_52073614/88766055?spm=1001.2014.3001.5503
欢迎各位批评指正!