Python 检验cobb-douglas函数的恒定规模回报假设检验:
我使用scipy项目包,比如numpy和pandas+statsmodel,进行一些计量经济学工作,比如回归,现在我想要一个测试,显示β1+β2=1 我的公式是:$Ln(Q_i)=\beta_0+\beta_1 Ln(L_i)+\beta_2 Ln(K_i)$ 我知道在stata中我必须使用这段代码,但在python中我不知道测试β1+β2=1的最佳方法是什么:Python 检验cobb-douglas函数的恒定规模回报假设检验:,python,numpy,pandas,statsmodels,patsy,Python,Numpy,Pandas,Statsmodels,Patsy,我使用scipy项目包,比如numpy和pandas+statsmodel,进行一些计量经济学工作,比如回归,现在我想要一个测试,显示β1+β2=1 我的公式是:$Ln(Q_i)=\beta_0+\beta_1 Ln(L_i)+\beta_2 Ln(K_i)$ 我知道在stata中我必须使用这段代码,但在python中我不知道测试β1+β2=1的最佳方法是什么: test ln(K)+ln(L)=1 感谢@JohnE和JseBold,我找到了如何使用statsmodels包测试OLS参数和OL
test ln(K)+ln(L)=1
感谢@JohnE和JseBold,我找到了如何使用
statsmodels
包测试OLS参数和OLS参数的telt线性组合的方法,它与patsy
公式一起工作,非常简单,下面是我的代码:
import pandas as pn
import numpy as np
import statsmodels.formula.api as smf
\\reading stata data file:
dp4 = pn.read_stata('datapset4.dta')
\\Rergession:
formula = 'Ln(output) ~ Ln(labor) +Ln(capital) '
cb= smf.ols(formula, data = dp4).fit()
\\Hypothesis Test for H0: "beta1 + beta 2 = 1"
print(cb.t_test("Ln(labor) +Ln(capital)=1"))
Test for Constraints
==============================================================================
coef std err t P>|t| [95.0% Conf. Int.]
------------------------------------------------------------------------------
c0 0.9787 0.063 -0.340 0.737 0.850 1.108
==============================================================================
因此,为了测试参数的线性组合,您只需为所需的变量和线性组合编写patsy公式,并将其放入回归的t_检验或f_检验方法中:
cb.t_test("Ln(labor) +Ln(capital)=1")
为了测试一个关于参数的假设,你只需要在引号中写下你想测试的方程,例如,如果你想测试beta1=1/2,(beta1作为Ln(劳动)系数),你只需要写以下代码:
print(cb.t_test("Ln(labor)=0.5"))
Test for Constraints
==============================================================================
coef std err t P>|t| [95.0% Conf. Int.]
------------------------------------------------------------------------------
c0 0.6030 0.126 0.818 0.422 0.343 0.863
==============================================================================
抱歉,我不知道如何使用latex,我尝试了一下,但不起作用:(我认为在statsmodels中,他们通常使用patsy作为公式?可以使用结果实例的t_检验、f_检验或wald_检验方法对参数进行线性假设检验。