Can You Hear The Music
- Ludwig Göransson
An audio error has occurred.
1
Can You Hear The Music
Ludwig Göransson
在经济学课程中,大部分概念往往会经历“数学含义-经济含义-统计含义 ”三次重新理解。我们总是在不同的地方见到同一个东西,但是却很少一口气把它通拉理解一遍,例如三个计算式 。
本文将概括下“收敛”这个概念在三个环节的贯穿(虽然关联性似乎不强,但我还是想梳理一遍)
极限和收敛,一开始就是一回事儿。
主要参考同济版《高等数学》 ,收敛是作为极限的一种描述状态引入:
数列的极限 中(上册 21 页),数列 收敛于 ,记为 。
函数的极限 中(上册 33 页),函数收敛,记为 。
级数的极限 中(下册 252 页), 无穷级数收 敛,意味着 反之则为发散。
其中,级数收敛又分为绝对收敛和条件收敛; 逐点收敛和一致收敛
绝对收敛: 收敛,则称 绝对收敛。
条件收敛: 不收敛, 收敛,则称 条件收敛。
点点收敛: ,
一致收敛: ,
顺便提一手收敛半径,也就是能让级数 收敛的 的范围值。
收敛发散判定答题 有没有捷径呢? 我的高数老师就说了一个“幽默”的方法,我在知乎上还刷到过:
你看这两个字,是不是既收敛又发散(
既收敛又发散
你以为的“偶然”往往蕴含在“必然”之中。有人必然 中彩票,只是那个人偶然 是你。
参考茆诗松版《概率论与数理统计 》 ,随机变量序列有两种收敛方式,依概率收敛和依条件收敛。
依概率收敛:
例如丢硬币,可能一开始正面朝上的几率偏离 的幅度极大,当投掷的次数越来越多后,频率就会趋近于概率。频率统计成了确定概率 的方法之一。
各种版本的大数定理大数定理 基本说的都是一件事:随着实验次数 n 的增加,概率与频率的偏差值 大于预先给定的一个值 的可能性会越来越小。
无论是伯努利(Bernolli )大数定理、切比雪夫大数(chebyshev )定理、马尔科夫(Markov )大数定理、辛钦(Khinchin )大数定理,本质上说的都是这一件事 。
依分布收敛:
强分布收敛是点点分布收敛,弱分布收敛是去掉间断点只考虑 的连续分布。
表示为也就是 。
说的是这样一件事:一定条件 下,独立随机变量和的 分布函数会趋于正态分布。
有趣的函数分布知识
假设存在一个随机变量,满足二项分布。
当它趋于极限,期望等于方差,就成了泊松分布。
随机变量间的间隔则满足指数分布。
第 n 次变量对应的横坐标服从伽马分布。
货币≠数字,运营≠算题,经济≠数学
来自“区域经济学”课老师用过的资料 《高级经济地理学》 (贺灿飞著)。
随着索罗(solow )模型的提出, 发展经济学研究者们发出了疑问:
既然,每个经济体有自己的稳态点与平衡增长路径。
同时,落后的经济体发展地很快,先进的经济体发展的速度不断减缓。
那么问题来了,最后大家的经济增长会不会趋同呢?
收敛:
认为:无论经济体初始情况如何,由于弱者发展快,强者发展慢,最后经济发展总是收敛到一致的水平。我们需要的只是“一点点”耐心。
认为:经济体的增长速度受某些环境结构(例如人口结构,要素禀赋,要素增长率)影响,因此不同的经济体收敛于不同的稳态,最后发展的结果也不同。
认为:初期经济发展水平接近的经济集团和较富的国家集团各自内部存在条件收敛,而两个集团之间却没有收敛的迹象。
收敛:
似乎是实分析中的数学概念,但我第一次学是在**Romer **的《高级宏观经济学》中学到的,所以归纳到经济部分。
查了下维基百科(Rate of convergence ),主要应用在算法优化和深度学习领域 。
若序列 收敛于 ,下式 就是收敛率的表达式 。
当式子中的 时,就是线性收敛 收敛速度就是 和 时刻,数值到收敛点的数值差距之比。
想象下跑步比赛。我们衡量快慢,比较的是从起点开始的距离。
收敛则像我们在焦急的等待下课铃。我们在意的是距离多久才能到终点。
收敛到一起
solow model其实就算在基础上加了个要素横轴
如何表示 时刻和 时刻呢?经济分析中通常使用泰勒展开近似。
以 solow 模型为例,,所以动态分析上, 为 的函数,我们写作 。
稳态点时,,
在 时,对 作一阶泰勒展开近似
就是我们要找的收敛速度
(1)绝对趋同
Barro 和 Martin(1991) 在 Baumol(1986) 的基础上提出了绝对 趋同的检验方程。
其中 表示 个地区, t 表示期初,表示期末,表示观测时期长度,,表示地区在 期的人均 GDP, 表示趋同速度。如果 ,则说明不同地区经济发展的差异会逐渐消除,最终达到同样的稳态。
最小二乘法回归统计图,数据是欧盟地区(图源:Barro和Martin(1991))
上面的公式是根据新古典经济增长模型推导而来(也就是 solow model)。
个人觉得国内关于收敛回归方差的描述清晰简洁不少。这里参考彭国华(2005) 的回归式子:
就是增长率, 是常数项, 是真实产出, 是误差项。当 ,也就说明了增长率 和经济水平 负相关。符合我们“高水平经济体增速较慢,低水平经济体增速较高”的假设。
(2) 条件趋同
Barro 和 Martin (1992) 在绝对 趋同检验方程的基础上又提出了条件 趋同的检验方程:
结论和参数含义和绝对趋同一样,因为条件趋同的含义是经济增长与经济体环境结构相关,所以多了 作为控制变量。
引入控制变量 麻烦的点在于又得去研究外生性了,,,,,,
(3) 俱乐部趋同
具有相同的经济特征、具有类似增长路径的集团内部存在趋同,在不同的经济集团之间则不存在趋同,这种现象称为俱乐部趋同(Durlauf,1995; Galor,1996)。
变量含义与上面相同,不同的是当 才说明趋同, 是虚拟变量,也就是分组,例如整个东亚可能是同样的发展路径,或者某几个城市都是作为港口城市进行发展。
发现的比较有趣的研究是以什么标准聚类分类俱乐部,比如以“中等收入陷阱”为聚类分类标准建模 。
Du (2017) (这位居然是山东大学的)引入了 Stata 包来执行 Phillips 和 Sul (2007) 的计量经济学收敛分析和俱乐部聚类算法。
分组依据思想大概如下
想详细看数学推导 的可以点击他们的名字的超链接看。
关于俱乐部聚类的 stata 操作,youtube、GitHub 有很好的教程。
VIDEO
我把他的 do 文件进行了部分翻译和细节补充 :
注意使用 cd 调整 stata 的工作读取环境(已写进 do 文件的注释)
百度网盘do文件
dta文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
*****************本do文件和附带数据源来源于以下:
* https://github. com/quarcs-lab/mendez2020-convergence-clubs-code-data
* 本文件主要是进行了局部翻译和增加了细节操作的翻译和提示
*-------------------------------------------------------
***************** 加载绘图的安装包*********************
*-------------------------------------------------------
* Install the convergence clubs package
findit st0503_1
net install st0503_1, from (http://www. stata-journal. com/software/sj19-1 )
* Install package dependencies
ssc install moremata
* 提醒:运行这些包需要stata12及其以上,结果导出到excel需要14. 2以上
*-------------------------------------------------------
*-------------------------------------------------------
clear all
macro drop _all
set more off
capture log close
*-------------------------------------------------------
***************** 定义全局宏方便引用*********
*-------------------------------------------------------
* (1 ) Indicate name of the dataset (Example: hiYes_log_lp. dta)
global dataSet hiYes_log_lp
* (2 ) Indicate name of the variable to be studied (Example: log_lp)
global xVar log_lp
* (3 ) Write label of the variable (Example: Labor Productivity)
global xVarLabel Labor Productivity
* (4 ) Indicate cross-sectional unit ID (Example: country)
global csUnitName country
* (5 ) Indicate temporal unit ID (Example: year)
global timeUnit year
*-------------------------------------------------------
//方便宏调用的逻辑是命名文件在stata工作目录中
//使用cd即可查看和转移当前工作目录
cd F:\桌面\俱乐部收敛
*-------------------------------------------------------
***************** 加载并设置数据集 ***********
*-------------------------------------------------------
** Load data
use "${dataSet}.dta"
* Keep necessary variables
keep id ${csUnitName} ${timeUnit} ${xVar}
* Set panel data
xtset id ${timeUnit}
*-------------------------------------------------------
*-------------------------------------------------------
****运行 log-t 收敛测试、聚类和合并算法,并在表中列出最终结果*****
*-------------------------------------------------------
* 如果我们使用日志文件,所有代码和结果都会记录在dataSet_clubs. txt文件中。另外,通过使用putexcel我们可以将结果以表格形式导出到excel。
* (1 ) Run log-t regression
putexcel set "${dataSet}_test.xlsx" , sheet(logtTest) replace
//设置excel作为输文件,会默认输出到当前你设置的工作日志中(cd)
logtreg ${xVar}, kq(0.333 )
//kq()是要被舍弃的数据权重,默认是0.3
//这个命令的数学推导可见:
* https://www. stata-journal. com/article. html?article=st0503
* https://onlinelibrary. wiley. com/doi/abs/10.1111 /j.1468-0262.2007.00811. x
//加上后面的命令,数学意义就是每个聚类里,趋于极限时,各个聚类内部变量相除为1,则他们相对收敛
ereturn list
matrix result0 = e(res)
putexcel A1 = matrix(result0), names nformat("#.##" ) overwritefmt
//命令导入矩阵
* (2 ) Run clustering algorithm
* 进行聚类,判断有几个俱乐部
putexcel set "${dataSet}_test.xlsx" , sheet(initialClusters) modify
psecta ${xVar}, name(${csUnitName}) kq(0.333 ) gen(club_${xVar})
matrix b=e(bm)
matrix t=e(tm)
matrix result1=(b \ t)
matlist result1, border(rows) rowtitle("log(t)" ) format (%9. 3f) left( 4 )
putexcel A1 = matrix(result1), names nformat("#.##" ) overwritefmt
* (3 ) Run merge algorithm
* 俱乐部进行合并,判断综合俱乐部,再次组合聚类
putexcel set "${dataSet}_test.xlsx" , sheet(mergingClusters) modify
scheckmerge ${xVar}, kq(0.333 ) club(club_${xVar})
matrix b=e(bm)
matrix t=e(tm)
matrix result2=(b \ t)
matlist result2, border(rows) rowtitle("log(t)" ) format (%9. 3f) left( 4 )
putexcel A1 = matrix(result2), names nformat("#.##" ) overwritefmt
* (4 ) List final clusters
putexcel set "${dataSet}_test.xlsx" , sheet(finalClusters) modify
imergeclub ${xVar}, name(${csUnitName}) kq(0.333 ) club(club_${xVar}) gen(finalclub_${xVar})
matrix b=e(bm)
matrix t=e(tm)
matrix result3=(b \ t)
matlist result3, border(rows) rowtitle("log(t)" ) format (%9. 3f) left( 4 )
putexcel A1 = matrix(result3), names nformat("#.##" ) overwritefmt
* 综上,各个地区经过了两次聚类分组
*-------------------------------------------------------
*-------------------------------------------------------
*****************生成相对变量**********
*-------------------------------------------------------
* 生成相对变量(用于绘图)
* 分组,取每组的平均,便于后面画每个俱乐部的图
save "temporary1.dta" ,replace
use "temporary1.dta"
collapse ${xVar}, by (${timeUnit})
gen id=999999
append using "temporary1.dta"
sort id ${timeUnit}
gen ${xVar}_av = ${xVar} if id==999999
bysort ${timeUnit} (${xVar}_av): replace ${xVar}_av = ${xVar}_av[1 ]
gen re_${xVar} = 1 *(${xVar}/${xVar}_av)
label var re_${xVar} "Relative ${xVar} (Average=1)"
drop ${xVar}_av
sort id ${timeUnit}
drop if id == 999999
rm "temporary1.dta"
* order variables
order ${csUnitName}, before(${timeUnit})
order id, before(${csUnitName})
* Export data to csv
export delimited using "${dataSet}_clubs.csv" , replace
save "${dataSet}_clubs.dta" , replace
*-------------------------------------------------------
*-------------------------------------------------------
***************** 绘图 *********************
*-------------------------------------------------------
** All lines
xtline re_${xVar}, overlay legend(off) scale(1.6 ) ytitle("${xVarLabel}" , size(small)) yscale(lstyle(none)) ylabel(, noticks labcolor(gs10)) xscale(lstyle(none)) xlabel(, noticks labcolor(gs10)) xtitle("" ) name(allLines, replace )
graph save "${dataSet}_allLines.gph" , replace
graph export "${dataSet}_allLines.pdf" , replace
** Indentified Clubs
summarize finalclub_${xVar}
return list
scalar nunberOfClubs = r(max)
forval i=1 /`=nunberOfClubs' {
xtline re_${xVar} if finalclub_${xVar} == `i' , overlay title ("Club `i'" , size(small)) legend(off) scale(1.5 ) yscale(lstyle(none)) ytitle("${xVarLabel}" , size(small)) ylabel(, noticks labcolor(gs10)) xtitle("" ) xscale(lstyle(none)) xlabel(, noticks labcolor(gs10)) name(club`i', replace)
local graphs `graphs' club`i'
}
graph combine `graphs' , ycommon
graph save "${dataSet}_clubsLines.gph" , replace
graph export "${dataSet}_clubsLines.pdf" , replace
** Within-club averages
collapse (mean) re_${xVar}, by (finalclub_${xVar} ${timeUnit})
xtset finalclub_${xVar} ${timeUnit}
rename finalclub_${xVar} Club
xtline re_${xVar}, overlay scale(1.6 ) ytitle("${xVarLabel}" , size(small)) yscale(lstyle(none)) ylabel(, noticks labcolor(gs10)) xscale(lstyle(none)) xlabel(, noticks labcolor(gs10)) xtitle("" ) name(clubsAverages, replace )
graph save "${dataSet}_clubsAverages.gph" , replace
graph export "${dataSet}_clubsAverages.pdf" , replace
clear
use "${dataSet}_clubs.dta"
*-------------------------------------------------------
*-------------------------------------------------------
***************** Export list of clubs ****************
*-------------------------------------------------------
* 下面的代码将国家列表及其俱乐部成员资格导出到文件中. csv。该列表可以在出版物的附录部分用作方便的参考。
summarize ${timeUnit}
scalar finalYear = r(max)
keep if ${timeUnit} == `=finalYear'
keep id ${csUnitName} finalclub_${xVar}
sort finalclub_${xVar} ${csUnitName}
export delimited using "${dataSet}_clubsList.csv", replace
*-------------------------------------------------------
中国目前的实证结果基本就是满足 收敛 和俱乐部收敛(分类一般是中东西部这种区域分类) 。GDP、全要素、工业产出作为标准基本是一样的结论 。
img