Annual minimum Nile water levels

The worked application uses 663 yearly minimum water-level observations from the Roda gauge near Cairo. The series is often studied in the long-memory literature, although structural breaks can generate similar persistent behaviour.

Observations663
Period622 to 1284
FrequencyAnnual
ResponseNileMin, minimum Nile water level
Sourcelongmemo::NileMin; originally compiled from Tousson (1925) and Beran (1994)
R / load the Nile data
library(SKN)
data("NileMin", package = "longmemo")
nile_levels <- as.numeric(NileMin)

First six observations

YearMinimum water level
6221157
6231088
6241169
6251169
626984
6271322

A reproducible single-bootstrap application

The reported result is generated from the current package source with a fixed random seed. The non-studentized route keeps the website build computationally light while exercising the public SKNtest() interface on real time-series data.

SettingValue
RouteNon-studentized single bootstrap
B11000 replications
CriterionAIC
Maximum lag\(\lceil (\log n)^2/2 \rceil\)
Random seed20260813
Selected lag13

None of the four null hypotheses is rejected

R / Nile application
set.seed(20260813)
nile_result <- SKNtest(
  NileMin,
  B1 = 1000,
  crit = "AIC",
  studentized = FALSE
)
nile_result
Output
Selected lag: 13
pS = 0.195
pR = 0.177
pK = 0.684
pN = 0.352
Computed result

Bootstrap decisions at the 5% level

Testp-valueDecision
Sample skewness (pS)0.195Do not reject symmetry at 5%
Robust skewness (pR)0.177Do not reject symmetry at 5%
Kurtosis (pK)0.684Do not reject mesokurtosis at 5%
Combined normality (pN)0.352Do not reject the joint skewness-kurtosis conditions at 5%

At the 5% level, neither symmetry test rejects symmetry, the kurtosis test does not reject mesokurtosis, and the combined test does not reject the joint skewness-kurtosis conditions associated with normality.

These non-rejections describe this application; they do not prove that the marginal distribution satisfies the corresponding conditions. Likewise, persistence in the series is not by itself evidence of long-range dependence because structural breaks may produce similar behaviour.

Run the studentized double bootstrap

The package default uses the studentized procedure. When B2 is omitted, the package sets B2 = 100 and prints a message. This route is substantially more computationally demanding and is therefore shown without being run during website generation.

R / studentized alternative
set.seed(20260813)
studentized_result <- SKNtest(
  NileMin,
  B1 = 1000,
  crit = "AIC"
)