【问题标题】:Time Series Forecasting in pythonpython中的时间序列预测
【发布时间】:2021-04-14 18:55:19
【问题描述】:

我有一个包含 300 行和 4 列的数据集:日期、时间、计数(在这一小时内在电视上发出了多少广告)、访问量(在这一小时内进行了多少次访问)。以下是数据示例:

如果我想测试电视广告对网站访问量的影响,我是否应该将其视为时间序列并使用回归?在这种情况下,输入表应该是什么样子?我知道我必须将日期划分为日和月,但是如果我的 y 是访问次数,如何处理计数列,保持原样? 谢谢

【问题讨论】:

  • 您只有一个输入和一个输出,只需根据访问量绘制计数,它就会向您展示计数如何影响访问量。你为什么要把它复杂化?
  • 这是我的学习作业,命令指示我应该使用模型。

标签: python time-series


【解决方案1】:

为了避免单输入单输出回归模型的情况,您可以使用小时和计数作为输入并预测访问。 我不知道小时是什么格式,如果它们是 12 小时格式,请在将它们提供给您的模型之前将它们转换为 24 小时格式。

【讨论】:

    【解决方案2】:

    如果您想预测时间序列中的下一个日期和小时,回归模型或经典时间序列模型(如 ARIMA、ARMA),指数平滑将很有用。

    但是,由于您需要预测tv spot的有效性,我建议使用python中的tsfresh库生成特征,基于计数去除时间效应并使用机器学习模型进行预测,例如@ 987654323@或Gradient Boosting

    在你的问题中:

    from tsfresh import extract_features
    extracted_features = extract_features(df,
                                          column_id="Hour",
                                          column_kind=None,
                                          column_value="Counts",
                                          column_sort="time")
    

    因此,您的目标表将是:

    Hour    Feature_1     Feature_2    ...    Visits(Avg)
    0      min(Counts)    max(Counts)  ...    mean(Visits)
    1      min(Counts)    max(Counts)  ...    mean(Visits)
    2      min(Counts)    max(Counts)  ...    mean(Visits)
    

    min()max() 只是示例特征,tsfresh 可以提取许多其他特征。访问here了解更多信息

    【讨论】:

      猜你喜欢
      • 2017-05-01
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 2020-10-05
      • 2015-05-19
      相关资源
      最近更新 更多