在Python中模拟两阶段最小二乘法

2024-09-28 16:59:02 发布

您现在位置:Python中文网/ 问答频道 /正文

Question

np.random.seed(123)
for r in [0,0.5,1]:
    x = []
    y = []
    current_x = 0
    current_y = 0
    u = np.random.randn()
    for i in range(50):
        x.append(current_x)
        w = np.random.randn()
        current_x = w + r * u
        y.append(current_y)
        y = add_constant(y)
        current_y = current_x + u
        

    res_ols = IV2SLS(np.array(y), np.array(x), None, None).fit(cov_type='unadjusted')
    print(res_ols)
    
    res_second = IV2SLS(np.array(y), exog, np.array(x), np.array(w)).fit(cov_type='unadjusted')
    print(res_second)

我不知道如何模拟外生回归。我应该加一个常量作为外生变量吗?有人能在我的代码中找到错误吗?非常感谢


Tags: innonefortypenpresrandomcurrent