Hi, noob here!

I am using this example: https://www.tensorflow.org/tutorials/structured_data/time_series
How can I use a 24h slice of test_df to predict the 25th hour? When I slice a 24 hour piece, scale it with scaler.transform() and feed it into lstm_model(), I get erratic results.
Can someone please provide me with an example?

Thank you very much!!

Tanya
January 10, 2024, 5:52pm
3
@pomputer Welcome to the Tensorflow Forum

Here’s a breakdown of steps to correctly predict the 25th hour using a 24-hour slice of `test_df`

in the given time series tutorial:

Prepare the 24-hour slice :

`import numpy as np`

`test_slice = test_df[-24:] `

# Select the last 24 hours
`test_slice = np.expand_dims(test_slice, axis=0)`

# Add a batch dimension`

Scale the slice using the same scaler:

`Pythonscaled_test_slice = scaler.transform(test_slice)`

Reshape for LSTM input:

`timesteps = 24`

`features = 1`

`scaled_test_slice = scaled_test_slice.reshape(1, timesteps, features)`

Make the prediction:

`Pythonprediction = lstm_model.predict(scaled_test_slice)`

Inverse transform the prediction:

`Pythonpredicted_value = scaler.inverse_transform(prediction)[0][0] `

# Extract the prediction

Also consider below hyperparameter tuning , scaling, batch norm, etc

Ensure you’re using the same `scaler`

object that was used to scale the training data.
Verify the expected input shape of your `lstm_model`

and reshape accordingly.
Add a batch dimension (even for single predictions) if your model expects it.
Check for inconsistencies between training and test data (e.g., missing values, different distributions).
If erratic results persist, consider overfitting and techniques like regularization or hyperparameter tuning.
Experiment with different model architectures, hyperparameters, and scaling techniques to find the best fit for your data.
Let us know if this helps!