AI-система моніторингу фізичної форми за даними датчиків
Носімі пристрої - Whoop, Oura Ring, Garmin, Apple Watch - безперервно збирають біометричні дані. AI-система перетворює цей потік сирих даних на actionable insights: оцінку готовності до тренування, відновлення та довгострокового прогресу.
Дані з пристроїв, що носяться
Серцево-судинні метрики:
- HR (Heart Rate): спокій, максимальний, зони навантаження
- HRV (Heart Rate Variability): RMSSD, SDNN – ключовий індикатор вегетативної нервової системи
- SpO2 (насичення крові киснем): 95-100% норма
Активність та рух:
- Кроки, калорії, хвилини активності
- Gyroscope + accelerometer: тип руху (ходьба, біг, велосипед)
- GPS трек (на тренуванні)
Сон:
- Стадії: REM, Deep, Light sleep
- Загальна тривалість
- Ефективність сну (час сну / час у ліжку)
- Sleep consistency (регулярність часу сну/підйому)
Температура шкіри:
- Deviation from personal baseline: індикатор хвороби (підвищення), ovulation (жінки)
Recovery Score модель
def calculate_recovery_score(hrv_today, hrv_baseline,
sleep_quality, sleep_duration,
resting_hr, resting_hr_baseline):
"""
Composite recovery score: 0-100
"""
# HRV score: нормализованное отклонение от персонального baseline
hrv_score = min(1.0, hrv_today / hrv_baseline)
# Sleep score: качество и продолжительность
sleep_score = (sleep_quality * 0.5 + min(1.0, sleep_duration / 8.0) * 0.5)
# HR score: тахикардия покоя = снижение восстановления
hr_score = max(0, 1.0 - (resting_hr - resting_hr_baseline) / resting_hr_baseline)
# Взвешенный composite
recovery = hrv_score * 0.5 + sleep_score * 0.35 + hr_score * 0.15
return recovery * 100
Система Whoop використовує схожу методологію. Recovery < 33% = червоний (легка активність), 34-66% = жовтий (помірна), 67% + = зелений (інтенсивне тренування).
Персональний фізіологічний базис
Індивідуальний базовий рівень проти норм для населення: Ключовий принцип - порівняння з власним базисом, не з "нормою" щодо популяції:
class PersonalBaseline:
def __init__(self, lookback_days=30, percentile=50):
self.lookback = lookback_days
self.percentile = percentile
def fit(self, history):
self.hrv_baseline = np.percentile(history['hrv'], self.percentile)
self.hr_baseline = np.percentile(history['resting_hr'], self.percentile)
self.sleep_baseline = np.percentile(history['sleep_hours'], self.percentile)
return self
def deviation(self, today):
return {
'hrv_dev': (today['hrv'] - self.hrv_baseline) / self.hrv_baseline,
'hr_dev': (today['resting_hr'] - self.hr_baseline) / self.hr_baseline,
'sleep_dev': (today['sleep_hours'] - self.sleep_baseline) / self.sleep_baseline
}
Прогноз спортивних результатів
Fitness-Fatigue модель (Banister):
Performance(t) = Fitness(t) - Fatigue(t)
Fitness(t) = Σ TSS(i) × exp(-(t-i)/τ_fitness), τ=45 дней
Fatigue(t) = Σ TSS(i) × exp(-(t-i)/τ_fatigue), τ=15 дней
ML-покращення: τ_fitness і τ_fatigue — персональні параметри, що оцінюються з даних за допомогою нелінійної оптимізації (scipy.optimize) з історії тренувань та результатів тестів.
Час пікової продуктивності: За наявності змагання плануємо tapering (зниження навантаження) так, щоб fatigue знизилася, а fitness збереглася. Модель підбирає оптимальний schedule.
Раннє виявлення захворювань
Прогноз лікарняного:
def illness_risk_score(temp_deviation, hrv_drop, hr_elevation, symptom_report):
"""
Повышение температуры кожи + падение HRV + тахикардия покоя
= ранний признак инфекционного заболевания
"""
if temp_deviation > 0.5 and hrv_drop < -0.2 and hr_elevation > 5:
return 0.8 # высокий риск
return 0.1
Дослідження (Garmin/Stanford COVID study, 2020) показують: виявляли COVID за 0-2 дні до появи симптомів у 63% учасників через зміну HRV і RHR.
Довгостроковий прогрес
Оцінка VO2max:
- З даних HR та швидкості при бігу: Firstbeat-методологія
- Валідність: ±3-5 мл/(кг·хв) vs. лабораторний тест
Прогресія тренувального навантаження: Візуалізація динаміки тренувального навантаження на 12-52 тижні. Періодизація: чи видно планові фази накопичення та розвантаження?
Відстеження адаптації: При однаковому навантаженні зниження HR = адаптація (зростання fitnes). Тренд resting HR та HRV за сезон – об'єктивний маркер фізіологічного прогресу.
Інтеграція та API
API пристроїв:
- API здоров'я Garmin, API Garmin Connect
- API розробника Whoop
- Apple HealthKit (iOS)
- Google Health Connect (Android)
- API Polar, API Suunto
Платформи агрегації: Terra API, Wearipedia – уніфікований доступ до даних різних пристроїв.
Персональний дашборд: веб + мобільний додаток. Щоденні рекомендації, weekly summary, довгострокові тренди.
Терміни: інтеграція з 2-3 device API + recovery score + дашборд - 6-8 тижнів. Personalized fitness-fatigue модель + illness detection + trend analytics - 3-4 місяці.







