【问题标题】:Forecast multiple features in Time Series Data (using key)预测时间序列数据中的多个特征(使用键)
【发布时间】:2019-10-12 18:02:19
【问题描述】:

我有一个过去 2 年多用户活动的数据集。 我的问题是预测一个给定的人在不久的将来可能会做什么样的活动。

例如:

Today is 2019-05-27 
Input should be user_id (ex: 1)

然后它必须产生如下内容:

  • user_id 为 1 的用户可能会在 2019 年 5 月 30 日爬山
  • user_id 为 1 的用户可能会在 2019 年 6 月 2 日去旅行

所有这些都应该使用用户活动历史来预测。 (每个活动的频率可以不同)

如何在 python 上使用机器学习来解决这个问题?

什么算法最适合这类问题?

【问题讨论】:

    标签: python machine-learning


    【解决方案1】:

    任何(时间序列分析)tsa 算法都适用于您的问题陈述,但首先

    1.您需要清理数据并将其转换为算法可以学习的格式。

    2.您可以创建一个包含两列或多列的 pandas 数据框,首先是包含所有日期、时间的索引,第二列将有一个向量/数字,代表您的活动从第三列开始的数据集,您可以将不同用户的值保留在不同列中 |---------------------|------------------| | index | data_user1 | |---------------------|------------------| | date | activity_label | |---------------------|------------------|

    3.要将您的活动转换为矢量/数字,您可以使用标签编码器

    4. 估算数据集中缺失的时间戳。

    5. 使用任何 tsa 算法,无论是带有 LSTM/NN 的滑动窗口方法还是来自 statsmodels.tsa 的预实现算法

    我建议您使用 ARIMA/SARIMA,如果您的日期格式正确,只需编写这 3 行即可。

    model=statsmodels.api.tsa.SARIMAX(train_df,order=(1,0,1),seasonal_order=(1,1,0,24))
    model = model.fit()
    model.predict()
    

    【讨论】:

      猜你喜欢
      • 2021-07-18
      • 2019-08-29
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      • 2020-02-08
      • 2020-04-11
      • 2020-10-25
      相关资源
      最近更新 更多