- Existe-t-il une technique de modélisation comme LOESS qui autorise zéro, une ou plusieurs discontinuités, où le moment des discontinuités n'est pas connu a priori?
- Si une technique existe, existe-t-il une implémentation existante dans R?
Réponses:
Il semble que vous souhaitiez effectuer une détection de points de changement multiples suivie d'un lissage indépendant au sein de chaque segment. (La détection peut être en ligne ou non, mais votre application n'est probablement pas en ligne.) Il y a beaucoup de documentation à ce sujet; Les recherches sur Internet sont fructueuses.
Je n'ai pas cherché attentivement les implémentations R (j'en avais codé une dans Mathematica il y a un moment) mais j'apprécierais une référence si vous en trouvez une.
faites-le avec la régression en ligne brisée de koencker, voir page 18 de cette vignette
http://cran.r-project.org/web/packages/quantreg/vignettes/rq.pdf
En réponse au dernier commentaire de Whuber:
Cet estimateur est défini comme ceci.
, x ( i ) ≥ x ( i - 1 ) ,
,
, z - = max ( - z , 0 ) ,
, λ ≥ 0
donne le quantile souhaité (c'est-à-dire dans l'exemple, τ = 0,9 ). λ dirige le nombre de points de rupture: pour λ grand, cet estimateur se réduit à aucun point de rupture (correspondant à l'estimateur de régression quantique linéaire classique).
Splines de lissage quantile Roger Koenker, Pin Ng, Stephen Portnoy Biometrika, Vol. 81, n ° 4 (déc., 1994), pp. 673-680
PS: il existe un document de travail à accès ouvert portant le même nom et portant les mêmes noms, mais ce n'est pas la même chose.
Voici quelques méthodes et packages R associés pour résoudre ce problème
L'estimation du battage d' ondelettes en régression permet des discontonuités. Vous pouvez utiliser le package wavethresh dans R.
De nombreuses méthodes basées sur les arbres (non loin de l'idée d'ondelettes) sont utiles lorsque vous avez des discontinuités. Par conséquent, package treethresh, package tree!
Dans la famille des méthodes de " maximum de vraisemblance locale " ... entre autres: Travaux de Pozhel et Spokoiny: Lissage des poids adaptatifs (package aws) Travail de Catherine Loader: package locfit
Je suppose que tout noyau plus fluide avec une bande passante variant localement fait le point, mais je ne connais pas le package R pour cela.
note: je ne comprends pas vraiment quelle est la différence entre LOESS et la régression ... est-ce l'idée que dans les algorithmes LOESS devraient être "en ligne"?
Il devrait être possible de coder une solution dans R en utilisant la fonction de régression non linéaire nls, les splines b (la fonction bs dans le package spline, par exemple) et la fonction ifelse.