首页 > 解决方案 > 流光显示时间序列的问题

问题描述

我试图使用流光显示预测时间序列,但我卡住了,因为我不知道我应该先做什么,我使用 jupyter 笔记本的时间序列的 bcs 我很困惑如何用流光显示它(问题与静止等)。你们能给我参考什么的?谢谢你!这是我在 spyder 中的代码(我只显示原始数据和图表,是的,部署我的预测时卡住了)

import streamlit as st
import pandas as pd
import numpy as np
import plotly.express as px
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import acf,pacf
from statsmodels.tsa.stattools import adfuller
from statsmodels.tsa.arima_model import ARIMA
import warnings                                  # `do not disturbe` mode
warnings.filterwarnings('ignore')

st.title('Forecasting Harga KCL')

DATE_COLUMN = 'month'


@st.cache
def load_data(nrows):
    data = pd.read_csv('kcl.csv', nrows=nrows)
    lowercase = lambda x: str(x).lower()
    data.rename(lowercase, axis='columns', inplace=True)
    data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])
    data.set_index('month', inplace=True)
    data =data['price']
    return data

data_load_state = st.text('Loading data...')
data = load_data(300)
data_load_state.text("Done! (using st.cache)")

if st.checkbox('Show raw data'):
    st.subheader('Raw data')
    st.write(data)

st.subheader('Plot harga')
st.line_chart(data)

st.subheader('Harga Prediksi')

关于下面的这段代码,我不知道它是否正确,因为时间序列根本没有通过平稳测试,而且预测可能会出错

data = data [66:]
for a in range(1,30):
    model = ARIMA (data, order = (1, 1, 1))
    model_fit = model.fit(disp=False)
    yhat = model_fit.predict(len(data), len(data), typ='levels')
    data = data.append(yhat)
    st.write(yhat)
    # We display the prediction to see when it passes 0
if st.checkbox('Show hasil prediksi'):
    st.subheader('data prediction')
    st.write(yhat)

我希望大家能理解我,因为我缺乏理解和提出问题!先感谢您

标签: pythonspyderforecastingarimastreamlit

解决方案


听起来你有两个问题——一个是关于流光的,一个是关于时间序列平稳性的。

如果您尝试在本地提供流光模型,只需streamlit run my_file.py在插入文件路径的位置进行操作。您必须在您的机器/虚拟环境上安装 streamlit。如果您尝试在服务器上部署您的应用程序,请在此处查看精简的部署指南。Heroku 可能是最简单的免费部署。

如果您的数据不是固定的并且存在季节性成分,您将需要 SARIMA 而不是 ARIMA。

如果您想尝试使用 p,d,q,P,D,Q 自动选择 SARIMA 的值或在拟合之前进行任何转换,sktime 的 autoarima可能会有所帮助。它包装了使用 statsmodels SARIMAX 的 pmdarima。

Rob Hyndman 和 George Athanasopoulos 的《预测原理与实践》(https://otexts.com/fpp3/)是一本很棒的关于时间序列的免费电子书。


推荐阅读