2016-03-21 7 views
0

Wenn ich ein Zeitreihenvorhersagemodell erstellen muss und alles was ich habe, ist eine Sequenz von Zeitstempeln eines Benutzers, wenn er sich bei einer Site anmeldet, wie modellierst du das ?.Zeitreihenvorhersage auf Web-Login-Zeitstempel

Hier sind die ersten Zeilen der Daten. Ich habe das als Pandas-Serie.

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 

Jetzt paar Fragen:

1). Wie man das Benutzerverhalten auf Stundenbasis graphisch darstellt, wenn alles, was ich habe, Zeitstempel und keine Y-Werte oder irgendwelche anderen Merkmale ist

2). Erstellen Sie ein Modell, das zu dieser Zeitreihe passt und für die nächsten zwei Wochen vorhersagt.

Es sind keine weiteren Funktionen oder Variablen angegeben. Log-in-Zeit für wie 3 Monate jeden Tag.

Antwort

0

Als Antwort auf Teil 1. Ich habe etwas ähnliches getan und lief auf das gleiche Problem. Ich gruppierte die Zeitreihe mit epoch und lud sie in ein Wörterbuch ein. Von dort konnte ich in Stundenblöcken an der Zeitreihe arbeiten. (Datenquelle ist json) Dann können Sie es direkt in einen Panda DataFrame und ein Diagramm konvertieren, indem Sie matplotlib verwenden. Da sich Ihre Daten bereits in Panda befinden, können Sie die Daten ziehen und die erste Schleife bearbeiten, um Ihre Rohdaten zu verarbeiten. Ich hoffe das hilft.

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 

Dann konvertiert ich es zu einem Panda Datenrahmen:

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) 

Diese mich stündlich Daten über die Zeitreihe basiert auf Grundstück erlaubt.

Verwandte Themen