Supposons que j'ai des séries chronologiques non périodiques suivantes. Évidemment, la tendance est à la baisse et je voudrais le prouver par un test (avec une valeur de p ). Je ne peux pas utiliser la régression linéaire classique en raison d'une forte auto-corrélation temporelle (série) entre les valeurs.
library(forecast)
my.ts <- ts(c(10,11,11.5,10,10.1,9,11,10,8,9,9,
6,5,5,4,3,3,2,1,2,4,4,2,1,1,0.5,1),
start = 1, end = 27,frequency = 1)
plot(my.ts, col = "black", type = "p",
pch = 20, cex = 1.2, ylim = c(0,13))
# line of moving averages
lines(ma(my.ts,3),col="red", lty = 2, lwd = 2)
Quelles sont mes options?
r
time-series
Ladislav Naďo
la source
la source
frequency=1
) est peu pertinent ici. Une question plus pertinente pourrait être de savoir si vous êtes prêt à spécifier une forme fonctionnelle pour votre modèle.Réponses:
Comme vous l'avez dit, la tendance dans vos données d'exemple est évidente. Si vous voulez simplement justifier ce fait par un test d'hypothèse, en plus d'utiliser la régression linéaire (le choix paramétrique évident), vous pouvez utiliser le test de Mann-Kendall non paramétrique pour la tendance monotone. Le test est utilisé pour
de plus, comme le note Gilbert (1987), le test
Dans ce fil, vous pouvez trouver du code R implémentant ce test.
Gilbert, RO (1987). Méthodes statistiques pour la surveillance de la pollution de l'environnement. Wiley, NY.
Önöz, B. et Bayazit, M. (2003). La puissance des tests statistiques pour la détection des tendances. Journal turc des sciences de l'ingénieur et de l'environnement, 27 (4), 247-251.
la source
Le problème que vous avez "Je ne peux pas utiliser la régression linéaire classique en raison d'une forte auto-corrélation temporelle (série) entre les valeurs". est en réalité une opportunité. J'ai pris vos 27 valeurs et utilisé AUTOBOX un logiciel (que j'ai aidé à développer) qui peut (éventuellement) déterminer automatiquement un modèle possible. Voici le graphique réel / ajustement et prévision . L'ACF des résidus est ici avec le tracé résiduel ici . Le modèle est ici et ici et ici. Deux coefficients décrivent bien les données avec une "tendance" estimée "dérive", c'est-à-dire un différentiel de période à période de -.596. Notez qu'il s'agit d'un type de tendance où votre modèle a utilisé les nombres de comptage 1,2, ... 27 comme variable prédictive. Si vos données suggéraient ce type de tendance, le logiciel l'aurait trouvé plus applicable. Je vais essayer de trouver un de mes articles précédents qui a détaillé / contrasté ces deux types de tendances. Ici Identifier un modèle de tendance stochastique et détecter la tendance initiale ou les valeurs aberrantes
la source
Vous pouvez utiliser le coefficient de corrélation de rang de Spearman pour déterminer le degré de monotonie de vos données. Il renvoie des valeurs positives pour les données monotones croissantes et des valeurs négatives pour les données monotones décroissantes (entre -1 et +1). En suivant le lien ci - dessus, il y a aussi un test de signification de négociation de la section, même si je suis sûr que la plupart des logiciels ont une valeur p faite pour vous lors du calcul des coefficients de corrélation (par exemple dans Matlab:
[RHO,PVAL] = corr(...)
; en R:cor.test(x,...)
)la source
Vous pouvez utiliser OLS car il n'y a pas d'autocorrélation en série (au moins dans l'échantillon que vous avez fourni); notez la statistique de test de Durbin-Watson de 1,966 (≈2).
Donc, l'estimation du coefficient significativement négative pour x1 est tout ce dont vous avez besoin pour dire quelque chose comme
ou
Cela suppose que la méthodologie de comptage des espèces a une bonne couverture et est cohérente au fil des ans dans votre échantillon.
Cela a été produit avec ce code Python (désolé, je n'ai pas R à portée de main):
la source
Connaître la source des données serait très utile, ainsi que les informations si les valeurs de
my.ts
pourraient devenir négatives ou non.Cependant, en jetant un coup d'œil sur l'intrigue, plutôt que de voir une tendance linéaire constante , je suggère plutôt que la série chronologique n'est pas stationnaire, donc intégrée . À titre d'exemple, les cours des actions sont également intégrés, mais les rendements des actions ne sont plus (ils fluctuent près de 0).
Cette hypothèse peut également être testée à l'aide du test Dickey Fuller augmenté:
Étant donné que la valeur de p n'est pas inférieure à 0,05, rien n'indique que le processus est stationnaire.
Pour obtenir les données stationnaires, vous devez les différencier:
Maintenant, les données ne montrent plus de tendance , et la seule chose que vous trouverez est un terme autorégressif d'ordre 2 (en utilisant
acf(diff.ts)
).la source