Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用公式从statsmodels实现IV2SLS_Python_Statsmodels - Fatal编程技术网

Python 使用公式从statsmodels实现IV2SLS

Python 使用公式从statsmodels实现IV2SLS,python,statsmodels,Python,Statsmodels,这里的代码将重现类似于我正在做的事情 import pandas as pd import numpy as np import scipy as sp from statsmodels.sandbox.regression.gmm import IV2SLS from numpy.linalg import LinAlgError from sklearn.preprocessing import StandardScaler def gen_data(Sigma, n=100):

这里的代码将重现类似于我正在做的事情

import pandas as pd
import numpy as np
import scipy as sp
from statsmodels.sandbox.regression.gmm import IV2SLS
from numpy.linalg import LinAlgError
from sklearn.preprocessing import StandardScaler

def gen_data(Sigma, n=100):
    try:
        Chol = sp.linalg.cholesky(Sigma)
        X = np.random.randn(n,Sigma.shape[0])
        X = StandardScaler().fit_transform(X)
        D = X @ Chol
    except LinAlgError:
        print("Provide a valid covariance matrix")
        D = np.nan
    return D

Sigma = np.array(
    [[5,1,0],
     [1,4,2],
     [0,2,3]]
)
df = pd.DataFrame(gen_data(Sigma),columns=["z","x1","u"])
df['y'] = 2*df['x1'] + 2*(df['x1']+df['u']) + np.random.normal(0,1,size=len(df))
IV2SLS.from_formula('y ~ u + [x1 ~ z]', data=df)
据我所知,从一些文档-,我应该能够从上面的代码运行回归。。。我不知道为什么它不喜欢
[x1~z]
的语法