iOSのヘルスケアデータをGoogle Colaboratoryでブラウザのみで分析する方法

f:id:karaage:20200308215505p:plain:w640

iOSのヘルスケアデータをPythonで分析したい

 最近、スマートバンドやスマート体重計を使って、バイタルデータをせっせとiPhoneのヘルスケア上に集めています。

 データをiPhone上で眺めてニヤニヤしているだけでも十分気持ち悪いのですが、Pythonでデータを分析とかし始めるともっと気持ち悪いですね。

 そんなわけで、Pythonで分析をしたいと思います。と思い、調べたら既に「u++ (id:upura)」さんが私がやろうと思ったことを1年以上前にやっていました。

〜〜 Fin 〜〜

 でも良いのですが、せっかくなのでGoogle Colaboratoryを使ってブラウザだけで分析するという形で差別化してみることにしました。Google Colaboratoryとその使い方に関しては、以下記事参照下さい。

 ちなみに結論からいうと、ヘルスケアの画面みて満足するのが吉です。また、今回の記事の範囲ではiPhoneのみあれば分析できます(特別なデバイスの購入は不要です)。

ヘルスケアのデータをGoogle Colaboratoryで分析する方法

ヘルスケアからデータをエクスポートする方法

 以下の通り、ヘルスケアのブラウズ画面の右上の自分のアイコンをクリックした後、「すべてのヘルスケアデータを書き出す」をクリックして下さい。

f:id:karaage:20200222101113j:plainf:id:karaage:20200222101118j:plain

 しばらく時間がたった後、書き出したデータを保存する画面が表示されます。Macの場合は、AirDropで直接データを送るのが一番手軽でしょう。その他、Dropboxも使用できるようです。

 私の場合は「書き出したデータ.zip」というファイルが保存されたので、解凍したら「apple_health_export」というフォルダの中に「export_cda.xml」と「export.xml」という2つのファイルが入っていました。ネットで調べた感じ「export.xml」の方を分析すれば良いそうです。

ヘルスケアデータをGoogle Colaboratoryで分析

 データが大きいので、一旦Google Driveにアップロードしてから、そのデータをGoogle Colaboratoryで読み込むという方法を使います。

 「export.xml」をGoogle Driveに「healthcare」というフォルダを作成して、その中にアップロードして下さい。手順は省略します(フォルダ作ったら、アップロードは、ファイルをドラッグ&ドロップするだけです)。

 Google ColaboratoryでGoogle Driveをマウントする方法は以下記事が参考になります。

google Colaboratoryでファイルを読み込む方法 - Qiita

 私が試したときは、更に簡単になっていて、左側の画面でGoogle Driveを読み込むをクリックするだけでOKでした。

 マウントしたら、Google Colaboratory上で以下コマンド実行したら、データをGoogle Colaboratory側にコピーできます。

!cp drive/'My Drive'/healthcare/export.xml healthcare.xml

 後の分析は、u++さんと同じことを実施しました。Google Colaboratoryのノートブックを以下公開するので、よければ参考にしてみて下さい。

helthcare_analytics.ipynb

 変えた点は、エクスポートしたヘルスケアデータ、多くは58秒間隔での時系列データなのですが、たまに異常に長い間隔のデータが紛れ込んでいていたので、フィルタリングするような処置をしています(何故そんなデータがあるのかは分からないし、iPhoneのヘルスケア上では表示されない…)

 1日の歩数を可視化してみた結果です。

f:id:karaage:20200308215505p:plain:w640

まとめ

 ヘルスケアデータをGoogle Colaboratoryを使って可視化してみました。本当は、色々なヘルスケアデータを可視化したり、データ同士の相関をとってみたら面白いかなと思ったのですが…かなり大変で諦めてしまいました。

 ネットで調べてもヘルスケアデータをPythonで可視化したものって、歩数くらいしか出てこないのですよね。歩数以上のことをやろうとして挫折しているのではないかと密かに思っています。

参考リンク

iPhoneに記録された「ヘルスケア」データを書き出すには? | マイナビニュース

関連記事