Published July 13, 2022 | Version 4
Dataset Open

LifeSnaps: a 4-month multi-modal dataset capturing unobtrusive snapshots of our lives in the wild

  • 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

Version 2: Conversion from 7z to zip for easier uncompressing Version 3: Deletion of unnecessary files Version 4: Updates CSV files after bug fix in the export process

Files

rais_anonymized.zip

Files (615.0 MB)

Name Size Download all
md5:726afe263ab4b900a721eac19b2ca13a
615.0 MB Preview Download

Additional details

Funding

European Commission
RAIS - RAIS: Real-time Analytics for the Internet of Sports 813162