statsmodels.graphics.gofplots.qqplot¶
- statsmodels.graphics.gofplots.qqplot(data, dist=<scipy.stats._continuous_distns.norm_gen object>, distargs=(), a=0, loc=0, scale=1, fit=False, line=None, ax=None, **plotkwargs)[source]¶
Q-Q 图显示了 x 的分位数与分布的分位数/ppf 的对比。
可以接受指定分布参数的参数,或自动拟合这些参数。(参见参数下的拟合。)
- Parameters:¶
- dataarray_like
一个一维数据数组。
- dist
callable 比较分布。默认是 scipy.stats.distributions.norm(一个标准正态分布)。
- distargs
tuple 传递给 dist 的参数元组,以完全指定它,从而可以调用 dist.ppf。
- a
float 用于预期顺序统计量的绘图位置的偏移量,例如。绘图位置由 (i - a)/(nobs - 2*a + 1) 给出,其中 i 在 range(0, nobs+1) 范围内
- loc
float 分布的位置参数
- scale
float dist 的比例参数
- fitbool
如果 fit 为 false,loc、scale 和 distargs 将被传递给分布。如果 fit 为 True,则使用 dist.fit 自动拟合 dist 的参数。分位数是通过标准化数据形成的,在减去拟合的 loc 并除以拟合的 scale 之后。
- line{
None, “45”, “s”, “r”, “q”} 用于与数据进行比较的参考线的选项:
“45” - 45度线
“s” - 标准化线,预期的顺序统计量通过给定样本的标准差进行缩放,并加上均值
“r” - 拟合回归线
“q” - 通过四分位数拟合一条线。
无 - 默认情况下不会向图表添加参考线。
- ax
AxesSubplot,optional 如果指定,此子图将用于绘图,而不是创建新图形。
- **plotkwargs
传递给 plot 命令的其他 matplotlib 参数。
- Returns:¶
Figure如果 ax 为 None,则创建图形。否则为 ax 连接的图形。
另请参阅
注释
依赖于matplotlib。如果fit为True,则使用分布的fit()方法拟合参数。
示例
>>> import statsmodels.api as sm >>> from matplotlib import pyplot as plt >>> data = sm.datasets.longley.load() >>> exog = sm.add_constant(data.exog) >>> mod_fit = sm.OLS(data.endog, exog).fit() >>> res = mod_fit.resid # residuals >>> fig = sm.qqplot(res) >>> plt.show()残差与自由度为4的t分布分位数的qq图:
>>> import scipy.stats as stats >>> fig = sm.qqplot(res, stats.t, distargs=(4,)) >>> plt.show()qq图与上述相同,但均值为3,标准差为10:
>>> fig = sm.qqplot(res, stats.t, distargs=(4,), loc=3, scale=10) >>> plt.show()自动确定t分布的参数,包括loc和scale:
>>> fig = sm.qqplot(res, stats.t, fit=True, line="45") >>> plt.show()以下图表展示了一些选项,请点击链接查看代码。
(
源代码)
Last update:
Oct 16, 2024