Human Activity Recognition from Continuous Ambient Sensor Data
Donated on 9/19/2019
This dataset represents ambient data collected in homes with volunteer residents. Data are collected continuously while residents perform their normal routines.
Dataset Characteristics
Multivariate, Sequential, Time-Series
Subject Area
Other
Associated Tasks
Classification
Feature Type
Integer, Real
# Instances
13956534
# Features
-
Dataset Information
Additional Information
4. Relevant Information -- Data Set Characteristics: Multivariate, Sequential, Time-Series -- This dataset represents ambient data collected in homes with volunteer residents. Data are collected continuously while residents perform their normal routines. Ambient PIR motion sensors, door/temperature sensors, and light switch sensors are placed throughout the home of the volunteer. The sensors are placed in locations throughout the home that are related to specific activites of daily living that we wish to capture. -- The classification task is to predict the activity that is occurring in the smart home and being observed by the ambient sensors. The sensors communicate using the ZigBee Pro protocol, forming a mesh network with all battery powered sensors as leaf nodes and always-on devices (light switches and ZigBee relays) forming the branches that connect back to the USB gateway on our local SHiB [2] server. -- The original format captured from the sensors is provided, as well as the feature vector we generate using a sliding window of 30 sensor events. Each annotated data file (ex: csh101/csh101.ann.txt) has a corresponding feature vector CSV file (ex: csh101/csh101.ann.features.csv). Most of the sensor data files contain labels for two months of the collection period, though some contain labels for extended time periods. -- We have also included the entire dataset collected at each smart home in the original format (ex: csh101/csh101.rawdata.txt) and the generated feature vector CSV file (ex: csh101/csh101.rawdata.features.csv). -- An analysis of the attributes for each features CSV file is found in the corresponding readme (ex: csh101/csh101.ann.features.csv is described by csh101/csh101.ann.features.README.txt). -- The smart home layout, and sensor placement from the original formats is found in the included sensor map for each smart home (ex: csh101/csh101.sensor_map.png). -- The original format is: <Date> <Time> <Sensor> <Translate01> <Translate02> <Message> <SensorType> <Activity> -- <Date> is YYYY-MM-DD, in local time. -- <Time> is HH:MM:SS.ms, 24-hour and in local time. -- <Sensor> is the name of the sensor, this can be found on the sensor map. -- <Translate01> is the room-level sensor location. -- <Translate02> is more detailed, usually identifying what in the room the sensor is aimed at or sensing. -- <Message> is the message generated by the sensor (we define these in more detail below). -- <SensorType> is the type of sensor generating the event, so you know what to expect for a message. In these earlier smart homes many of the sensors could be identified by their name, but in later configurations you had to use this field to identify what sensor was sending the message. -- Motion Sensor Package Each motion sensor package contains a PIR motion detector and a resistive photocell light sensor. The package also reports it's battery level and regularly checks in with the sensor network (ZigBee Check-Ins). -- Control4-Motion and Control4-MotionArea Most motion sensors have a sticker in the lens that limits what it can see to approximately a 3-foot diameter circle when mounted on the ceiling facing down. Some motion sensors that do not have any sticker limiting their view are called Control4-MotionArea and can detect motion within view, though sensitivity to smaller body movements may be reduced beyond 20 feet. -- Message Values Motion and MotionArea sensors always report ON or OFF. -- Frequency The sensor will instantly send an ON message when detecting motion. 1.25 seconds after it no longer observes motion the sensor will send OFF. -- Control4-LightSensor -- Message Values The light sensor will send integer values ranging from 0 to 100 (pitch black to very bright). The Motion sensors with stickers in the lens have a much more limited amount of light that hits the sensor, and may only observe a range from 0 to 10, with a rare spike to a much higher value when the lid is removed to replace a battery. -- Frequency The current light level is bit-packed and sent with every message the package sends on ZigBee, but the light sensor itself can initiate a ZigBee message if the value changes by 15% from the last value it reported. -- Control4-BatteryPercent -- Message Values The battery percent is always an integer ranging from 0 to 100. -- Frequency The battery levels are only allowed to report once every 6 hours, but only report when there is a change. This means that some battery values may not be updated for days as the level has not changed. -- Control4-Radio These sensor messages were enabled when we upgraded our data collection systems around 2014. -- Message Values The ZigBee radio check-in always has the same message, OK. -- Frequency The ZigBee radio checks in with the network about once every 30 minutes. A sudden lack of radio check-ins may indicate this sensor's battery has died or there is some interference disrupting communication on the ZigBee network. -- Door Sensor Package -- Control4-Door -- Message Values The door sensor always report OPEN or CLOSE. -- Frequency The sensor sends the message as soon as the magnetic reed switch changes. -- Control4-Temperature All door sensor packages have an internal temporature sensor, and the ability to attach a second temperature probe. This was used in some of the bathrooms for measuring the temperature at the door and right next to the shower. -- Message Values Messages are a decimal in Celsius with 0.5 degrees Celsius accuracy. -- Frequency Messages are sent when the sensor detects a change in the measured temperature by 0.5 Celsius. -- Control4-BatteryPercent -- Message Values The battery percent is always an integer ranging from 0 to 100. -- Frequency The battery levels are only allowed to report once every 6 hours, but only report when there is a change. This means that some battery values may not be updated for days as the level has not changed. -- Control4-Radio -- Message Values The ZigBee radio check-in always has the same message, OK. -- Frequency The ZigBee radio checks in with the network about once every 30 minutes. A sudden lack of radio check-ins may indicate this sensor's battery has died or there is some interference disrupting communication on the ZigBee network. -- Light Switch Package -- Control4-Light -- Message Values Light switch messages are integer values ranging from 0 to 100. Some of the lights are dimmers, they report the change in value from 0 to 100 as they ramp up their brightness. The switches simply report 0 or 100 when they turn off or on. -- Frequency The light switches only report light messages when the value changes. -- Control4-Button With the data collection upgrade in 2014 we were able to start collecting sensor events from residents interacting with the light switches. -- Message Values The buttons have a variety of messages they send. TAP is sent every time the button is pressed. When the button is doing being tapped, the button will send TAP_COUNT_01 if the button was tapped once (we have observed tap counts as high as 12, but do not know the limit of the device). On the dimmer light switches there are also the DEPRESS and RELEASE messages that are sent then the button is held down to slowly dim the light up or down. -- Frequency Messages are only sent with a participant interacts with the button. -- Control4-Radio -- Message Values The ZigBee radio check-in always has the same message, OK. -- Frequency The ZigBee radio checks in with the network about once every 15 minutes. A sudden lack of radio check-ins may indicate this sensor's battery has died or there is some interference disrupting communication on the ZigBee network.
Has Missing Values?
Yes
Variables Table
Variable Name | Role | Type | Description | Units | Missing Values |
---|---|---|---|---|---|
no | |||||
no | |||||
no | |||||
no | |||||
no | |||||
no | |||||
no | |||||
no | |||||
no | |||||
no |
0 to 10 of 37
Additional Variable Information
This has a full breakdown for each file in the zip. 7. For Each Attribute: -------------------------------------------------------------------------------- lastSensorEventHours (integer) Hour of the day, in local time. -------------------------------------------------------------------------------- lastSensorEventSeconds (decimal) Seconds since midnight, in local time. -------------------------------------------------------------------------------- lastSensorDayOfWeek (symbolic-valued integer) Integer day of the week, in local time. -------------------------------------------------------------------------------- windowDuration (decimal) Time duration of the 30 event sliding window in seconds. -------------------------------------------------------------------------------- timeSinceLastSensorEvent (decimal) Seconds since the last sensor event. -------------------------------------------------------------------------------- prevDominantSensor1 (symbolic-valued integer) Dominant sensor ID from the previous window. -------------------------------------------------------------------------------- prevDominantSensor2 (symbolic-valued integer) Dominant sensor ID from the second previous window. -------------------------------------------------------------------------------- lastSensorID (symbolic-valued integer) Last sensor ID in the window. -------------------------------------------------------------------------------- lastSensorLocation (symbolic-valued integer) Last sensor location ID in the window. -------------------------------------------------------------------------------- lastMotionLocation (symbolic-valued integer) Last motion sensor location ID in the window, can be -1 if none within the sliding window. -------------------------------------------------------------------------------- complexity (decimal) Complexity or measure of entropy in sensor counts. -------------------------------------------------------------------------------- activityChange (decimal) Change in activity levels between 2 halves of the sliding window, bisected temporally. -------------------------------------------------------------------------------- areaTransitions (integer) Number of transitions between major sensor locations in the window. -------------------------------------------------------------------------------- numDistinctSensors (integer) Number of distinct sensors in the window, this is currently set to always 0. -------------------------------------------------------------------------------- sensorCount-Bathroom (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-Bedroom (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-Chair (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-DiningRoom (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-Hall (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-Ignore (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-Kitchen (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-LivingRoom (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-Office (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-OutsideDoor (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorCount-WorkArea (decimal) The weighted count of this sensor, starting at 1.0 for the most recent event each sensor event previous is worth n-0.01 the current event. -------------------------------------------------------------------------------- sensorElTime-Bathroom (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-Bedroom (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-Chair (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-DiningRoom (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-Hall (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-Ignore (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-Kitchen (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-LivingRoom (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-Office (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-OutsideDoor (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- sensorElTime-WorkArea (decimal) The number of seconds since this sensor was last seen, up to a maximum of 86400. -------------------------------------------------------------------------------- activity (class label) The annotated activity that is currently being observed.
Dataset Files
File | Size |
---|---|
csh121/csh121.rawdata.features.csv | 5.1 GB |
csh109/csh109.rawdata.features.csv | 4 GB |
csh128/csh128.rawdata.features.csv | 3.6 GB |
csh111/csh111.rawdata.features.csv | 3.4 GB |
csh108/csh108.rawdata.features.csv | 3.1 GB |
0 to 5 of 211
Reviews
There are no reviews for this dataset yet.
pip install ucimlrepo
from ucimlrepo import fetch_ucirepo # fetch dataset human_activity_recognition_from_continuous_ambient_sensor_data = fetch_ucirepo(id=506) # data (as pandas dataframes) X = human_activity_recognition_from_continuous_ambient_sensor_data.data.features y = human_activity_recognition_from_continuous_ambient_sensor_data.data.targets # metadata print(human_activity_recognition_from_continuous_ambient_sensor_data.metadata) # variable information print(human_activity_recognition_from_continuous_ambient_sensor_data.variables)
Cook, D., Crandall, A., & Thomas, B. (2012). Human Activity Recognition from Continuous Ambient Sensor Data [Dataset]. UCI Machine Learning Repository. https://doi.org/10.24432/C5D60P.
Creators
Diane Cook
Aaron Crandall
Brian Thomas
DOI
License
This dataset is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license.
This allows for the sharing and adaptation of the datasets for any purpose, provided that the appropriate credit is given.