def setup_class(self): # replicating OLS by GMM - high agreement self.params_tol = [1e-11, 1e-12] self.bse_tol = [1e-13, 1e-13] exog = exog_st # with const at end res_ols = OLS(endog, exog).fit() #Note: start is irrelevant but required start = np.ones(len(res_ols.params)) nobs, k_instr = instrument.shape w0inv = np.dot(exog.T, exog) / nobs #w0 = np.linalg.inv(w0inv) mod = gmm.LinearIVGMM(endog, exog, exog) res = mod.fit( start, maxiter=0, inv_weights=w0inv, #optim_method='bfgs', optim_args={'gtol':1e-6}, weights_method='iid', wargs={ 'centered': False, 'ddof': 'k_params' }, has_optimal_weights=True) self.res1 = res #from results_gmm_griliches import results_onestep as results #self.res2 = results self.res2 = res_ols
def setup_class(cls): # replicating OLS by GMM - high agreement cls.params_tol = [1e-11, 1e-12] cls.bse_tol = [1e-12, 1e-12] exog = exog_st # with const at end res_ols = OLS(endog, exog).fit() #Note: start is irrelevant but required start = np.ones(len(res_ols.params)) nobs, k_instr = instrument.shape w0inv = np.dot(exog.T, exog) / nobs #w0 = np.linalg.inv(w0inv) mod = gmm.LinearIVGMM(endog, exog, exog) res = mod.fit( start, maxiter=0, inv_weights=w0inv, #optim_method='bfgs', optim_args={'gtol':1e-6, 'disp': 0}, optim_args={'disp': 0}, weights_method='iid', wargs={ 'centered': False, 'ddof': 'k_params' }, has_optimal_weights=True) # fix use of t distribution see #2495 comment res.use_t = True res.df_resid = res.nobs - len(res.params) cls.res1 = res #from .results_gmm_griliches import results_onestep as results #cls.res2 = results cls.res2 = res_ols
def setup_class(self): # compare to Stata default options, onestep GMM # this uses maxiter=1, one iteration in loop self.params_tol = [5e-9, 1e-9] self.bse_tol = [5e-10, 1e-10] exog = exog_st # with const at end start = OLS(endog, exog).fit().params nobs, k_instr = instrument.shape w0inv = np.dot(instrument.T, instrument) / nobs #w0 = np.linalg.inv(w0inv) mod = gmm.LinearIVGMM(endog, exog, instrument) res = mod.fit(start, maxiter=1, inv_weights=w0inv, optim_method='bfgs', optim_args={'gtol': 1e-6}, wargs={'centered': False}, has_optimal_weights=False) self.res1 = res mod = gmm.IVGMM(endog, exog, instrument) res = mod.fit(start, maxiter=1, inv_weights=w0inv, optim_method='bfgs', optim_args={'gtol': 1e-6}, wargs={'centered': False}, has_optimal_weights=False) self.res3 = res from results_gmm_griliches import results_onestep as results self.res2 = results