import statsmodels.api as sm
from matplotlib import pyplot as plt
import numpy as np
data = sm.datasets.longley.load()
data.exog = sm.add_constant(data.exog)
model = sm.OLS(data.endog, data.exog)
mod_fit = model.fit()
res = mod_fit.resid # residuals
probplot = sm.ProbPlot(res)
probplot.qqplot()
plt.show()
import scipy.stats as stats
probplot = sm.ProbPlot(res, stats.t, distargs=(4,))
fig = probplot.qqplot()
plt.show()
probplot = sm.ProbPlot(res, stats.t, distargs=(4,), loc=3, scale=10)
fig = probplot.qqplot()
plt.show()
probplot = sm.ProbPlot(res, stats.gamma, fit=True)
fig = probplot.qqplot(line='45')
plt.show()
import numpy as np
x = np.random.normal(loc=8.25, scale=2.75, size=37)
y = np.random.normal(loc=8.75, scale=3.25, size=37)
pp_x = sm.ProbPlot(x, fit=True)
pp_y = sm.ProbPlot(y, fit=True)
fig = pp_x.qqplot(line='45', other=pp_y)
plt.show()
nobs = 300
np.random.seed(1234) # Seed random generator
dens = sm.nonparametric.KDEUnivariate(np.random.beta(0.5,1.0,size=nobs))
dens.fit()
plt.plot(dens.cdf)
plt.show()
x=np.random.normal(size=nobs)+2*np.random.uniform(size=nobs)
dens = sm.nonparametric.KDEUnivariate(x)
dens.fit()
plt.plot(dens.cdf)
plt.show()
plt.plot(dens.density)
plt.show()
dens.entropy
1.5758280021977709