def fit(self, exog_predict=None, exog_nonparametric_predict=None): """Computes fitted values and marginal effects""" if exog_predict is None: exog_predict = self.exog else: exog_predict = _adjust_shape(exog_predict, self.k_linear) if exog_nonparametric_predict is None: exog_nonparametric_predict = self.exog_nonparametric else: exog_nonparametric_predict = _adjust_shape(exog_nonparametric_predict, self.K) N_data_predict = np.shape(exog_nonparametric_predict)[0] mean = np.empty((N_data_predict,)) mfx = np.empty((N_data_predict, self.K)) Y = self.endog - np.dot(exog_predict, self.b)[:,None] for i in xrange(N_data_predict): mean_mfx = self.func(self.bw, Y, self.exog_nonparametric, data_predict=exog_nonparametric_predict[i, :]) mean[i] = mean_mfx[0] mfx_c = np.squeeze(mean_mfx[1]) mfx[i, :] = mfx_c return mean, mfx
def __init__(self, endog, exog, var_type): self.var_type = var_type self.K = len(var_type) self.var_type = self.var_type[0] self.endog = _adjust_shape(endog, 1) self.exog = _adjust_shape(exog, self.K) self.nobs = np.shape(self.exog)[0] self.data_type = self.var_type self.func = self._est_loc_linear self.b, self.bw = self._est_b_bw()
def __init__(self, endog, exog, exog_nonparametric, var_type, k_linear): self.endog = _adjust_shape(endog, 1) self.exog = _adjust_shape(exog, k_linear) self.K = len(var_type) self.exog_nonparametric = _adjust_shape(exog_nonparametric, self.K) self.k_linear = k_linear self.nobs = np.shape(self.exog)[0] self.var_type = var_type self.data_type = self.var_type self.func = self._est_loc_linear self.b, self.bw = self._est_b_bw()
def __init__(self, endog, exog, var_type): self.var_type = var_type self.K = len(var_type) self.var_type = self.var_type[0] self.endog = _adjust_shape(endog, 1) self.exog = _adjust_shape(exog, self.K) self.nobs = np.shape(self.exog)[0] self.data_type = self.var_type self.ckertype = 'gaussian' self.okertype = 'wangryzin' self.ukertype = 'aitchisonaitken' self.func = self._est_loc_linear self.b, self.bw = self._est_b_bw()
def fit(self, data_predict=None): if data_predict is None: data_predict = self.exog else: data_predict = _adjust_shape(data_predict, self.K) N_data_predict = np.shape(data_predict)[0] mean = np.empty((N_data_predict,)) mfx = np.empty((N_data_predict, self.K)) for i in xrange(N_data_predict): mean_mfx = self.func(self.bw, self.endog, np.dot(self.exog, self.b)[:,None], data_predict=np.dot(data_predict[i:i+1, :],self.b)) mean[i] = mean_mfx[0] mfx_c = np.squeeze(mean_mfx[1]) mfx[i, :] = mfx_c return mean, mfx