2017-05-25 1 views
2

J'utilise tsoutliers v0.6.5 dans R v3.2.3 et je rencontre un problème avec la fonction tso. En outre, en utilisant forecast v7.3 et KFKSDS v1.6 si cela est utile.tso fonction dans tsoutliers échoue avec un message sur xreg, colnames

Voici un exemple reproductible:

library(tsoutliers) 

s <- ts(
    c(61,26,10,2,6,20,139,185,132,162,160,140,148, 
    173,171,160,119,81,18,5,2,25,141,181,130,175, 
    160,143,144,168,154,161,109,66,23,5,4,35,122, 
    161,129,168,139,145,176,176,177,156,89,62,24, 
    6,1,2,24,134,208,187,215,211,239,322) 
) 

tso(s) 

Pour moi, ce produit le message d'erreur suivant:

Error in `colnames<-`(`*tmp*`, value = if (ncol(xreg) == 1) nmxreg else paste(nmxreg, : 
    length of 'dimnames' [2] not equal to array extent 

que je fais quelque chose de mal, ou est-ce un bogue dans tsoutliers?

+0

Comme une mise à jour, la mise à niveau à R 3.4.0 et réinstallation tsoutliers changé le message d'erreur légèrement: 'erreur dans dimnames (x) <- dn: longueur de 'dimnames' [2] ne correspond pas à matrice extent' – Eric

+2

Vous ne savez pas de quoi il s'agit mais FYI votre série a une périodicité claire, mais comme elle a la fréquence par défaut de 1 (vous n'en avez pas spécifié une dans l'appel de 'ts'),' tso' utilisera 'auto.arima' (par défaut) sans modèles ARIMA saisonniers, et vous ne trouverez probablement pas de bon modèle. –

Répondre

1

J'ai résolu ce problème. Lorsque toutes les valeurs aberrantes potentielles ont été rejetées dans la deuxième étape de la procédure, la matrice des valeurs aberrantes xreg ne reçoit aucune colonne et cela a donné une erreur lors de la définition des noms de colonnes par auto.arima. Afin d'éviter l'erreur, maintenant xreg est défini sur NULL. La version mise à jour du paquet est disponible sur le CRAN.