我的因变量过于分散。因此,我想对我的数据应用广义负二项回归。此外,我想检查指标对均值和离散度参数的影响,如这两篇论文中所述:
第128页: 弗莱明,李(2001):技术搜索中的重组不确定性。管理科学47(1),第117-132页。内政部:10.1287/mnsc.47.1.117.10671
第719页: 丹尼斯·维尔霍文;巴克尔,尤里安;Veugelers,Reinhilde(2016):使用基于专利的指标测量技术新颖性。研究政策45(3),第707-723页。内政部:10.1016/j.respol.2015.11.010
两位作者都是在STATA中进行回归的,因此我不能依赖他们的代码,因为我想在Python中(或者如果不可能,在SPSS中)进行回归
我当前的Python代码处理回归并显示回归系数。但是,我看不到对平均值和离散度产生影响的选项:
expr = """CIT_REC ~ SCIENCE_NOV
+ APY + PBY + IPC_A + IPC_B + IPC_C + IPC_D + IPC_E + IPC_F + IPC_G + IPC_H + IPC_Y + NUM_CLAIMS + NUM_ID_CLAIMS + NUM_DP_CLAIMS + COMPL_CLAIMS"""
y_train, X_train = dmatrices(expr, df_train, return_type='dataframe')
X_train = sm.add_constant(X_train)
poisson_training_results = sm.GLM(y_train, X_train, family=sm.families.Poisson()).fit()
#print(poisson_training_results.summary())
import statsmodels.formula.api as smf
df_train['BB_LAMBDA'] = poisson_training_results.mu
df_train['AUX_OLS_DEP'] = df_train.apply(lambda x: ((x['CIT_REC'] - x['BB_LAMBDA'])**2 - x['CIT_REC']) / x['BB_LAMBDA'], axis=1)
ols_expr = """AUX_OLS_DEP ~ BB_LAMBDA - 1"""
aux_olsr_results = smf.ols(ols_expr, df_train).fit()
print(aux_olsr_results.params)
nb2_training_results = sm.GLM(y_train, X_train,family=sm.families.NegativeBinomial(alpha=aux_olsr_results.params[0])).fit()
print(nb2_training_results.summary())
这是电流输出
Generalized Linear Model Regression Results
==============================================================================
Dep. Variable: CIT_REC No. Observations: 120332
Model: GLM Df Residuals: 120316
Model Family: NegativeBinomial Df Model: 15
Link Function: log Scale: 1.0000
Method: IRLS Log-Likelihood: -3.7912e+05
Date: Thu, 08 Oct 2020 Deviance: 74180.
Time: 10:45:42 Pearson chi2: 2.05e+05
No. Iterations: 14
Covariance Type: nonrobust
=================================================================================
coef std err z P>|z| [0.025 0.975]
---------------------------------------------------------------------------------
Intercept 228.8814 3.172 72.148 0.000 222.664 235.099
SCIENCE_NOV 3.3563 0.532 6.309 0.000 2.314 4.399
APY 0.0129 0.008 1.663 0.096 -0.002 0.028
PBY -0.1385 0.008 -17.227 0.000 -0.154 -0.123
IPC_A 26.0610 0.353 73.732 0.000 25.368 26.754
IPC_B 25.3848 0.352 72.015 0.000 24.694 26.076
IPC_C 24.7705 0.356 69.669 0.000 24.074 25.467
IPC_D 24.6420 0.382 64.585 0.000 23.894 25.390
IPC_E 25.0614 0.357 70.161 0.000 24.361 25.762
IPC_F 25.3837 0.358 70.980 0.000 24.683 26.085
IPC_G 25.6531 0.352 72.802 0.000 24.962 26.344
IPC_H 25.7289 0.354 72.631 0.000 25.035 26.423
IPC_Y 26.1960 0.367 71.351 0.000 25.476 26.916
NUM_CLAIMS -0.5566 0.178 -3.123 0.002 -0.906 -0.207
NUM_ID_CLAIMS 0.5767 0.178 3.235 0.001 0.227 0.926
NUM_DP_CLAIMS 0.5758 0.178 3.230 0.001 0.226 0.925
COMPL_CLAIMS -0.0002 2.56e-05 -7.709 0.000 -0.000 -0.000
=================================================================================
编辑:我询问了作者,得到了以下信息。我们使用stata“nbreg”命令,并指定“lnalpha(vars)”作为离散度建模的选项。python或SPSS中是否有类似的函数
目前没有回答
相关问题 更多 >
编程相关推荐