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.

No es posible utilizar la función de autoregresor en Vertica utilizando datos propios.

Soy nuevo en tanto la ciencia de datos como en vertica. Estoy siguiendo este ejemplo sobre autoregresor de la documentación de Vertica.

https://www.vertica.com/docs/11.0.x/HTML/Content/Authoring/AnalyzingData/MachineLearning/TimeSeries/AutoregressorExample.htm?tocpath=Analyzing%20Data%7CMachine%20Learning%20for%20Predictive%20Analytics%7CRegression%20Algorithms%7C_1

Si entendí correctamente, debo proporcionar datos de entrenamiento al modelo y utilizar el modelo para hacer predicciones.

Los datos de entrenamiento se ven así (día del año y temperatura en el día)

select * from temp_data limit 10;
        time         | Temperature
---------------------+-------------
 1981-01-01 00:00:00 |        20.7
 1981-01-02 00:00:00 |        17.9
 1981-01-03 00:00:00 |        18.8
 1981-01-04 00:00:00 |        14.6
 1981-01-05 00:00:00 |        15.8
 1981-01-06 00:00:00 |        15.8
 1981-01-07 00:00:00 |        15.8
 1981-01-08 00:00:00 |        17.4
 1981-01-09 00:00:00 |        21.8
 1981-01-10 00:00:00 |          20
(10 rows)

Creo el modelo SELECT AUTOREGRESSOR('AR_temperature', 'temp_data', 'Temperature', 'time' USING PARAMETERS p=3);

Pregunta 1 – ¿El ejemplo también utiliza la tabla temp_data para las predicciones? ¿Por qué? ¿No se utiliza temp_data para entrenamiento y debería utilizar datos de prueba que no tengan la columna Temperature?

SELECT PREDICT_AUTOREGRESSOR(Temperature USING PARAMETERS model_name='AR_temperature', npredictions=10) OVER(ORDER BY time) FROM temp_data; <-- ¿por qué el ejemplo utiliza temp_data?

Pregunta 2 - Creé mi propia tabla con un día. Cuando la uso para hacer una predicción, obtengo un error

select * from my_temperature_data;
        time         | temperature
---------------------+-------------
 2021-12-12 00:00:00 |

select predict_autoregressor(temperature using parameters model_name='ar_temperature') over(order by time) from my_temperature_data;
ERROR 5861:  Error calling processPartition() in User Function predict_autoregressor at [src/Autoregression/PredictAR.cpp:149], error code: 0, message: One or more elements in the input data is invalid.

Pregunta 3 - Cuando creé mi propia tabla, tuve que hacerla con columnas tanto de Time como de temperature. Solo tener Time no funcionó (obtuve un error). ¿Por qué?

Tags:  ,

Answer

  1. Avatar for davy.ai
    1. El ejemplo está utilizando temp_data tanto para el entrenamiento como para la predicción porque es un ejemplo simple con un conjunto de datos pequeño. En escenarios del mundo real, típicamente se utilizan conjuntos de datos separados para el entrenamiento y la predicción.

    2. El mensaje de error sugiere que hay datos de entrada no válidos en my_temperature_data. Debes verificar si hay valores faltantes o no válidos en la columna de temperatura.

    3. La función AUTOREGRESSOR requiere que tanto el tiempo como la variable objetivo (en este caso, la temperatura) estén presentes en los datos de entrada. Esto se debe a que necesita aprender la relación entre el tiempo y la temperatura para realizar predicciones precisas. Si solo proporcionas la columna de tiempo, la función no podrá aprender esta relación y generará un error.

Comments are closed.