La stationnarité de second ordre est plus faible que la stationnarité stricte. La stationnarité du second ordre nécessite que les moments du premier et du second ordre (moyenne, variance et covariances) soient constants dans le temps et, par conséquent, ne dépendent pas du moment auquel le processus est observé. En particulier, comme vous le dites, la covariance ne dépend que de l'ordre de décalage, , mais pas du moment où elle est mesurée, C o v ( x t , x t - k ) = C o v ( x t + h , x t + h - k ) pour touskCo v ( xt, xt - k) = Co v ( xt + h, xt + h - k) .t
Dans un processus de stationnarité stricte, les moments de toutes les commandes restent constantes au fil du temps, à savoir, comme vous le dites, la distribution conjointe de est la même que la distribution conjointe de X t 1 + k + X t 2 + k + . . . + X t m + k pour tout t 1 , t 2 , . . .Xt 1, Xt 2, . . . , Xt mXt1+k+Xt2+k+...+Xtm+k et k .t1,t2,...,tmk
Par conséquent, une stationnarité stricte implique une stationnarité de second ordre mais l'inverse n'est pas vrai.
Modifier (modifié en réponse au commentaire de @ whuber)
La déclaration précédente est la compréhension générale de la stationnarité faible et forte. Bien que l'idée que la stationnarité au sens faible n'implique pas la stationnarité au sens fort puisse être en accord avec l'intuition, elle peut ne pas être aussi simple à prouver, comme le souligne whuber dans le commentaire ci-dessous. Il peut être utile d'illustrer l'idée telle que suggérée dans ce commentaire.
Comment définir un processus stationnaire du second ordre (moyenne, variance et covariance constante dans le temps) mais non stationnaire au sens strict (les moments d'ordre supérieur dépendent du temps)?
Comme suggéré par @whuber (si j'ai bien compris), nous pouvons concaténer des lots d'observations provenant de différentes distributions. Nous devons juste faire attention à ce que ces distributions aient la même moyenne et la même variance (à ce stade, considérons qu'elles sont échantillonnées indépendamment les unes des autres). D'une part, nous pouvons par exemple générer des observations à partir de la distribution Student avec 5 degrés de liberté. La moyenne est égale à zéro et la variance est 5 / ( 5 - deux ) = 5 / 3 . D'un autre côté, nous pouvons prendre la distribution gaussienne avec moyenne nulle et variance 5 / 3 .t55 / ( 5 - 2 ) = 5 / trois5 / 3
Les deux distributions partagent la même moyenne (zéro) et la variance ( ). Ainsi, la concaténation des valeurs aléatoires de ces distributions sera, au moins, stationnaire de second ordre. Cependant, le kurtosis aux points régis par la distribution gaussienne sera 3 , tandis qu'aux moments où les données proviennent de la distribution t de Student, il sera 3 + 6 / ( 5 - 4 ) = 9 . Par conséquent, les données ainsi générées ne sont pas stationnaires au sens strict car les moments de quatrième ordre ne sont pas constants.5 / 33t3 + 6 / ( 5 - 4 ) = 9
Les covariances sont également constantes et égales à zéro, car nous avons considéré des observations indépendantes. Cela peut sembler trivial, nous pouvons donc créer une certaine dépendance entre les observations selon le modèle autorégressif suivant.
avec
ε t ~ { N ( 0 , σ 2 = cinq / 3 )
yt= ϕ yt - 1+ ϵt,| ϕ | < 1,t = 1 , 2 , . . . , 120
ϵt∼ { N( 0 , σ2= Cinq / trois )t5sit ∈ [ 0 , 20 ] , [ 41 , 60 ] , [ 81 , 100 ]sit ∈ [ 21 , 40 ] , [ 61 , 80 ] , [ 101 , 120 ].
garantit que la stationnarité de second ordre est satisfaite.| ϕ | < 1
Nous pouvons simuler certaines de ces séries dans le logiciel R et vérifier si la moyenne, la variance, la covariance et le kurtosis de l'échantillon restent constants sur des lots de observations (le code ci-dessous utilise ϕ = 0,8 et la taille de l'échantillon n = 240 , la figure affiche une des séries simulées):20ϕ = 0,8n = 240
# this function is required below
kurtosis <- function(x)
{
n <- length(x)
m1 <- sum(x)/n
m2 <- sum((x - m1)^2)/n
m3 <- sum((x - m1)^3)/n
m4 <- sum((x - m1)^4)/n
b1 <- (m3/m2^(3/2))^2
(m4/m2^2)
}
# begin simulation
set.seed(123)
n <- 240
Mmeans <- Mvars <- Mcovs <- Mkurts <- matrix(nrow = 1000, ncol = n/20)
for (i in seq(nrow(Mmeans)))
{
eps1 <- rnorm(n = n/2, sd = sqrt(5/3))
eps2 <- rt(n = n/2, df = 5)
eps <- c(eps1[1:20], eps2[1:20], eps1[21:40], eps2[21:40], eps1[41:60], eps2[41:60],
eps1[61:80], eps2[61:80], eps1[81:100], eps2[81:100], eps1[101:120], eps2[101:120])
y <- arima.sim(n = n, model = list(order = c(1,0,0), ar = 0.8), innov = eps)
ly <- split(y, gl(n/20, 20))
Mmeans[i,] <- unlist(lapply(ly, mean))
Mvars[i,] <- unlist(lapply(ly, var))
Mcovs[i,] <- unlist(lapply(ly, function(x)
acf(x, lag.max = 1, type = "cov", plot = FALSE)$acf[2,,1]))
Mkurts[i,] <- unlist(lapply(ly, kurtosis))
}
Les résultats ne sont pas ceux que j'attendais:
round(colMeans(Mmeans), 4)
# [1] 0.0549 -0.0102 -0.0077 -0.0624 -0.0355 -0.0120 0.0191 0.0094 -0.0384
# [10] 0.0390 -0.0056 -0.0236
round(colMeans(Mvars), 4)
# [1] 3.0430 3.0769 3.1963 3.1102 3.1551 3.2853 3.1344 3.2351 3.2053 3.1714
# [11] 3.1115 3.2148
round(colMeans(Mcovs), 4)
# [1] 1.8417 1.8675 1.9571 1.8940 1.9175 2.0123 1.8905 1.9863 1.9653 1.9313
# [11] 1.8820 1.9491
round(colMeans(Mkurts), 4)
# [1] 2.4603 2.5800 2.4576 2.5927 2.5048 2.6269 2.5251 2.5340 2.4762 2.5731
# [11] 2.5001 2.6279
t20