2015-03-04 15 views
8

Esiste un modo standard (o disponibile) per esportare un modello di serie storica in R? PMML avrebbe funzionato, ma quando II tenta di utilizzare la libreria PMML, forse in modo non corretto, ottengo un errore:Come posso esportare un modello di serie storica in R?

Per esempio, il mio codice è simile a questo:

require(fpp) 
library(forecast) 
library(pmml) 
data <- ts(livestock, start = 1970, end = 2000,frequency=3) 
model <- ses(data , h=10) 
export <- pmml(model) 

E l'errore che ottengo è:

Error in UseMethod("pmml") : no applicable method for 'pmml' applied to an object of class "forecast" 
+0

Non c'è 'pmml.forecast' elencati in' pmml'?. Probabilmente il motivo per cui ottieni questo errore. –

+0

C'è qualche opzione per creare pmml per le serie storiche? –

+0

Forse chiedete direttamente al maintainer del mantainer 'maintainer (" pmml ")'. –

risposta

1

Ecco quello che posso dire:

Quando si utilizza ses(), non sei creazione di un modello; stai usando un modello per trovare una previsione (in particolare, facendo una previsione tramite livellamento esponenziale per una serie temporale). Il tuo risultato non è un modello predittivo, ma piuttosto una previsione particolare di un modello per un particolare set di dati. Anche se non sono così familiare con PMML, da quello che posso dire, non è pensato per il lavoro che stai cercando di usarlo.

Se si desidera esportare le serie temporali e il risultato, direi che la soluzione migliore sarebbe esportare semplicemente un file .csv con i dati; praticamente tutto può leggere .csv. Un oggetto ts non è altro che un vettore glorificato, quindi è possibile esportare i dati e le ore. Inoltre, model è solo una tabella con dati. Quindi provare questo:

write.csv(model, file="forecast.csv") 

Se si desidera scrivere l'oggetto ts, provare una delle seguenti opzioni:

write.csv(data, file="ts1.csv") # No dates for index 
write.csv(cbind("time" = time(data), "val" = data), file = "ts2.csv") # Adds dates 
Problemi correlati