Convergence analysis of regional income in Northeastern China: A classical convergence approach
Introduction
Research Methodology
Data
Descriptive analysis
df.describe().round(2)
city_idfloat64
lnrgdp2000float64
count
36
36
mean
220472.22
2.27
std
8821.58
0.57
min
210100
1.14
25%
210975
2
50%
220450
2.12
75%
230425
2.51
max
232700
4
Exploratory analysis
#line chart
px.line(
df1,
x="year",
y="ln_rgdppc",
color="City"
)
#line chart after hp filter (parameter=100)
px.line(
df3,
x="year",
y="trend100_lngdp",
color="City"
)
px.strip(
df1,
x="ln_rgdppc",
hover_name = 'City',
animation_frame = 'year',
#color="Province",
range_x = [1, 5.5]
)
px.box(
df1,
x="ln_rgdppc",
hover_name = 'City',
animation_frame = 'year',
color="Province",
range_x= [1, 5.5]
)
Regression analysis
Absolute convergence
sns.lmplot(x="lnrgdp2000", y="gr0019", data=df)
px.scatter(
df,
x="lnrgdp2000",
y="gr0019",
hover_name="City",
color="Province",
trendline="ols")
Results and discussion
Regression Table
y = df['gr0019']
X = df['lnrgdp2000']
X_withconst = sm.add_constant(X)
OLS = sm.OLS(y, X_withconst).fit()
print(OLS.summary())
OLS Regression Results
==============================================================================
Dep. Variable: gr0019 R-squared: 0.401
Model: OLS Adj. R-squared: 0.383
Method: Least Squares F-statistic: 22.77
Date: Fri, 12 Aug 2022 Prob (F-statistic): 3.39e-05
Time: 04:14:19 Log-Likelihood: 3.5305
No. Observations: 36 AIC: -3.061
Df Residuals: 34 BIC: 0.1060
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const 1.9531 0.157 12.401 0.000 1.633 2.273
lnrgdp2000 -0.3217 0.067 -4.772 0.000 -0.459 -0.185
==============================================================================
Omnibus: 1.318 Durbin-Watson: 2.164
Prob(Omnibus): 0.517 Jarque-Bera (JB): 1.085
Skew: 0.204 Prob(JB): 0.581
Kurtosis: 2.254 Cond. No. 11.5
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
smf.ols(formula='gr0019 ~ lnrgdp2000 + share_sec2000_x', data=df).fit().summary()