From 7b4598357d533578e4cef16320d9a050812c0206 Mon Sep 17 00:00:00 2001 From: Meng Li <34143965+Meng6@users.noreply.github.com> Date: Fri, 26 Feb 2021 17:17:39 -0500 Subject: [PATCH] Update the PRICE provider's example in sleep intraday docs --- docs/features/fitbit-sleep-intraday.md | 34 ++++++++++++------ docs/img/features_fitbit_sleep_intraday.png | Bin 0 -> 78290 bytes .../fitbit_sleep_intraday/price/main.py | 2 +- 3 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 docs/img/features_fitbit_sleep_intraday.png diff --git a/docs/features/fitbit-sleep-intraday.md b/docs/features/fitbit-sleep-intraday.md index 3bc8a265..0e831f18 100644 --- a/docs/features/fitbit-sleep-intraday.md +++ b/docs/features/fitbit-sleep-intraday.md @@ -196,19 +196,31 @@ Features description for `[FITBIT_STEPS_INTRADAY][PROVIDERS][PRICE]`: !!! note "Assumptions/Observations" 1. These features are based on descriptive statistics computed across daily values (start/end/mid times of sleep episodes). This is the reason why they are only available on time segments that are longer than 24 hours (we need at least 1 day to get the average). - 1. Even though Fitbit provides 2 types of sleep episodes (`main` and `nap`), only `main` sleep episodes are considered. - 2. We sum 24 to any start or bed times that happen *after* midnight so they can be averaged with other values happening *before* midnight. - 2. `main` sleep episodes belong to the day they start at and are only included in the feature computation if they start or end (overlap) between `[START_TIME]` and `[START_TIME]` + `[LENGTH]`. For example: + 2. Even though Fitbit provides 2 types of sleep episodes (`main` and `nap`), only `main` sleep episodes are considered. + 3. How do we assign sleep episodes to specific dates? + + `START_TIME` and `LENGTH` control the dates that sleep episodes belong to. For a pair of `[START_TIME]` and `[LENGTH]`, sleep episodes (blue boxes) can only be placed at the following places: + +
+ +
Relationship between sleep episodes and the given times`([START_TIME], [LENGTH])`
+
+ + - If the end time of a sleep episode is before `[START_TIME]`, it will belong to the day before its start date (e.g. sleep episode #1). + + - if (1) the start time or the end time of a sleep episode are between (overlap) `[START_TIME]` and `[START_TIME] + [LENGTH]` or (2) the start time is before `[START_TIME]` and the end time is after `[START_TIME] + [LENGTH]`, it will belong to its start date (e.g. sleep episode #2, #3, #4, #5). + + - If the start time of a sleep episode is after `START_TIME] + [LENGTH]`, it will belong to the day after its start date (e.g. sleep episode #6). - If we process the following `main` sleep episodes: + Only `main` sleep episodes that intersect or contain the period between `[START_TIME]` and `[START_TIME] + [LENGTH]` will be included in the feature computation. If we process the following `main` sleep episodes: | episode |start|end| |-|-|-| |1|2021-02-01 12:00|2021-02-01 15:00| - |2|2021-02-01 21:00|2021-02-02 03:00| - |3|2021-02-02 05:00|2021-02-02 08:00| + |2|2021-02-01 21:00|2021-02-02 03:00|02-01 + |3|2021-02-02 05:00|2021-02-02 08:00|02-01 |4|2021-02-02 11:00|2021-02-02 14:00| - |5|2021-02-02 19:00|2021-02-03 06:00| + |5|2021-02-02 19:00|2021-02-03 06:00|02-02 And our parameters: @@ -217,8 +229,10 @@ Features description for `[FITBIT_STEPS_INTRADAY][PROVIDERS][PRICE]`: - `[INCLUDE_EPISODES_INTERSECTING][LENGTH]` = 720 (tomorrow's 10:00, or 22:00 + 12 hours) Only sleep episodes 2, 3,and 5 would be considered. + + 4. Time related features represent the number of minutes between the start/end/midpoint of sleep episodes and the assigned day's midnight. - 3. All `main` sleep episodes are chunked within the requested [time segments](../../setup/configuration/#time-segments) which need to be at least 24 hours or more long (1, 2, 3, 7 days, etc.). Then, daily features will be extracted and averaged across the length of the time segment, for example: + 5. All `main` sleep episodes are chunked within the requested [time segments](../../setup/configuration/#time-segments) which need to be at least 24 hours or more long (1, 2, 3, 7 days, etc.). Then, daily features will be extracted and averaged across the length of the time segment, for example: The daily features extracted on 2021-02-01 will be: @@ -226,7 +240,7 @@ Features description for `[FITBIT_STEPS_INTRADAY][PROVIDERS][PRICE]`: - endtimeofepisodemain (wake time) is `32 * 60 `(episode 3 end time 2021-02-02 08:00 + 24) - - midpointofepisodemain (midpoint sleep) is `[(32 * 60) - (21 * 60)] / 2` + - midpointofepisodemain (midpoint sleep) is `[(21 * 60) + (32 * 60)] / 2` The daily features extracted on 2021-02-02 will be: @@ -235,7 +249,7 @@ Features description for `[FITBIT_STEPS_INTRADAY][PROVIDERS][PRICE]`: - endtimeofepisodemain (wake time) is `30 * 60 `(episode 5 end time 2021-02-03 06:00 + 24) - - midpointofepisodemain (midpoint sleep) is `[(30 * 60) - (19 * 60)] / 2` + - midpointofepisodemain (midpoint sleep) is `[(19 * 60) + (30 * 60)] / 2` And `avgstarttimeofepisodemain[DAY_TYPE]` will be `([21 * 60] + [19 * 60]) / 2` diff --git a/docs/img/features_fitbit_sleep_intraday.png b/docs/img/features_fitbit_sleep_intraday.png new file mode 100644 index 0000000000000000000000000000000000000000..7af0ac82c2cd13b3a43e9482c9f53757e5160fec GIT binary patch literal 78290 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 @daily_start_time and start_minutes < @daily_end_time) or (end_minutes > @daily_start_time and end_minutes <= @daily_end_time) or (start_minutes <= @daily_start_time and end_minutes >= @daily_end_time)") # Sort main sleep episodes based on fake_date and start_minutes