def plot_scatter_all_pairs(self, title=None): from statsmodels.graphics.plot_grids import scatter_ellipse if self.model.k_exog_re < 2: raise ValueError('less than two variables available') return scatter_ellipse(self.params_random_units, ell_kwds={'color': 'r'})
def plot_scatter_all_pairs(self, title=None): from statsmodels.graphics.plot_grids import scatter_ellipse if self.model.k_exog_re < 2: raise ValueError('less than two variables available') return scatter_ellipse(self.params_random_units, ell_kwds={'color':'r'})
##from scipy import stats ##r = stats.rdist.rvs(1, size=(nvars, nvars)) r = (r + r.T) / 2. assert np.allclose(r, r.T) mcorr = r mcorr[lrange(nvars), lrange(nvars)] = 1 #dcorr = np.array([[1, 0.5, 0.1],[0.5, 1, -0.2], [0.1, -0.2, 1]]) mstd = np.arange(1.,nvars+1)/nvars mcov = mcorr * np.outer(mstd, mstd) evals = np.linalg.eigvalsh(mcov) assert evals.min > 0 #assert positive definite nobs = 100 data = np.random.multivariate_normal(mmean, mcov, size=nobs) dmean = data.mean(0) dcov = np.cov(data, rowvar=0) print(dmean) print(dcov) dcorr = np.corrcoef(data, rowvar=0) dcorr[np.triu_indices(nvars)] = 0 print(dcorr) #default #fig = scatter_ellipse(data, level=[0.5, 0.75, 0.95]) #used for checking #fig = scatter_ellipse(data, level=[0.5, 0.75, 0.95], add_titles=True, keep_ticks=True) #check varnames varnames = ['var%d' % i for i in range(nvars)] fig = scatter_ellipse(data, level=0.9, varnames=varnames) plt.show()
# -*- coding: utf-8 -*- """ Create of grid of scatter plots with confidence ellipses from the statecrime dataset """ import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.graphics.plot_grids import scatter_ellipse data = sm.datasets.statecrime.load_pandas().data fig = plt.figure(figsize=(8, 8)) scatter_ellipse(data, varnames=data.columns, fig=fig) plt.show()