Laufen mit Künstlicher Intelligenz: LifeBEAM Vi

Mitte letzten Jahres hatte ich die Kickstarter-Kampagne von LifeBEAM unterstützt, diese Woche kam der LifeBEAM Vi an: “The first true artificial intelligence Personal Trainer”, der angeblich erste echte Personal Trainer, der auf Künstlicher Intelligenz basiert. LifeBEAM hat bisher vor allem Helme für Kampfpiloten hergestellt, die mit speziellen Sensoren die Vitalparameter messen können; etwas Erfahrung mit Sensoren ist der Firma also schon einmal zuzutrauen. Und das Messen des Pulses über das Ohr funktioniert definitiv besser als mit einer Uhr am Handgelenk, der Fitbit Blaze hat mich hier schon oft enttäuscht. KI ist “the next big thing”, warum also nicht wie in Her einen Assistenten haben, der meine Fitness verbessert? Weiterlesen

Das optimale Tracking-Konzept oder Der Segeltörn ohne Ziel

Wie oft habe ich beim Thema Tracking-Konzept schon den Satz gehört “Lass uns einfach alles tracken, wir können uns doch später Gedanken machen, was wir eigentlich brauchen. Aber das Tracking-Konzept kann natürlich schon geschrieben werden!”

In Seenot ohne Tracking-Konzept

Fischerboot in Seenot von Andreas Achenbach

Stellen wir uns einmal vor, wir wollen mit einem Segelboot einen Törn unternehmen und wir sagten “Keine Ahnung wo wir hin wollen, lass uns doch einfach alles mitnehmen, was wir für alle Eventualitäten benötigen könnten”. Unser Boot würde sinken bevor der Törn begonnen hat. Wir wüssten nicht, ob wir Wasser und Konserven für einen Tag oder mehrere Wochen mitnehmen müssten, ob wir Winterkleidung oder Sommerkleidung benötigen und so weiter. Aber um auf Nummer Sicher zu gehen, kaufen wir einfach den ganzen Segelbedarfsladen leer, irgendwas davon werden wir schon brauchen. Und haben nun mehr, als das Schiff an Last ertragen kann. Weiterlesen

Mehr als einen Kern unter Mac OS X nutzen

Heutige Prozessoren haben meist mehr als einen Kern, aber die meisten Programme nutzen nur einen. Oft ist es egal, der Rechner ist auch so schnell genug. Aber dann kommt man manchmal in Bereiche, wo man sich ärgert, dass man nur einen Kern nutzen kann. Vor allem bei den UNIX-Befehlen, die als GNU-Version zum Teil mehrere Kerne ausnutzen können, langweilt sich ein Teil meiner Mac-CPU während der andere zu 100 Prozent ausgelastet ist. In meinem Beispiel geht es um eine Text-Datei mit 8.6 GigaByte (nicht MegaByte :-), die ich sortieren und verarbeiten muss. Was wäre, wenn man mehr als einen Kern nutzen könnte? Weiterlesen

5 Gründe, warum Du Google Trends falsch verstehst

Im September 2015 stand ich für Google auf einer großen Bühne in Berlin und zeigte neben der Sprachsuche auch die Vorteile der neuen Features von Google Trends. Für einen Daten-Liebhaber wie mich ist Google Trends ein faszinierendes Werkzeug, wenn man alle Stolperfallen versteht und zu vermeiden weiß. Gleichzeitig bietet das Werkzeug viel Potential für Missverständnisse 🙂 Suchanfragen werden in <> Klammern gesetzt. Weiterlesen

Google-Analytics-Daten in R einlesen

Datenformat aus Analytics exportiert sieht so aus:

11.01.13,"1,79"
12.01.13,"1,81"
13.01.13,"1,86"
14.01.13,"1,83"
15.01.13,"1,79"

R kann nichts mit dem Datumsformat anfangen, da R gerne das POSIX-Datumsformat hätte (Jahr-Monat-Tag).

> analytics <- read.table(file="analytics.csv", sep=",", dec=",", quote = "\"")
> analytics$V1 <- strptime(analytics$V1,format="%d.%m.%y")
> summary(analytics)
V1 V2
Min. :2013-01-11 00:00:00 Min. :1.000
1st Qu.:2013-12-19 06:00:00 1st Qu.:1.550
Median :2014-11-26 12:00:00 Median :1.630
Mean :2014-11-26 11:23:44 Mean :1.632
3rd Qu.:2015-11-03 18:00:00 3rd Qu.:1.710
Max. :2016-10-11 00:00:00 Max. :2.520
>

In letzter Zeit habe ich mir angewöhnt, read.table anstatt read.csv oder read.csv2 zu nutzen, denn ich kann mir den Unterschied zwischen den beiden letzten eh nicht merken und welche Parameter darin true sind oder nicht, und sie sind nur vorformatierte Variationen von read.table.

So kann es passieren, dass man unhübsche Daten bekommt, an denen selbst summary() kapituliert:


V1 V2
65.65796: 3 124.7975: 4
67.34629: 3 121.1097: 3
67.94061: 3 123.5503: 3
67.97769: 3 124.0167: 3
68.30287: 3 126.2769: 3
68.93456: 3 126.7902: 3
(Other) :21062 (Other) :21061

In diesem Fall liegt es einfach daran, dass der Header nicht mit eingelesen wurde. Ganz anders mit der Angabe:


> size <- read.table("file.csv", sep=";", header = TRUE)


> summary(size)
Height Weight
Min. :60.28 Min. : 78.57
1st Qu.:66.70 1st Qu.:119.31
Median :67.99 Median :127.20
Mean :67.99 Mean :127.09
3rd Qu.:69.27 3rd Qu.:134.88
Max. :75.15 Max. :170.92
>

10 Google Analytics Basics (auch für andere Web Analyse-Tools)

Google Analytics hatte letztes Jahr seinen 10. Geburtstag, und in den letzten mehr als 10 Jahren durfte ich einiges an Erfahrung sammeln, was man beim Einsatz von Web Analytics-Systemen beachten muss. Hier sind meine 10 Basic-Tipps, angefangen mit den absoluten Basics, den Abschluss bilden dann die Basics für diejenigen, die auch wirklich was mit ihren Daten anfangen wollen 🙂 Weiterlesen

Scalable Capital und der Brexit

Anderthalb Monate sind entweder eine sehr lange oder eine sehr kurze Zeit für Anleger, ganz abhängig davon, ob sie jeden Tag traden oder ab und zu mal kaufen und sich dann 10 Jahre schlafen legen. Und wie gut die Algos von Scalable Capital funktionieren, das werden wir erst nach einer längeren Phase der Auf und Abs wissen. Aber der gewählte Brexit mit seinen Kurseinbrüchen ist ein guter Anlass einmal zu schauen, wie der RoboAdvisor damit klar gekommen ist. Weiterlesen