pastas.stats.tests.diagnostics#

diagnostics(series, alpha=0.05, nparam=0, lags=15, stats=(), float_fmt='{0:.2f}')[source]#

Methods to compute various diagnostics checks for a time series.

Parameters
  • series (pandas.Series) – Time series to compute the diagnostics for.

  • alpha (float, optional) – significance level to use for the hypothesis testing.

  • nparam (int, optional) – Number of parameters of the noisemodel.

  • lags (int, optional) – Maximum number of lags (in days) to compute the autocorrelation tests for.

  • stats (tuple, optional) – Tuple with the diagnostic checks to perform. Not implemented yet.

  • float_fmt (str) – String to use for formatting the floats in the returned DataFrame.

Returns

df – DataFrame with the information for the diagnostics checks. The final column in this DataFrame report if the Null-Hypothesis is rejected. If H0 is not rejected (=False) the data is in agreement with one of the properties of white noise (e.g., normally distributed).

Return type

Pandas.DataFrame

Notes

Different tests are computed depending on the regularity of the time step of the provided time series. pd.infer_freq is used to determined if the time steps are regular.

Examples

>>> data = pd.Series(index=pd.date_range(start=0, periods=1000, freq="D"),
>>>                 data=np.random.rand(1000))
>>> ps.stats.diagnostics(data)
Out[0]:
                  Checks Statistic P-value  Reject H0
Shapiroo       Normality      1.00    0.86      False
D'Agostino     Normality      1.18    0.56      False
Runs test      Autocorr.     -0.76    0.45      False
Durbin-Watson  Autocorr.      2.02     nan      False
Ljung-Box      Autocorr.      5.67    1.00      False

In this example, the Null-hypothesis is not rejected and the data may be assumed to be white noise.