Database 분석 (4)
오늘은 데이터베이스 프로젝트를 진행했다.
문제는 다음과 같았다.
# 📝 문제 리스트
아래 문제 중 **4개 이상 (필수 1개 + 선택 3개 이상)** 을 선택하여 수행합니다.
## [필수] 1) 고심박(high HR) 위험군 탐지
- 일정 기준(예: heart_rate > 150)을 넘는 순간을 찾아서
- 발생 시각
- 해당 활동
- 발생 빈도를 분석한다.
## 2) 활동(activity)별 평균 생체지표 분석
- 활동별로 heart_rate, step_count, resp_rate, body_temp의 평균을 계산하고 비교한다.
- 어떤 활동이 가장 높은 생체 지표를 보이는지 분석한다.
## 3) 체온 이상치(high fever) 탐지
- body_temp ≥ 38.0°C인 구간을 찾아
- 어떤 활동에서 많이 나타나는지
- 위험 패턴이 존재하는지 분석한다.
## 4) 산소포화도(SpO₂) 저하 위험 탐지
- blood_oxygen < 94% 데이터를 필터링하여
- 발생 시각
- activity를 분석한다.
## 5) 활동별 활동량(step_count) 분석
- 활동별로 step_count 합계와 평균을 구하고
- 가장 활동량이 많은 활동을 찾는다.
## 6) 센서 오류(is_tampered) 데이터 탐지
- is_tampered = 1 이 발생한 횟수를 파악하고
- 오류가 어떤 활동에서 많이 발생하는지 분석한다.
## 7) 시간대별 생체지표 분석
- 시간(HOUR) 기준으로 데이터를 그룹화하여
- 시간대별 평균 heart_rate
- 시간대별 평균 body_temp 패턴을 분석한다.
## 8) 특정 활동(Rest vs Walking 등) 비교 분석
- 두 활동을 선택하여 생체 지표 평균을 비교하고
- 활동의 강도를 해석한다.
## 9) 복합 위험군 탐지
- 두 개 이상의 위험 조건을 동시에 만족하는 구간을 찾아 분석한다.
예: high heart rate + high temperature 조합.
## 10) 이상치 제거 전후 비교
- 센서 오류가 있는 데이터를 제거하기 전/후의 평균 생체 지표를 비교하여
- 이상치 제거의 영향을 분석한다.
프로젝트를 통해 분석이 이루어졌고 기계어를 배운 것을 활용하는 것을 요구했으나 아래와 같은 지식이 필요해야 자료와 조건을 맞춰야 정확하게 분석할 수 있는 것이었다.
심장이 ‘쿵쾅’ 거리는 느낌이 들고, 맥박을 재보니 150 이상 특별한 이유 없이 지속된다면 부정맥이나 심장 질환의 신호
normal heart rate for an adult at rest is usually between 60 and 100 beats per minute
성인의 정상 심장 박동은 일반적으로 분당 60에서 100이다.
https://www.merckmanuals.com/home/heart-and-blood-vessel-disorders/abnormal-heart-rhythms/overview-of-abnormal-heart-rhythms?aiquery=what is normal heart rate
정상 체온은 36.1도에서 37.5도 사이
a fever to be a temperature of 100.4° F (approximately 38° C) or higher when measured rectally.
직장에서 체온을 측정했을 때 열은 섭씨 38도 혹은 그 이상이다.
https://www.merckmanuals.com/home/infections/biology-of-infectious-disease/fever-in-adults?aiquery=what is normal body temperature
95%에서 100% 사이
normal resting oxygen saturation of less than 95% is considered abnormal
산소 포화도가 95% 미만일 경우 비정상이다.
https://www.ncbi.nlm.nih.gov/books/NBK525974/
정상 호흡수는 성인 기준으로 분당 12~20회
During breathing at rest, the average adult inhales and exhales between 12 and 20 times a minute.
휴식 중에 성인의 정상 호흡은 분당 12회에서 20회이다. https://www.merckmanuals.com/home/lung-and-airway-disorders/biology-of-the-lungs-and-airways/control-of-breathing?aiquery=normal breathing frequency
분석한 자료는 생체지표라고 했으나 측정 내용을 따지고 보면 생물 측정[통계]이다. 생체지표는 ‘biomarker’으로 피 혹은 다른 조직에서 측정한 것을 지칭한다.
Biometrics is defined as the process of identifying individuals by detecting and recording their unique physical or behavioral traits using electronic devices, such as fingerprints, iris scans, or voice recognition.
https://www.sciencedirect.com/topics/computer-science/biometrics
Biomarkers are substances that can be measured in blood or other tissues to provide information about a person's health.
https://www.merckmanuals.com/home/aisearchresults?aiquery=what are biomarkers
분석한 것은 가짜 자료인 만큼 수치가 정상과는 거리가 있는 것이 나왔으나 위 조건에 알맞게 수준 있는 프로그래밍 언어를 사용해서 분석하기에는 어려움이 있었다.
--- 발생 빈도 (Frequency) --- 심박수 150 초과 기록 총 횟수: 1179회
| timestamp | heart_rate | blood_oxygen | body_temp | resp_rate | step_count | activity | accel_x | accel_y | accel_z | gyro_x | gyro_y | gyro_z | is_tampered | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2024-04-01 00:00:00 | 163.0 | 90.901136 | 36.312052 | 13.0 | 100 | Cycling | -1.010299 | -0.313778 | -1.237370 | 37.323647 | 156.479698 | -245.792228 | 0 |
| 1 | 2024-04-01 00:00:10 | 60.0 | 97.704815 | 37.721168 | 19.0 | 7 | Resting | 1.485340 | -0.222970 | -0.013984 | -1.063077 | 88.243246 | 165.910361 | 0 |
| 2 | 2024-04-01 00:00:20 | 115.0 | 96.168169 | 37.728760 | 13.0 | 171 | Walking | -1.320600 | -0.910052 | -1.403447 | -240.402469 | 235.152740 | -237.314053 | 0 |
| 3 | 2024-04-01 00:00:30 | 177.0 | 95.986372 | 38.856712 | 22.0 | 95 | Cycling | 1.406346 | -0.850460 | -0.920604 | -206.882084 | 193.516981 | -188.820969 | 0 |
| 4 | 2024-04-01 00:00:40 | 63.0 | 92.925404 | 37.327712 | 19.0 | 161 | Walking | 1.091390 | 0.795830 | -0.069070 | -71.995709 | 238.830512 | 169.334560 | 0 |
댓글
댓글 쓰기