es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué este modelo de ajuste está dando 1 modelo por línea df?

En un modelo de ajuste normal en un conjunto de datos que se ve así:

> head(total)
# A tsibble: 6 x 15 [1D]
# Clave: id [6]
  Fecha      Cierre Tasa_de_Interés Inflación_del_Consumidor Índice_CPI (Var_Anual) Índice_de_Salarios (Var_Trim) Índice_de_Salarios (Var_Anual) Índice_AiG Índice_de_Inflación(TD) CFTC_posiciones_netas_AUD Promedio_del_CPI_del_RBA Banco_Común
  <fecha>    <dbl>       <dbl>            <dbl>             <dbl>                        <dbl>                         <dbl>                <dbl>                <dbl>                     <dbl>                 <dbl>           <dbl>
1 2009-04-01  69.4             0                  0          0                 0                 0         0            0                      0                 0                0
2 2009-04-02  71.6             0                  0          0                 0                 0         0            0                      0                 0                0
3 2009-04-03  71.0             0                  0          0                 0                 0         0            0                      0                 0                0
4 2009-04-06  71.0             0                  0          0                 0                 0         0            0                      0                 0                0
5 2009-04-07  71.6             3                  0          0                 0                 0         0            0                      0                 0                0
6 2009-04-08  71.1             3                  0          0                 0                 0         0            0                      0                 0                0

el modelo de entrenamiento:

fit <- total_axy %>%
  model(
    fable::TSLM(Cierre)
    )

report(axy_fit)

se está entrenando

1-10 de 3,409 filas | 1-10 de 16 columnas

¡1 modelo por fila! ¿Cómo puedo resolver esto?
¡Solo quiero 1 modelo para todas las filas!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para ajustar 1 modelo para todas las filas, es necesario eliminar la información de agrupación del objeto tsibble. Esto se puede hacer utilizando la función as_tsibble del paquete tsibble.

    A continuación se muestra un ejemplo de cómo ajustar un solo modelo al conjunto de datos total:

    library(tsibble)
    library(fable)
    
    # Convertir el objeto tsibble a data.frame
    total_df <- as.data.frame(total)
    
    # Eliminar la información de agrupación
    total_df$id <- NULL
    
    # Convertir de nuevo a objeto tsibble
    total_new <- as_tsibble(total_df, index = "Date")
    
    # Ajustar el modelo al nuevo objeto tsibble
    fit <- total_new %>%
            model(TSLM(Close))
    
    # Generar un informe del modelo
    report(fit)
    

    Al eliminar la información de agrupación del objeto tsibble, el modelo se entrena en todas las filas del conjunto de datos y solo se genera un modelo.

Comments are closed.