首页 > 解决方案 > 预测时间序列数据中的多个特征(使用键)

问题描述

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

例如:

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

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

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

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

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

标签: pythonmachine-learning

解决方案


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

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

2.您可以创建一个具有两列或多列的熊猫数据框,首先是包含所有日期、时间和第二列的索引,第二列将有一个向量/数字,表示从第三列开始数据集中的活动,您可以保留值不同列中的不同用户 |---------------------|------------------| | 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()

推荐阅读