A package that transform intermediate log files into features of interest for analysis
Project description
Introduction
This repository include Python scripts that transform raw sensor data collected from Android mobile devices into features of interest for analysis.
Current research topic: identify contextual prompt-level factors that predict response or no response in microEMA.
Statistical methodology: multi-level modeling
Outcomes: compliance rate
Predictors:
-
Within-person or prompt level:
- time of the day
- day of the week
- day in study
- activity level
- battery level
- location
-
Between-person or person level
- age
- gender
- study mode
Exploratory Discussions on Factors
Detailed discussions on factors can be found here.
Features Overview
Smartphone
Outcome | Variable Type | Data Source |
---|---|---|
Answer Status | Categorical (Completed, CompletedThenDismissed, PartiallyCompleted, Started/NeverStarted, NeverPrompted, OverwrittenByDaily) | ./logs/PromptResponses.log.csv |
Feature | Level | Effect Type | Variable Type | Data Source |
---|---|---|---|---|
Day of the Week | Level 1 (Within-person or prompt level) | Random | Categorical (Mon-Sat: 0-6) | ./logs/.../PromptResponses.log.csv |
Time of the Day | Level 1 (Within-person or prompt level) | Random | Categorical (morning, afternoon, evening/night) | ./logs/.../PromptResponses.log.csv |
Days in Study | Level 1 (Within-person or prompt level) | Random | Numeric (numeric value of day from the first day) | ./logs (start from the first date of created folder) |
Battery Level | Level 1 (Within-person or prompt level) | Random | Numeric (Battery%) | ./data/.../Battery.##.event.csv |
Charging Status | Level 1 (Within-person or prompt level) | Random | Binary (True/False) | ./data/.../Battery.##.event.csv |
Location (LOC) | Level 1 (Within-person or prompt level) | Random | [Latitude, Longitude] | ./data/.../GPS.csv |
Phone Lock | Level 1 (Within-person or prompt level) | Random | Binary (Phone Locked/Phone Unlocked) | ./data/.../AppEventCounts.csv |
Last Phone Usage Duration | Level 1 (Within-person or prompt level) | Random | Numeric (minutes) | ./data/.../AppEventCounts.csv |
Screen Status | Level 1 (Within-person or prompt level) | Random | Binary (Screen On/Screen Off) | ./logs/.../SystemBroadcastReceiver.csv |
Wake/Sleep Time | Level 1 (Within-person or prompt level) | Random | Local time (2021-01-01 06:30:00 CST) | daily report |
Smartwatch
Outcome | Level | Effect Type | Variable Type | Data Source |
---|---|---|---|---|
Compliance Rate | Level 1 (Within-person or prompt level) | Random | Numeric | ./logs-watch/PromptResponses.log.csv |
Level 2 (Between-person or person level) | Random |
Feature | Level | Effect Type | Variable Type | Data Source |
---|---|---|---|---|
Day of the Week | Level 1 (Within-person or prompt level) | Random | Categorical (Mon-Sat: 0-6) | ./logs-watch/.../PromptResponses.log.csv |
Time of the Day | Level 1 (Within-person or prompt level) | Random | Categorical (morning, afternoon, evening/night) | ./logs-watch/.../PromptResponses.log.csv |
Days in Study | Level 1 (Within-person or prompt level) | Random | Numeric (numeric value of day from the first day) | ./logs-watch (start from the first date of created folder) |
Battery Level | Level 1 (Within-person or prompt level) | Random | Numeric (Battery%) | ./data-watch/.../Battery.##.event.csv |
Location (LOC) | Level 1 (Within-person or prompt level) | Random | ||
Activity Level (ACT) | Level 1 (Within-person or prompt level) | Random |
Code Usage for Feature Matrix Generation
- This project has been wrapped up as a Pypi package. Use pip to install.
- Clone this project and run locally.
#!python
python main_ema.py [intermediate_participant_path] [output_dir_path] [date_in_study] [decryption_password]
e.g., python main_ema.py G:...\intermediate_file\participant_id C:...\output_folder 2021-01-01 password
Special Notice
- Delete misc folder before running code, if new participants' intermediate folder has been created.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file microt_prompt-0.1.21.tar.gz
.
File metadata
- Download URL: microt_prompt-0.1.21.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ed2387f0ee31d3ee9ca60f059fb718d47e01632b2062c7c22fe43fd272f2d01 |
|
MD5 | 6d7190df3b693fca4a32cb5432a6125a |
|
BLAKE2b-256 | 7c9b54a306ac213ae8dfa16c7838120e835786d165981f0560a70c5dff61b62c |
File details
Details for the file microt_prompt-0.1.21-py3-none-any.whl
.
File metadata
- Download URL: microt_prompt-0.1.21-py3-none-any.whl
- Upload date:
- Size: 69.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 442a1a873453fa40e9fea174850bd4df398857c0cc48f018b735fe33385dd526 |
|
MD5 | 0c813dacff4cb93fc5177040d6586d56 |
|
BLAKE2b-256 | 0d361a48caf7e7a2bedbf284bb10446637c617ef810a9990a02fff5a334543b0 |