Spaces:
Sleeping
Sleeping
import streamlit as st | |
import joblib | |
import pandas as pd | |
import numpy as np | |
from statsmodels.tsa.statespace.varmax import VARMAX | |
import matplotlib.pyplot as plt | |
import statsmodels.api as sm | |
# Load the pre-trained model | |
fitted_model = joblib.load('modelling_all123.sav') | |
# Streamlit App | |
st.title("Aplikasi Prediksi Harga Bawang") | |
# Date Range Input | |
start_date = st.date_input("Pilih Tanggal Mulai", pd.to_datetime('2023-12-01')) | |
end_date = st.date_input("Select End Date", pd.to_datetime('2023-12-30')) | |
# Make predictions based on user input | |
predict = fitted_model.get_prediction(start=start_date, end=end_date, dynamic=True) | |
predictions = predict.predicted_mean | |
predictions['Harga Bawang'] = predictions['Harga Bawang'].round() | |
predictions.columns = ['Prediction Harga Bawang', | |
'Prediction T2M', | |
'Prediction WS10M_RANGE', | |
'Prediction PRECTOTCORR'] | |
predictions = predictions.abs() | |
predictions = predictions.set_index(pd.date_range(start=start_date, periods=len(predictions))) | |
# Display Predictions Table | |
st.subheader("Hasil Prediksi") | |
st.write(predictions) | |
# Plotting Predictions | |
fig, ax = plt.subplots(figsize=(10, 6)) | |
for column in predictions.columns: | |
ax.plot(predictions.index, predictions[column], label=column) | |
ax.set_xlabel("Tanggal") | |
ax.set_ylabel("Hasil Prediksi") | |
ax.set_title("Prediksi") | |
# Show plot in Streamlit | |
st.pyplot(fig) | |