LifeSnaps: a 4-month multi-modal dataset capturing unobtrusive snapshots of our lives in the wild
Creators
- 1. Aristotle University of Thessaloniki
- 2. Earkick
- 3. Foundation for Research and Technology Hellas
- 4. University of Insubria
- 5. KTH Royal Institute of Technology
Description
LifeSnaps Dataset Documentation
Ubiquitous self-tracking technologies have penetrated various aspects of our lives, from physical and mental health monitoring to fitness and entertainment. Yet, limited data exist on the association between in the wild large-scale physical activity patterns, sleep, stress, and overall health, and behavioral patterns and psychological measurements due to challenges in collecting and releasing such datasets, such as waning user engagement, privacy considerations, and diversity in data modalities. In this paper, we present the LifeSnaps dataset, a multi-modal, longitudinal, and geographically-distributed dataset, containing a plethora of anthropological data, collected unobtrusively for the total course of more than 4 months by n=71 participants, under the European H2020 RAIS project. LifeSnaps contains more than 35 different data types from second to daily granularity, totaling more than 71M rows of data. The participants contributed their data through numerous validated surveys, real-time ecological momentary assessments, and a Fitbit Sense smartwatch, and consented to make these data available openly to empower future research. We envision that releasing this large-scale dataset of multi-modal real-world data, will open novel research opportunities and potential applications in the fields of medical digital innovations, data privacy and valorization, mental and physical well-being, psychology and behavioral sciences, machine learning, and human-computer interaction.
The following instructions will get you started with the LifeSnaps dataset and are complementary to the original publication.
Data Import: Reading CSV
For ease of use, we provide CSV files containing Fitbit, SEMA, and survey data at daily and/or hourly granularity. You can read the files via any programming language. For example, in Python, you can read the files into a Pandas DataFrame with the pandas.read_csv() command.
Data Import: Setting up a MongoDB (Recommended)
To take full advantage of the LifeSnaps dataset, we recommend that you use the raw, complete data via importing the LifeSnaps MongoDB database.
To do so, open the terminal/command prompt and run the following command for each collection in the DB. Ensure you have MongoDB Database Tools installed from here.
For the Fitbit data, run the following:
mongorestore --host localhost:27017 -d rais_anonymized -c fitbit <path to file fitbit.bson>
For the SEMA data, run the following:
mongorestore --host localhost:27017 -d rais_anonymized -c sema <path to file sema.bson>
For surveys data, run the following:
mongorestore --host localhost:27017 -d rais_anonymized -c surveys <path to file surveys.bson>
If you have access control enabled, then you will need to add the --username and --password parameters to the above commands.
Data Availability
The MongoDB database contains three collections, fitbit, sema, and surveys, containing the Fitbit, SEMA3, and survey data, respectively. Similarly, the CSV files contain related information to these collections. Each document in any collection follows the format shown below:
{
_id: <ObjectId>
id (or user_id): <ObjectId>
type: <String>
data: <Object>
}
Each document consists of four fields: id (also found as user_id in sema and survey collections), type, and data. The _id field is the MongoDB-defined primary key and can be ignored. The id field refers to a user-specific ID used to uniquely identify each user across all collections. The type field refers to the specific data type within the collection, e.g., steps, heart rate, calories, etc. The data field contains the actual information about the document e.g., steps count for a specific timestamp for the steps type, in the form of an embedded object. The contents of the data object are type-dependent, meaning that the fields within the data object are different between different types of data. As mentioned previously, all times are stored in local time, and user IDs are common across different collections. For more information on the available data types, see the related publication.
Surveys Encoding
BREQ2
Why do you engage in exercise?
Code | Text |
engage[SQ001] | I exercise because other people say I should |
engage[SQ002] | I feel guilty when I don’t exercise |
engage[SQ003] | I value the benefits of exercise |
engage[SQ004] | I exercise because it’s fun |
engage[SQ005] | I don’t see why I should have to exercise |
engage[SQ006] | I take part in exercise because my friends/family/partner say I should |
engage[SQ007] | I feel ashamed when I miss an exercise session |
engage[SQ008] | It’s important to me to exercise regularly |
engage[SQ009] | I can’t see why I should bother exercising |
engage[SQ010] | I enjoy my exercise sessions |
engage[SQ011] | I exercise because others will not be pleased with me if I don’t |
engage[SQ012] | I don’t see the point in exercising |
engage[SQ013] | I feel like a failure when I haven’t exercised in a while |
engage[SQ014] | I think it is important to make the effort to exercise regularly |
engage[SQ015] | I find exercise a pleasurable activity |
engage[SQ016] | I feel under pressure from my friends/family to exercise |
engage[SQ017] | I get restless if I don’t exercise regularly |
engage[SQ018] | I get pleasure and satisfaction from participating in exercise |
engage[SQ019] | I think exercising is a waste of time |
PANAS
Indicate the extent you have felt this way over the past week
P1[SQ001] | Interested |
P1[SQ002] | Distressed |
P1[SQ003] | Excited |
P1[SQ004] | Upset |
P1[SQ005] | Strong |
P1[SQ006] | Guilty |
P1[SQ007] | Scared |
P1[SQ008] | Hostile |
P1[SQ009] | Enthusiastic |
P1[SQ010] | Proud |
P1[SQ011] | Irritable |
P1[SQ012] | Alert |
P1[SQ013] | Ashamed |
P1[SQ014] | Inspired |
P1[SQ015] | Nervous |
P1[SQ016] | Determined |
P1[SQ017] | Attentive |
P1[SQ018] | Jittery |
P1[SQ019] | Active |
P1[SQ020] | Afraid |
Personality
How Accurately Can You Describe Yourself?
Code | Text |
ipip[SQ001] | Am the life of the party. |
ipip[SQ002] | Feel little concern for others. |
ipip[SQ003] | Am always prepared. |
ipip[SQ004] | Get stressed out easily. |
ipip[SQ005] | Have a rich vocabulary. |
ipip[SQ006] | Don't talk a lot. |
ipip[SQ007] | Am interested in people. |
ipip[SQ008] | Leave my belongings around. |
ipip[SQ009] | Am relaxed most of the time. |
ipip[SQ010] | Have difficulty understanding abstract ideas. |
ipip[SQ011] | Feel comfortable around people. |
ipip[SQ012] | Insult people. |
ipip[SQ013] | Pay attention to details. |
ipip[SQ014] | Worry about things. |
ipip[SQ015] | Have a vivid imagination. |
ipip[SQ016] | Keep in the background. |
ipip[SQ017] | Sympathize with others' feelings. |
ipip[SQ018] | Make a mess of things. |
ipip[SQ019] | Seldom feel blue. |
ipip[SQ020] | Am not interested in abstract ideas. |
ipip[SQ021] | Start conversations. |
ipip[SQ022] | Am not interested in other people's problems. |
ipip[SQ023] | Get chores done right away. |
ipip[SQ024] | Am easily disturbed. |
ipip[SQ025] | Have excellent ideas. |
ipip[SQ026] | Have little to say. |
ipip[SQ027] | Have a soft heart. |
ipip[SQ028] | Often forget to put things back in their proper place. |
ipip[SQ029] | Get upset easily. |
ipip[SQ030] | Do not have a good imagination. |
ipip[SQ031] | Talk to a lot of different people at parties. |
ipip[SQ032] | Am not really interested in others. |
ipip[SQ033] | Like order. |
ipip[SQ034] | Change my mood a lot. |
ipip[SQ035] | Am quick to understand things. |
ipip[SQ036] | Don't like to draw attention to myself. |
ipip[SQ037] | Take time out for others. |
ipip[SQ038] | Shirk my duties. |
ipip[SQ039] | Have frequent mood swings. |
ipip[SQ040] | Use difficult words. |
ipip[SQ041] | Don't mind being the centre of attention. |
ipip[SQ042] | Feel others' emotions. |
ipip[SQ043] | Follow a schedule. |
ipip[SQ044] | Get irritated easily. |
ipip[SQ045] | Spend time reflecting on things. |
ipip[SQ046] | Am quiet around strangers. |
ipip[SQ047] | Make people feel at ease. |
ipip[SQ048] | Am exacting in my work. |
ipip[SQ049] | Often feel blue. |
ipip[SQ050] | Am full of ideas. |
STAI
Indicate how you feel right now
Code | Text |
STAI[SQ001] | I feel calm |
STAI[SQ002] | I feel secure |
STAI[SQ003] | I am tense |
STAI[SQ004] | I feel strained |
STAI[SQ005] | I feel at ease |
STAI[SQ006] | I feel upset |
STAI[SQ007] | I am presently worrying over possible misfortunes |
STAI[SQ008] | I feel satisfied |
STAI[SQ009] | I feel frightened |
STAI[SQ010] | I feel comfortable |
STAI[SQ011] | I feel self-confident |
STAI[SQ012] | I feel nervous |
STAI[SQ013] | I am jittery |
STAI[SQ014] | I feel indecisive |
STAI[SQ015] | I am relaxed |
STAI[SQ016] | I feel content |
STAI[SQ017] | I am worried |
STAI[SQ018] | I feel confused |
STAI[SQ019] | I feel steady |
STAI[SQ020] | I feel pleasant |
TTM
Do you engage in regular physical activity according to the definition above? How frequently did each event or experience occur in the past month?
Code | Text |
processes[SQ002] | I read articles to learn more about physical activity. |
processes[SQ003] | I get upset when I see people who would benefit from physical activity but choose not to do physical activity. |
processes[SQ004] | I realize that if I don't do physical activity regularly, I may get ill and be a burden to others. |
processes[SQ005] | I feel more confident when I do physical activity regularly. |
processes[SQ006] | I have noticed that many people know that physical activity is good for them. |
processes[SQ007] | When I feel tired, I make myself do physical activity anyway because I know I will feel better afterwards. |
processes[SQ008] | I have a friend who encourages me to do physical activity when I don't feel up to it. |
processes[SQ009] | One of the rewards of regular physical activity is that it improves my mood. |
processes[SQ010] | I tell myself that I can keep doing physically activity if I try hard enough. |
processes[SQ011] | I keep a set of physical activity clothes with me so I can do physical activity whenever I get the time. |
processes[SQ012] | I look for information related to physical activity. |
processes[SQ013] | I am afraid of the results to my health if I do not do physical activity. |
processes[SQ014] | I think that by doing regular physical activity I will not be a burden to the healthcare system. |
processes[SQ015] | I believe that regular physical activity will make me a healthier, happier person. |
processes[SQ016] | I am aware of more and more people who are making physical activity a part of their lives. |
processes[SQ017] | Instead of taking a nap after work, I do physical activity. |
processes[SQ018] | I have someone who encourages me to do physical activity. |
processes[SQ019] | I try to think of physical activity as a time to clear my mind as well as a workout for my body. |
processes[SQ020] | I make commitments to do physical activity. |
processes[SQ021] | I use my calendar to schedule my physical activity time. |
processes[SQ022] | I find out about new methods of being physically active. |
processes[SQ023] | I get upset when I realize that people I love would have better health if they were physically active. |
processes[SQ024] | I think that regular physical activity plays a role in reducing health care costs. |
processes[SQ025] | I feel better about myself when I do physical activity. |
processes[SQ026] | I notice that famous people often say that they do physical activity regularly. |
processes[SQ027] | Instead of relaxing by watching TV or eating, I take a walk or am physically active. |
processes[SQ028] | My friends encourage me to do physical activity. |
processes[SQ029] | If I engage in regular physical activity, I find that I get the benefit of having more energy. |
processes[SQ030] | I believe that I can do physical activity regularly. |
processes[SQ031] | I make sure I always have a clean set of physical activity clothes. |
Files Description
Scored Surveys: CSV files containing scored versions of BREQ-2, IPIP, PANAS, STAI, and TTM surveys in scored_surveys folder
Fitbit & EMA Data (daily granularity): csv_rais_anonymized/daily_fitbit_sema_df_unprocessed.csv
Fitbit & EMA Data (hourly granularity): csv_rais_anonymized/hourly_fitbit_sema_df_unprocessed.csv
MongoDB Dumps (compressed for practicality): mongo_rais_anonymized/fitbit.bson for Fitbit data, mongo_rais_anonymized/sema for EMA data, and mongo_rais_anonymized/surveys for raw surveys data.
Code Availability
Data Anonymization: https://github.com/syfantid/RAIS-Anonymization
Exploratory Data Analysis: https://github.com/kcristinaa/LifeSnaps-EDA
Related Publications
Sofia Yfantidou, Christina Karagianni, Stefanos Efstathiou, Athena Vakali, Joao Palotti, Dimitrios Panteleimon Giakatos, Thomas Marchioro, Andrei Kazlouski, Elena Ferrari, and Sarunas Girdzijauskas, 2022, LifeSnaps: a 4-month multi-modal dataset capturing unobtrusive snapshots of our lives in the wild (Submitted for peer-review).
Acknowledgments
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 813162. The content of this paper reflects only the authors' view and the Agency and the Commission are not responsible for any use that may be made of the information it contains. First and foremost, the authors would like to thank the participants of the LifeSnaps study who agreed to share their data for scientific advancement. The authors would like to further thank the web developers, T. Valk and S. Karamanidis, for their contribution to the project, all past and present RAIS fellows for their help with participants' recruitment, G. Pallis and M. Christodoulaki for their support with the ethics committee application, and B. Carminati for her feedback on data anonymization and privacy considerations.
Notes
Files
rais_anonymized.zip
Files
(615.0 MB)
Name | Size | Download all |
---|---|---|
md5:726afe263ab4b900a721eac19b2ca13a
|
615.0 MB | Preview Download |