class statsmodels.stats.diagnostic.HetGoldfeldQuandt

test whether variance is the same in 2 subsamples


y : array_like

endogenous variable

x : array_like

exogenous variable, regressors

idx : integer

column index of variable according to which observations are sorted for the split

split : None or integer or float in intervall (0,1)

index at which sample is split. If 0<split<1 then split is interpreted as fraction of the observations in the first sample

drop : None, float or int

If this is not None, then observation are dropped from the middle part of the sorted series. If 0<split<1 then split is interpreted as fraction of the number of observations to be dropped. Note: Currently, observations are dropped between split and split+drop, where split and drop are the indices (given by rounding if specified as fraction). The first sample is [0:split], the second sample is [split+drop:]

alternative : string, ‘increasing’, ‘decreasing’ or ‘two-sided’

default is increasing. This specifies the alternative for the p-value calculation.


(fval, pval) or res :

fval : float

value of the F-statistic

pval : float

p-value of the hypothesis that the variance in one subsample is larger than in the other subsample

res : instance of result class

The class instance is just a storage for the intermediate and final results that are calculated


The Null hypothesis is that the variance in the two sub-samples are the same. The alternative hypothesis, can be increasing, i.e. the variance in the second sample is larger than in the first, or decreasing or two-sided.

Results are identical R, but the drop option is defined differently. (sorting by idx not tested yet)


run(y, x[, idx, split, drop, alternative, ...]) see class docstring

Previous topic


Next topic


This Page