Web登录时间戳的时间序列预测

时间:2016-03-21 01:59:33

标签: machine-learning time-series regression data-science

如果我必须建立一个时间序列预测模型,并且我拥有的是用户登录网站时的一系列时间戳,那么你如何建模呢?

这是数据的前几行。我有这个作为熊猫系列。

0   2012-03-01 00:05:55
1   2012-03-01 00:06:23
2   2012-03-01 00:06:52
3   2012-03-01 00:11:23
4   2012-03-01 00:12:47
5   2012-03-01 00:12:54
6   2012-03-01 00:16:14
7   2012-03-01 00:17:31
8   2012-03-01 00:21:23
9   2012-03-01 00:21:26

现在有几个问题:

1)。如何在每小时的基础上绘制用户行为的图表是时间戳,没有Y值或任何其他功能

2)。建立一个适合这个时间序列的模型,并预测接下来的两周。

没有给出其他功能或变量。每天登录时间为3个月。

1 个答案:

答案 0 :(得分:0)

对第1部分的回应。我做了类似的事情并遇到了同样的问题。我使用纪元对时间序列进行分组并将其加载到字典中。从那里我可以用小时块来处理时间序列。 (数据源是json)然后你可以使用matplotlib将它直接转换为熊猫DataFrame和图表。由于您的数据已经在熊猫中,您可以跳过数据提取并编辑初始循环来处理原始数据。我希望这会有所帮助。

for key in responseJson['All'].keys():
        t = time.strftime('%Y,%m,%d %H:00:00', time.gmtime(float(key) / 1000.0))
        h = responseJson['All'][key]
        word = t
        epochkey = int(time.mktime(time.strptime(t, '%Y,%m,%d %H:00:00')))

        if word not in dict:
            dict[word] = h
            epochdict[epochkey] = h
        else:
            dict[word] += h
            epochdict[epochkey] += h

然后我将其转换为熊猫DataFrame:

for row in epochdict:
        if(row[0] not in data):
            data[row[0]]={}
        data[str(row[0])][str(row[2])]=round(row[3],3)

            df=DataFrame(data).T.fillna(0)

这允许我根据时间序列绘制每小时数据。