/Fitbit-Data-Analysis

Fitbit 데이터 분석

Primary LanguagePython

BLEP Fitbit-Data-Analysis

Fitbit을 이용해 얻은 활동량 Time Series(시계열) 데이터 분석

To-Do

  • 시계열 데이터 numpy 배열로 변환
  • matplotlib을 이용하여 데이터 시각화
  • 데이터 분석


Data

json data 기본 형식(dataset 일부 추출)
'distance':
             {'activities-distance': [
                      {'dateTime': '2021-11-18',
                       'value': '0'
                       }
                                      ],
              'activities-distance-intraday':
                          {'dataset': [
                                    {'time': '09:00:00', 'value': 0},
                                    {'time': '09:01:00', 'value': 0},
                                    {'time': '09:02:00', 'value': 0},
                                       ],
               'datasetInterval': 1,
               'datasetType': 'minute'
             }
}, 

'calories':
             {
             'activities-calories': [
                         {'dateTime': '2021-11-18',
                          'value': '63.65'
                          }
                                      ],

               'activities-calories-intraday':
                            {'dataset': [
                                   {'level': 0, 'mets': 10, 'time': '09:00:00', 'value': 1.0608},
                                   {'level': 0, 'mets': 10, 'time': '09:01:00', 'value': 1.0608},
                                         ],       
               'datasetInterval': 1,
               'datasetType': 'minute'
              }
},

'steps': 
         {'activities-steps': [
                          {
                          'dateTime': '2021-11-18',
                          'value': '0'
                          }
                               ],
           'activities-steps-intraday':
                            {'dataset': [
                                  {'time': '09:00:00', 'value': 0},
                                  {'time': '09:01:00', 'value': 0},
                                  {'time': '09:59:00', 'value': 0}
                                         ], 
           'datasetInterval': 1,
           'datasetType': 'minute'
                              }
         }
}                
Json raw_data sample
{'distance': {'activities-distance': [{'dateTime': '2021-04-07', 'value': '0'}], 'activities-distance-intraday': {'dataset': [{'time': '09:00:00', 'value': 0}, {'time': '09:01:00', 'value': 0}, {'time': '09:02:00', 'value': 0}, {'time': '09:03:00', 'value': 0}, {'time': '09:04:00', 'value': 0}, {'time': '09:05:00', 'value': 0}, {'time': '09:06:00', 'value': 0}, {'time': '09:07:00', 'value': 0}, {'time': '09:08:00', 'value': 0}, {'time': '09:09:00', 'value': 0}, {'time': '09:10:00', 'value': 0}, {'time': '09:11:00', 'value': 0}, {'time': '09:12:00', 'value': 0}, {'time': '09:13:00', 'value': 0}, {'time': '09:14:00', 'value': 0}, {'time': '09:15:00', 'value': 0}, {'time': '09:16:00', 'value': 0}, {'time': '09:17:00', 'value': 0}, {'time': '09:18:00', 'value': 0}, {'time': '09:19:00', 'value': 0}, {'time': '09:20:00', 'value': 0}, {'time': '09:21:00', 'value': 0}, {'time': '09:22:00', 'value': 0}, {'time': '09:23:00', 'value': 0}, {'time': '09:24:00', 'value': 0}, {'time': '09:25:00', 'value': 0}, {'time': '09:26:00', 'value': 0}, {'time': '09:27:00', 'value': 0}, {'time': '09:28:00', 'value': 0}, {'time': '09:29:00', 'value': 0}, {'time': '09:30:00', 'value': 0}, {'time': '09:31:00', 'value': 0}, {'time': '09:32:00', 'value': 0}, {'time': '09:33:00', 'value': 0}, {'time': '09:34:00', 'value': 0}, {'time': '09:35:00', 'value': 0}, {'time': '09:36:00', 'value': 0}, {'time': '09:37:00', 'value': 0}, {'time': '09:38:00', 'value': 0}, {'time': '09:39:00', 'value': 0}, {'time': '09:40:00', 'value': 0}, {'time': '09:41:00', 'value': 0}, {'time': '09:42:00', 'value': 0.0028}, {'time': '09:43:00', 'value': 0}, {'time': '09:44:00', 'value': 0}, {'time': '09:45:00', 'value': 0}, {'time': '09:46:00', 'value': 0}, {'time': '09:47:00', 'value': 0}, {'time': '09:48:00', 'value': 0}, {'time': '09:49:00', 'value': 0}, {'time': '09:50:00', 'value': 0}, {'time': '09:51:00', 'value': 0}, {'time': '09:52:00', 'value': 0}, {'time': '09:53:00', 'value': 0}, {'time': '09:54:00', 'value': 0}, {'time': '09:55:00', 'value': 0}, {'time': '09:56:00', 'value': 0}, {'time': '09:57:00', 'value': 0}, {'time': '09:58:00', 'value': 0}, {'time': '09:59:00', 'value': 0}], 'datasetInterval': 1, 'datasetType': 'minute'}}, 'calories': {'activities-calories': [{'dateTime': '2021-04-07', 'value': '67.04'}], 'activities-calories-intraday': {'dataset': [{'level': 0, 'mets': 11, 'time': '09:00:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:01:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:02:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:03:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:04:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:05:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:06:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:07:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:08:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:09:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:10:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:11:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:12:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:13:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:14:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:15:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:16:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:17:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:18:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:19:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:20:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:21:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:22:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:23:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:24:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:25:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:26:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:27:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:28:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:29:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:30:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:31:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:32:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:33:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:34:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:35:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:36:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:37:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:38:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:39:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:40:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:41:00', 'value': 1.16688}, {'level': 1, 'mets': 22, 'time': '09:42:00', 'value': 2.33376}, {'level': 0, 'mets': 10, 'time': '09:43:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:44:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:45:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:46:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:47:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:48:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:49:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:50:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:51:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:52:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:53:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:54:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:55:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:56:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:57:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:58:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:59:00', 'value': 1.16688}], 'datasetInterval': 1, 'datasetType': 'minute'}}, 'steps': {'activities-steps': [{'dateTime': '2021-04-07', 'value': '4'}], 'activities-steps-intraday': {'dataset': [{'time': '09:00:00', 'value': 0}, {'time': '09:01:00', 'value': 0}, {'time': '09:02:00', 'value': 0}, {'time': '09:03:00', 'value': 0}, {'time': '09:04:00', 'value': 0}, {'time': '09:05:00', 'value': 0}, {'time': '09:06:00', 'value': 0}, {'time': '09:07:00', 'value': 0}, {'time': '09:08:00', 'value': 0}, {'time': '09:09:00', 'value': 0}, {'time': '09:10:00', 'value': 0}, {'time': '09:11:00', 'value': 0}, {'time': '09:12:00', 'value': 0}, {'time': '09:13:00', 'value': 0}, {'time': '09:14:00', 'value': 0}, {'time': '09:15:00', 'value': 0}, {'time': '09:16:00', 'value': 0}, {'time': '09:17:00', 'value': 0}, {'time': '09:18:00', 'value': 0}, {'time': '09:19:00', 'value': 0}, {'time': '09:20:00', 'value': 0}, {'time': '09:21:00', 'value': 0}, {'time': '09:22:00', 'value': 0}, {'time': '09:23:00', 'value': 0}, {'time': '09:24:00', 'value': 0}, {'time': '09:25:00', 'value': 0}, {'time': '09:26:00', 'value': 0}, {'time': '09:27:00', 'value': 0}, {'time': '09:28:00', 'value': 0}, {'time': '09:29:00', 'value': 0}, {'time': '09:30:00', 'value': 0}, {'time': '09:31:00', 'value': 0}, {'time': '09:32:00', 'value': 0}, {'time': '09:33:00', 'value': 0}, {'time': '09:34:00', 'value': 0}, {'time': '09:35:00', 'value': 0}, {'time': '09:36:00', 'value': 0}, {'time': '09:37:00', 'value': 0}, {'time': '09:38:00', 'value': 0}, {'time': '09:39:00', 'value': 0}, {'time': '09:40:00', 'value': 0}, {'time': '09:41:00', 'value': 0}, {'time': '09:42:00', 'value': 4}, {'time': '09:43:00', 'value': 0}, {'time': '09:44:00', 'value': 0}, {'time': '09:45:00', 'value': 0}, {'time': '09:46:00', 'value': 0}, {'time': '09:47:00', 'value': 0}, {'time': '09:48:00', 'value': 0}, {'time': '09:49:00', 'value': 0}, {'time': '09:50:00', 'value': 0}, {'time': '09:51:00', 'value': 0}, {'time': '09:52:00', 'value': 0}, {'time': '09:53:00', 'value': 0}, {'time': '09:54:00', 'value': 0}, {'time': '09:55:00', 'value': 0}, {'time': '09:56:00', 'value': 0}, {'time': '09:57:00', 'value': 0}, {'time': '09:58:00', 'value': 0}, {'time': '09:59:00', 'value': 0}], 'datasetInterval': 1, 'datasetType': 'minute'}}}

1. raw data (CSV File)

  • 2021.04.07 09:00:00 ~ 2021.11.18 09:00:00

image image image

2. data (dictionary) 형식

3. json Data (json) 형식


calories data (dictionary)

image

image

image

image

image

distance data (dictionary)

image image image image image image image image image

steps data (dictionary)

image

image image image image image


Results

  • dateTime, data index, time(1분 간격)
  • distance(value), calories(level, mets, value), steps(value)


  • time - distance(value), calories(level, mets, value), steps(value)