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

一个一维数据数组。

distcallable

比较分布。默认是 scipy.stats.distributions.norm(一个标准正态分布)。

distargstuple

传递给 dist 的参数元组,以完全指定它,从而可以调用 dist.ppf。

afloat

用于预期顺序统计量的绘图位置的偏移量,例如。绘图位置由 (i - a)/(nobs - 2*a + 1) 给出,其中 i 在 range(0, nobs+1) 范围内

locfloat

分布的位置参数

scalefloat

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” - 通过四分位数拟合一条线。

  • 无 - 默认情况下不会向图表添加参考线。

axAxesSubplot, optional

如果指定,此子图将用于绘图,而不是创建新图形。

**plotkwargs

传递给 plot 命令的其他 matplotlib 参数。

Returns:
Figure

如果 ax 为 None,则创建图形。否则为 ax 连接的图形。

另请参阅

scipy.stats.probplot

注释

依赖于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()

以下图表展示了一些选项,请点击链接查看代码。

(源代码)

../_images/graphics_gofplots_qqplot_00.png

(png, hires.png, pdf)

../_images/graphics_gofplots_qqplot_01.png

(png, hires.png, pdf)

../_images/graphics_gofplots_qqplot_02.png

(png, hires.png, pdf)

../_images/graphics_gofplots_qqplot_03.png

(png, hires.png, pdf)


Last update: Oct 16, 2024