Тремор больше, чем кожа глубокая

Понимание Единой шкалы оценки болезни Паркинсона (UPDRS)

Унифицированная шкала оценки болезни Паркинсона (UPDRS) была первоначально разработана в 1980-х годах и стала наиболее широко используемой клинической шкалой оценки болезни Паркинсона. Почти во всех случаях для клинических испытаний, оценивающих новые методы лечения болезни Паркинсона, UPDRS была шкалой, используемой для определения того, какие преимущества могут предложить определенные методы лечения.

Цель UPDRS состояла в том, чтобы предоставить всеобъемлющую, практичную и простую в применении шкалу, которую можно было бы использовать для всех пациентов, независимо от тяжести состояния, лечения или возраста.

Источник: sciencedirect.com

Соревнование

Этот набор данных состоит из ряда биомедицинских измерений голоса 42 человек с болезнью Паркинсона на ранней стадии, набранных для шестимесячного испытания устройства телемониторинга для дистанционного мониторинга прогрессирования симптомов. Записи автоматически записывались в домах пациентов.

Особенности в таблице включают номер субъекта, возраст субъекта, пол субъекта, общий балл UPDRS и 16 биомедицинских показателей голоса, а также несколько других вещей. Между 42 участниками было записано 5875 голосовых записей. Моя главная цель состояла в том, чтобы предсказать баллы UPDRS на основе 16 показателей голоса.

Информация об атрибутах:

  • total_UPDRS — общая оценка врача по шкале UPDRS
  • Джиттер (%), джиттер (Abs), джиттер: RAP, джиттер: PPQ5 и джиттер: DDP — несколько показателей изменения основной частоты.
  • Мерцание, мерцание (дБ), мерцание: APQ3, мерцание: APQ5, мерцание: APQ11 и мерцание: DDA — несколько показателей изменения амплитуды (объема)
  • NHR и HNR — две меры отношения шума к тональным компонентам голоса.
  • RPDE — нелинейная мера динамической сложности
  • DFA — экспонента масштабирования фрактала сигнала (подсказка: запомните это)
  • PPE — нелинейная мера изменения основной частоты

Источник данных: archive.ics.uci.edu

Метод и результаты

Используя total_UPDRS в качестве цели, с 16 голосовыми измерениями в качестве характеристик, я выполнил разделение поезда/оценки/теста, чтобы избежать утечки данных.

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=1)
X_train, X_val, y_train, y_val = train_test_split(
    X_train, y_train, test_size=0.2, random_state=1)

Линейная регрессия

Моим первым тестом была регрессия. Это оказалось не намного больше, чем базовый уровень.

from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
# Make pipeline
pipeline = make_pipeline (
    StandardScaler(),
    LinearRegression()
)
# Fit on train, score on val
pipeline.fit(X_train, y_train)
print (‘Validation Accuracy’, pipeline.score(X_val, y_val))

Модель имела точность 9,6% при повторном тестировании проверочных данных. Конечно, я мог бы сделать лучше.

Случайный лес

Использование регрессии случайного леса оказалось гораздо лучшим вариантом.

from sklearn.ensemble import RandomForestRegressor
# Make pipeline
pipeline = make_pipeline(
    StandardScaler(),
    RandomForestRegressor(n_estimators=100, max_depth=20,
                          random_state=42)
)
# Fit on train, score on val
pipeline.fit(X_train, y_train)
print(‘Validation Accuracy’, pipeline.score(X_val, y_val))

Использование этой модели дало мне точность проверки 33,3%, так что было значительное улучшение.

Подразумеваемое

Понимание того, какие меры были наиболее прогностическими

В отличие от того, что мы ожидали, оказалось, что мерцание и дрожание были гораздо менее предсказуемы, чем другие 5 показателей.

Конечно, если бы врачи использовали голосовые измерения для более точного понимания тяжести болезни Паркинсона, DFA и HNR должны были бы стоять на первом месте в их списке приоритетов.