1K Views
August 30, 24
スライド概要
kaggleのオープンデータを用い医療・健康にかかわる領域での基礎的な分析を実施
Fitbit Fitness Tracker Data を用いた健康向上 のための分析 2024
背景・目的 目次 背景の整理・データ概要 分析 実装付録
背景・目的 目次
日本における“健康”づくりの活動 ▪ 1978年(昭和53年)より第1次国民健康 づくりの活動が開始される。 ▪ 第3次国民健康づくりより、 「健康日本21」と題し、健康寿命の延伸・ 健康格差の縮小などを目標とする活動が 本格化された。 *参照:第1回健康日本21(第三次)推進専門委員会 説明資料 資料2より抜粋
健康日本21(第三次) ▪ 個人の行動と健康状態の改善に、生活習 慣の改善が目標としてあり、その項目として、 「栄養・食生活」、「身体活動・運動」、「休 養・睡眠」などの個々人の生活習慣改善 が挙げられている。 ▪ 健康日本21(第三次)より、新たな視点と して、「自然に健康になれる環境づくり」や 「個人の健康情報の見える化・利活用」が 加わり、ウェアラブル端末やアプリの利活 用が推進されている。 *参照:第1回健康日本21(第三次)推進専門委員会 説明資料 資料2より抜粋
身体活動・運動 *参照:第1回健康日本21(第三次)推進専門委員会 説明資料 資料2より抜粋 ▪ 「身体活動・運動」の項目における目標として、 ① 日常生活における歩数の増加 ② 運動習慣者の増加 ③ 運動やスポーツを習慣的に行っていない子供の減少 が列挙される。 歩数・運動習慣の定着の有無・運動時間などが指標として注目されている
分析設計 ▪ 健康向上には身体活動などの生活習慣改善が挙げられ、ウェアラブル端末の利活用が注目されている。 ➢ 目的・テーマ ウェアラブル端末利用により健康向上につながるのか? 健康とは・・ 「肉体的、精神的及び社会的に完全に良好な状態」 *参照:世界保健機関(WHO)におけるWHO憲章より抜粋 ➢ 仮説 ① 歩数増加及び座位時間減少による体重減少・BMI維持になる ② 睡眠時間増加による抑うつ等の心理的不安状態の軽減 ➢ 前提・集計条件 など KaggleにおけるFitbit Fitness Tracker Dataを使用
目次 背景の整理・データ概要
背景の整理 ✓ 背景 Fitbitデータより健康向上に関わる要素を得る ✓ ゴール Fitbit使用により歩数増加・座位時間減少・活動時間増 加・睡眠時間増加等が明確になる、またその可視化を図る ✓ 決定事項 KaggleにあるFitbit Fitness Tracker Dataを使用
使用データ ✓ Fitbit Fitness Tracker Data ▪ Fitbitは、アメリカのフィットネスの企業が開発した、 歩数・心拍数・睡眠の質・階段の昇降の歩数など のフィットネスに関係する指標を測定する、ウェア ラブル技術を用いたスマートウォッチである。 ▪ Fitbit Fitness Tracker Dataは、kaggleに投 稿された、Amazon Mechanical Turkを介した 分散調査への回答者によって生成されたデータで ある。 ▪ 2016年3月12日~5月12日の2か月間、30 人のFitbitユーザーによる心拍数・消費カロリー などのメトリクスをまとめた合計11のCSVファイルか らなる。 *参照:https://www.kaggle.com/datasets/arashnic/fitbit
使用環境・ツール ▪ ベースの環境はJupyter Labを使用 ▪ 言語はPythonを使用 ▪ データの加工等はpandasを使用 ▪ グラフの描画はseaborn、matplotlibなどを使用
データ分析の流れ ① Kaggleよりデータインポート ② データの前処理 ・欠損値、n数確認などデータ探索 ・カラムなど要素が重複しているもの、明らかに欠損の多いファイルなどは 統合、削除など行う ・同一の内容をまとめるといったデータクレンジングを行う ・分析を行いやすくするため、新規のカラムを追加など行う ③ データの可視化 ・基本統計量、相関行列 ・棒グラフ・散布図等
データ概観 項目 項目名 説明 形式 1 Id Fitbitシステム内の一意のID 整数 2 TotalSteps 歩数の合計(歩) 整数 3 TotalDistance 総歩行距離(m) 整数 4 VeryActiveDistance 非常に活動している歩行距離(m) 整数 5 ModeratelyActiveDistance 適度に活動している歩行距離(m) 整数 6 LightActiveDistance 軽度に活動している歩行距離(m) 整数 7 SedentaryActiveDistance 座っている時間の移動距離(m) 整数 8 VeryActiveMinutes 非常に活動している総時間(分) 整数 9 FairlyActiveMinutes 適度に活動している総時間(分) 整数 10 LightlyActiveMinutes 軽度に活動している総時間(分) 整数 11 SedentaryMinutes 座っている間の総時間(分) 整数 12 TotalActiveMinutes 活動している総時間(分) 整数 13 TotalMinutes 座位活動含めた活動総時間(分) 整数 14 TotalActiveHours 活動している総時間(分) 整数 15 Calories 活動中の推定総エネルギー消費量(cal) 整数 16 StepTotal 最大歩数(歩) 整数 17 DateHour 活動時間(分) 整数 18 TotalSleepRecords 総睡眠記録 整数 19 TotalMinutesAsleep 総睡眠時間(分) 整数 20 TotalTimeInBed 総ベッド臥床時間(分) 整数 No. ▪ 最終的なデータセットのカラム一覧 ▪ 大きくは歩数、活動時間、座っている時 間といった非活動の時間、消費カロリーな どが挙げられた
データ概観 *n=33、2016年3月12日~5月12日の2か月間 *総睡眠時間のみn=24にて計算 項目 平均値 歩数 7638歩 総活動時間 総睡眠時間 総歩行距離 5.5km 座っている時間 991分(約16.5時間) 総活動時間 (全ての動いている時間) 228分(約3.8時間) 消費カロリー 2304cal 総睡眠時間 419分(約7時間) 26% 14% 60% 座っている時間
目次 分析
全体の分析 相関行列 総歩行距離 ▪ 「体重」、「睡眠時間」といった項目は 欠損あり今回は除外とした 歩数 ▪ 「総歩行距離」、「歩数」、 「総活動 時間」に強い正の相関を認めた。 ▪ また、それらは「消費カロリー」にも正の 相関を認めた。 座っている時間 ▪ 「座っている時間」は「総活動時間」、 「歩数」に弱~中程度の負の相関を 認めた。 総活動時間 消費カロリー 総歩行距離 歩数 座っている時間 総活動時間 消費カロリー
全体の分析 座っている時間と歩数の散布図 座っている時間と総活動時間の比較 歩 数 座っている時間 総活動時間 座っている時間 ▪ 「座っている時間」と「総活動時間」では、明らかな差がみられた ▪ 「座っている時間」と「歩数」の散布図では、座っている時間が長い方が歩数も少ない傾向がやや みられたが、座っている時間の差異にて2群化されている様子がみられた
全体の分析 1日の時間帯の中での歩数の比較 曜日ごとの歩数の比較 歩 数 歩 数 火曜 水曜 木曜 金曜 土曜 日曜 月曜 時間帯(1時間毎) ▪ 曜日別では土日の方が歩数多い傾向、1日の中では午後に、特に17時~19時が歩数多い傾 向にあることがみられた
全体の分析 歩数 クラスター1 クラスター2 座っている時間 クラスター1 クラスター2 総活動時間 クラスター1 クラスター2 消費カロリー クラスター1 クラスター2 ▪ 階層的クラスタリングにてクラスターを2つに分類 ▪ クラスター間において活動量に伴った活動時間・歩数・消費カロリーの増加、座っている時間の減少が示唆された
2群間の分析 歩数 歩数の基本統計量 項目 歩数 平均値 7637.9 標準偏差 5087.1 最小値 0.0 中央値 7405.5 最大値 36019.0 活動群(n=16) 中央値(7405.5)を基に 上か下かで2群に分類 低活動群(n=17) 階層的クラスタリングの中で特に2群間で差があった歩数にて 活動量に応じた群間比較を行う
2群間の分析 2群間の平均値の比較 活動群 項目 低活動群 平均値 活動群 低活動群 歩数(歩) 10361.9 4843.4 総活動時間(分) 275.9 177.8 座っている時間(分) 886.4 1098.6 消費カロリー(cal) 2513.8 2087.9 座っている時間 総活動時間 消費カロリー 座っている時間 総活動時間 消費カロリー ▪ 歩数を基に2群化したため、歩数には大きな開きがある ▪ 総活動時間・座っている時間・消費カロリーにおいても2群間で若干の差がみられ、低活動群では座っている時間の増 加、総活動時間・消費カロリーの低下がみられる
2群間の分析 *:p<0.01 活動群 2群間の各項目での差の検定 座っている時間 総活動時間 消費カロリー * * * 低活動群 活動群 低活動群 活動群 低活動群 ▪ マンホイットニーのU検定において、2群間の座っている時間・総活動時間・消費カロリーに有意差を認めた
まとめ ▪ 1日の時間配分としては、活動している時間よりも座っている時間の方が長い傾向にある。 ▪ 睡眠時間や体重は欠損多く、今回の分析より除外 ▪ 活動の指標として歩数と活動時間には正の相関がみられた ▪ 歩数が同程度の群でも、座っている時間には差異がみられた。 ▪ 活動量に応じた比較では、座っている時間・消費カロリー・活動時間に有意差を認めた。 ▪ 活動量の変化には、活動時間より座っている時間を変化させた方が影響が強い可能性がある。 ▪ 対象とする群により、座っている時間の活動内容自体も大きく違う可能性がある。 ▪ 活動量に応じた比較より、Fitbit使用に伴って活動量が増加した可能性がある。
まとめ 背景 Fitbitデータより健康向上に関わる要素を得る ゴール Fitbit使用により歩数増加・座位時間減少・活動時間増加・睡眠 時間増加等が明確になる、またその可視化を図る 決定事項 KaggleにあるFitbit Fitness Tracker Dataを使用 結果 ①Fitbit使用により歩数などの項目変化が得られた ②歩数増加等の活動量増加に伴う、消費カロリーの増加といっ た項目毎の変化や、2群間の比較結果などを可視化した 限界 体重など欠落した情報が多い、BMI等の基本情報や別途心理 学的評価なども含めたアンケートにて評価が行えていない
提言 ✓ For Fitbitユーザー ▪ 今回の計測では体重や睡眠時間の欠損が多く、これらの値をしっかり計測することで、より健康向上につながる要 素を獲得できる可能性があると思われる。 ▪ 相関関係にある項目が多く、まずは座位時間・歩数など自身の関心が強い項目のみを指標として追うことで、総 じてその他項目も良くなっていくと思われる。 ✓ For Fitbit導入施設など ▪ 活動量としては、土日といった休日や、アフター5の時間(17時~19時)に多い傾向にあり、職務中の活動・ 運動量は低い傾向にあることが伺えた。社員・職員の健康向上の一つに、座位時間の減少は健康向上に繋が ることが示唆されれており、立ちながら作業を行えるといった作業姿勢など働くスタイルの見直し・指標の一つに良 いと思われる。
目次 実装付録
実装の詳細を付録 ▪ Kaggleよりデータをインポート ▪ 「Fitbit Fitness Tracker Data」は11のCSVファイルがあり、全てをインポート
▪ 各種ライブラリをインポート、11個のCSVファイルを読み込み ▪ 各ファイル毎のID(一意の値)を取得 ▪ 各要素(columns)を取得 ▪ 各ファイル毎の文字型・行列要素の取得、欠損・重複の確認
▪ datetime型に変換、「hourly_steps」・ 「hourly_calories」のデータフレームを結合 ▪ 「WeekDay」という新しい列を作成 ▪ 新たなデータフレームとして消費カロリーの項目を追加するべく、文 字型の変換・列名の変更、データフレームの結合を行う ▪ 既存のデータフレームに新規の列を作成し追加
▪ 新規の列に値を入力 ▪ 作成したデータフレームの基本統計量を確認 ▪ 主要と思われる項目の相関行列を作成 ▪ 「歩数と消費カロリー」など散布図を作成
▪ 「座っている時間と活動時間」など棒グラフを作成 ▪ 「曜日ごとの歩数」の棒グラフ作成 ▪ 「1日の時間帯ごとの歩数平均」の棒グラフ作成 ▪ 階層的クラスタリング手法にてクラスターを2つに分類、散布図 を作成
▪ 2つのクラスターで各項目の棒グラフ作成し比較 ▪ 各項目ごとの2つのクラスターを棒グラフ作成し比較 ▪ 主成分分析にて寄与率を確認 ▪ 中央値より大小を真偽としたbool値を作成しデータフレームに 追加、その値をもとに2群に群分けを行う
▪ 2群間での座っている時間の比較の棒グラフ作成 ▪ 正規性の検定を行う ▪ ノンパラメトリックでの2群における差の検定、マンホイットニーの U検定を行う ▪ 2群間の差の検定前に正規性の有無を確認するため、ヒス トグラムを作成
▪ 箱ひげ図にて可視化