Utilisation douteuse des principes de traitement du signal pour identifier une tendance

10

Je propose d'essayer de trouver une tendance dans certaines données à long terme très bruyantes. Les données sont essentiellement des mesures hebdomadaires de quelque chose qui s'est déplacé d'environ 5 mm sur une période d'environ 8 mois. Les données ont une précision de 1 mm et sont très bruyantes, changeant régulièrement de +/- 1 ou 2 mm en une semaine. Nous n'avons que les données au mm près.

Nous prévoyons d'utiliser un traitement de signal de base avec une transformée de Fourier rapide pour séparer le bruit des données brutes. L'hypothèse de base est que si nous reflétons notre ensemble de données et l'ajoutons à la fin de notre ensemble de données existant, nous pouvons créer une pleine longueur d'onde des données et donc nos données apparaîtront dans une transformée de Fourier rapide et nous espérons pouvoir ensuite les séparer .

Étant donné que cela me semble un peu douteux, est-ce une méthode qui mérite d'être analysée ou la méthode de mise en miroir et d'ajout de notre ensemble de données est-elle fondamentalement imparfaite? Nous étudions d'autres approches telles que l'utilisation d'un filtre passe-bas également.

Ian Turner
la source
Qu'en est-il de la transformée de Fourier lente (standard).
Ces mesures GPS corrigées de manière différentielle du mouvement des plaques sont-elles par hasard?
whuber
Il s'agissait en fait des mouvements d'un tunnel pendant que des travaux de construction se déroulaient autour de lui. Nous nous attendions à ce que le mouvement suive très approximativement une courbe en S au cours de la période de surveillance.
Ian Turner

Réponses:

9

Cela me semble douteux car l'estimation de tendance sera biaisée près du point où vous épisserez les fausses données. Une approche alternative est un lissage de régression non paramétrique tel que le loess ou les splines.

Rob Hyndman
la source
8

Si vous souhaitez filtrer la tendance à long terme en utilisant le traitement du signal, pourquoi ne pas simplement utiliser un passe-bas?

La chose la plus simple à laquelle je peux penser serait une moyenne mobile exponentielle.

James Roth
la source
Nous l'avons regardé. Ça a bien marché mais dans ce cas, le bruit semblait toujours un peu trop fort et si nous avons changé les paramètres pour égaliser suffisamment les distributions, il est apparu que la tendance était trop atténuée. Dans ce cas, il n'y a peut-être tout simplement pas de solution aux données et c'est juste un peu trop bruyant.
Ian Turner
1
Les moyennes mobiles exponentiellement pondérées sont un cas particulier de lissage du noyau (en supposant que vous avez utilisé un MA bilatéral plutôt que unilatéral). Les meilleures estimations qui sont des généralisations de ceci sont le loess ou les splines - voir ma réponse.
Rob Hyndman
7

Je pense que vous pouvez obtenir une certaine distorsion sur le point de collage car toutes les ondes sous-jacentes ne se connecteront pas très bien.

Je suggérerais d'utiliser une transformée de Hilbert Huang pour cela. Faites simplement la division en fonctions du mode intrinsèque et voyez ce qui reste comme résidu lors de leur calcul.

Peter Smit
la source
7

Vous pouvez utiliser la transformée en ondelettes discrète (rapide :)) . Le package wavethresh sous R fera tout le travail. Quoi qu'il en soit, j'aime la solution de @James car elle est simple et semble aller droit au but.

Robin Girard
la source
D'accord; les ondelettes sont excellentes pour détecter un comportement non stationnaire dans des niveaux de bruit élevés. Vous devez cependant être prudent avec le DWT. Ce n'est pas invariant par rotation (bien qu'il y ait des modifications du DWT qui le sont, voir par exemple Percival et Walden 2000), vous pouvez donc perdre des transitoires nets en fonction du point de départ de vos données. De plus, la plupart des implémentations du DWT font une circularisation implicite des données, vous devez donc toujours contrôler cela.
Rich
Si ma mémoire est bonne, le paquet wavethresh contient un débruitage invariant de traduction (ma référence était Coifman 1995) (Notez que vous avez parlé de rotation, ne parlons-nous pas de signaux temporels?).
robin girard
parlez-vous MODWT (Maximum Overlap Discrete Wavelet Transform)?
RockScience
@fRed: nop, voici l'article, Coifman et Donoho: citeseerx.ist.psu.edu/viewdoc/…
robin girard
4

La plupart du temps, lorsque j'entends «tendance à long terme», je pense à des tendances à la hausse à long terme ou à des tendances à la baisse à long terme , dont aucune n'est correctement saisie par une transformée de Fourier. Ces tendances à sens unique sont mieux analysées en utilisant la régression linéaire . (Les transformées de Fourier et les périodogrammes sont plus appropriés pour les choses qui montent et descendent).

La régression linéaire est facile à faire dans la plupart des feuilles de calcul. (a) Afficher les équations des lignes de régression (b) Créer des diagrammes de dispersion XY avec des feuilles de calcul

La régression linéaire tente d'approximer vos données avec une ligne droite. Les transformations de Fourier tentent d'approximer vos données avec quelques ondes sinusoïdales additionnées. Il existe d'autres techniques («régression non linéaire») qui tentent d'approximer vos données en polynômes ou autres formes.

David Cary
la source
2

La transformée de Fourier suppose la stationnarité du signal large sens et l'invariance temporelle linéaire (LTI). Bien qu'il résiste à certaines violations de ces conditions, je ne pense pas vraiment qu'il soit approprié pour l'analyse des tendances en raison de l'hypothèse de stationnarité, c'est-à-dire que vous essayez de mesurer quelque chose qui viole l'une des hypothèses de base des FFT.

Je serais d'accord avec les affiches ci-dessus; la mise en miroir de vos données et l'ajout des données en miroir à la fin de votre série chronologique est douteux. Je dirais que l'ajustement d'un modèle de régression linéaire avec une tendance temporelle comme mentionné ci-dessus est probablement plus approprié.

Si vous cherchez à examiner la périodicité, vous pouvez supprimer la tendance par filtrage passe-haut et effectuer une analyse de Fourier. Si la tendance reste visible après le filtrage, vous pouvez soustraire une ligne de régression linéaire ajustée du signal d'origine avant la FFT.

BGreene
la source