0

時系列予測モデルを構築する必要があり、ユーザーがサイトにログインしたときの一連のタイムスタンプしかない場合、それをどのようにモデル化しますか?

これは、データの最初の数行です。パンダシリーズとして持っています。

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)。この時系列に適合するモデルを構築し、次の 2 週間を予測します。

他の機能や変数は指定されていません。毎日3か月ほどログインするだけです。

4

1 に答える 1

0

パート1への対応。私は似たようなことをして、同じ問題に遭遇しました。エポックを使用して時系列をグループ化し、辞書にロードしました。そこから、時間単位で時系列に取り組むことができました。(データ ソースは json) 次に、matplotlib を使用して直接 panda DataFrame とグラフに変換できます。データは既に panda にあるため、データのプルと編集の初期ループをスキップして生データを処理できます。これが役立つことを願っています。

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

次に、それを panda 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)

これにより、時系列に基づいて 1 時間ごとのデータをプロットすることができました。

于 2016-03-21T02:35:47.090 に答える