Описан алгоритм, занявший второе место на соревновании
CardioQvark. Подробное описание - см. в отчёте https://alexanderdyakonov.wordpress.com/2016/04/03/%D0%B4%D0%B5%D1%82%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D1%83%D1%80%D0%B8%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0/
код - https://github.com/Dyakonov/cardioqvark
2. Соревнование CardioQVARK 2 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Соревнование CardioQvark
ППееррввыыйй ээттаапп ––2255..1122..22001155--0011..0033..22001166
РРааззррааббооттааттьь ааллггооррииттмм ооппррееддееллеенниияя ккуурряящщееггоо ччееллооввееккаа
ппоо ееггоо ккааррддииооггррааммммее
Обучающая выборка –– 110000 ккааррддииооггрраамммм ((5500++5500))
Контрольная выборка –– 225500 ккааррддииооггрраамммм ((6644++118866))
ещё:
ппррииззннааккии
ффииллььттрроовваанннныыее ккааррддииооггррааммммыы
3. Соревнование CardioQVARK 3 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Функционал качества
итоговая оценка решения –– ссууммммаа ммеесстт ппоо
ччууввссттввииттееллььннооссттии ((SSee))
ссппееццииффииччннооссттии ((SSpp)) 1110
0100
1
0
10
xxa
xxa
yy
0111
11Se
xx
x
1000
00Sp
xx
x
,
4. Соревнование CardioQVARK 4 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Бенчмарк – случайное решение
10 20 30 40 50 60 70 80 90 100
0.4
0.45
0.5
0.55
0.6
номер решения
(Se+Sp)/2
5. Соревнование CardioQVARK 5 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Бенчмарк – случайное решение
6. Соревнование CardioQVARK 6 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Критика функционала
ООдднноо рреешшееннииее яяввнноо ллууччшшее......
нноо ооннии ннаа ррааввнныыхх ммеессттаахх
ППоояяввлляяееттссяя ссооввссеемм ппллооххооее
рреешшееннииее,, нноо ттееппееррьь ххоорроошшееее ннаа
ввттоорроомм ммеессттее!!
П.С. ТТаакк вв ииттооггее ии ппооллууччииллооссьь...... ллууччшшееее рреешшееннииее ппоо ооццееннккее
ооррггааннииззааттоорроовв ххуужжее ппоо FF--ммееррее ии ррааззнныымм ууссррееддннеенниияямм SSee ии SSpp
7. Соревнование CardioQVARK 7 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Восстановление confusion matrix
1110
0100
1
0
10
xxa
xxa
yy
ччууввссттввииттееллььннооссттьь ии ссппееццииффииччннооссттьь::
0111
11
xx
x
,
1000
00
xx
x
,
ММыы ззннааеемм ччииссллоо ннууллеейй вв ннаашшеемм рреешшееннииии::
01000 xxa ,
аа ттааккжжее ччииссллоо ееддиинниицц
11101 xxa .
ИИммеееемм ччееттыыррее ууррааввннеенниияя ии ччееттыыррее ннееииззввеессттнныыхх::
1000
1101
11110
01110
1
1
1
1
xx
xx
axx
axx
8. Соревнование CardioQVARK 8 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Восстановление confusion matrix
ччууввссттввииттееллььннооссттьь ии ссппееццииффииччннооссттьь ддаанныы сс ооккррууггллееннииеемм
((ппооээттооммуу ммоожжеетт ббыыттьь оошшииббккаа ±±11))
ММоожжнноо ууззннааттьь FF11--ммеерруу рреешшеенниийй
ММоожжнноо ууззннааттьь ччииссллоо ккууррииллььщщииккоовв ннаа ккооннттррооллее
10. Соревнование CardioQVARK 10 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Реализация
MMaattllaabb 22001122bb
PPyytthhoonn 33..55..00 ((AAnnaaccoonnddaa 22..44..00 6644--bbiitt))
11. Соревнование CardioQVARK 11 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Загрузка данных
файл _Обучающая выборка_.txt файл traininfo.txt
| ФИО | пол | возраст |
1.1. Обучающая выборка (50 человек). Курящие.
BRA | М | 37 |
CZA | Ж | 31 |
KNN | М | 52 |
PPV | М | 32 |
SAE | М | 47 |
ZLS | Ж | 27 |
АТА | Ж | 46 |
...
BRA, 1, 37, 1
CZA, 0, 31, 1
KNN, 1, 52, 1
KVA, 1, 32, 0
PPV, 1, 32, 1
SAE, 1, 47, 1
ZLS, 0, 27, 1
АТА, 0, 46, 1
АШМ, 1, 22, 1
БАС, 1, 27, 0
БВА, 1, 44, 1
БДИ, 1, 33, 0
...
ннее ббыыллоо ппррооббллеемм сс ппууттааннииццеейй вв ииммееннаахх ффааййллоовв
((ллааттииннссккооее//ррууссссккооее ««CC»»))
12. Соревнование CardioQVARK 12 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Визуализация загруженных сигналов
1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
x 10
4
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
время
уровеньсигнала
сигнал 8
сигнал 41
сигнал 1
13. Соревнование CardioQVARK 13 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Сигналы после использования фильтра низких частот
1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
x 10
4
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
время
уровеньсигнала
сигнал 8 после ФНЧ
сигнал 41 после ФНЧ
сигнал 1 после ФНЧ
% фильтр низких частот
function corrected = cardio_removelowerfrequencies(ecg, samplingrate)
fresult=fft(ecg);
fresult(1 : round(length(fresult)*5/samplingrate))=0;
fresult(end - round(length(fresult)*5/samplingrate)+1 : end)=0;
corrected=real(ifft(fresult));
14. Соревнование CardioQVARK 14 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Сигналы после использования фильтров низких и высоких частот
1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
x 10
4
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
время
уровеньсигнала
сигнал 8 после ФНЧ+ФВЧ
сигнал 41 после ФНЧ+ФВЧ
сигнал 1 после ФНЧ+ФВЧ
15. Соревнование CardioQVARK 15 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Что такое кардиограмма
16. Соревнование CardioQVARK 16 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Разведочный анализ данных
УУ ннаасс ппееррееввёёррннууттыыее ккааррддииооггррааммммыы
ГГллааввнныыее ввооллнныы,,
ппррееддооссттааввллеенннныыее ооррггааннииззааттооррааммии ккооннккууррссаа
17. Соревнование CardioQVARK 17 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Разведочный анализ данных
2 3 4 5 6 7 8
x 10
4
-0.02
0
0.02
0.04
0.06
0.08
0.1
время
уровеньсигнала
сигнал 50
сигнал после ФВЧ+ФНЧ
РРееззккооее ииззммееннееннииее ааммппллииттуудд
18. Соревнование CardioQVARK 18 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Разведочный анализ данных
2 3 4 5 6 7
x 10
4
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
время
уровеньсигнала
сигнал 42
сигнал после ФВЧ+ФНЧ
ССттррааннннооее ппооввееддееннииее ффииллььттррааццииии
19. Соревнование CardioQVARK 19 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Разведочный анализ данных
4.8 4.9 5 5.1 5.2 5.3
x 10
4
-0.1
-0.05
0
0.05
0.1
0.15
0.2
время
уровеньсигнала
сигнал 42
сигнал после ФВЧ+ФНЧ
ЕЕссллии ууввееллииччииттьь......
ээттоо ннее ооччеенньь ппооххоожжее ннаа ккааррддииооггррааммммуу......
20. Соревнование CardioQVARK 20 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Выделение кардиоциклов
1.45 1.46 1.47 1.48 1.49 1.5 1.51
x 10
5
-0.02
0
0.02
0.04
0.06
0.08
время
уровеньсигнала
сигнал
начала циклов (версия организаторов)
J-максимумы (вычислены автором)
ККооннццыы ооттррееззккоовв ооттддееллььнныыхх ккааррддииооццииккллоовв
ССттууддееннттыы ААММАА ииссппооллььззооввааллии ммааккссииммууммыы ооррггааннииззааттоорроовв......
ММннооггииее ббииббллииооттееккии ззддеессьь ннее ррааббооттааллии......
21. Соревнование CardioQVARK 21 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Выделение кардиоциклов
ИИддееяя ааллггооррииттммаа::
ГГллооббааллььнныыйй MMAAXX вв ооккрреессттннооссттии
РРяяддоомм еессттьь ооттррииццааттееллььнныыее ззннааччеенниияя
1.45 1.46 1.47 1.48 1.49 1.5 1.51
x 10
5
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
время
уровеньсигнала
сигнал
начала циклов (версия организаторов)
J-максимумы (вычислены автором)
ККооннццыы ооттррееззккоовв ккааррддииооццииккллоовв ннаа исходном ссииггннааллее
22. Соревнование CardioQVARK 22 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Выделение кардиоциклов
6 7 8 9 10 11 12
x 10
4
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
время
уровеньсигнала
сигнал
J-максимумы (вычислены автором)
ККооннццыы ооттррееззккоовв ооттддееллььнныыхх ккааррддииооццииккллоовв ннаа ппееррввоомм ссииггннааллее
ССааммооддееллььнныыйй ммееттоодд ааддееккввааттнноо ррааббооттааеетт......
23. Соревнование CardioQVARK 23 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Априорная оценка признаков
ДДлляя ппррииззннааккаа ),,( 1 mfff
)min()max(
)min(
,,
)min()max(
)min(1
ff
ff
ff
ff
f m
N
ЕЕссллии m
Nf ]1,0[ ввыыддааввааттьь вв ккааччеессттввее ооттввееттаа,,
ттоо ллооггииччнноо ккааччеессттввоо ппррииззннааккаа ооппррееддееллииттьь ккаакк
5.0|5.0),AUCROC(|)],AUCROC(1),,(max[AUCROC yfyfyf NNN
Апостериорная оценка признаков
ННаа ллооккааллььнноомм ккооннттррооллее –– ппррии ууддааллееннииии ппррииззннааккаа
24. Соревнование CardioQVARK 24 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Признаки по В.М. Успенскому и К.В. Воронцову
ССииггннаалл ккооддииррууееттссяя ссллооввоомм,, n--яя ббуукквваа –– ззааввииссиитт оотт ззннааккоовв ввыырраажжеенниийй
nnnnnn TTRR 111 ,, ..
25. Соревнование CardioQVARK 25 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Признаки по В.М. Успенскому и К.В. Воронцову
ВВссееггоо ввооззммоожжнныы 66 ((ннее 88)) ввааррииааннттоовв ззннааккоовв..
ВВыыччиисслляяееттссяя ччаассттооттаа ввссеехх ттррииггрраамммм ссллоовваа (( 21663
ттррииггрраамммм))..
ЕЕссллии ииссппооллььззооввааттьь ччаассттооттыы ббуукквв,, ббииггрраамммм ии ттррииггрраамммм::
258666 23
ппррииззннааккоовв..
26. Соревнование CardioQVARK 26 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Признаки по В.М. Успенскому и К.В. Воронцову
0 50 100 150 200 250
0.5
0.52
0.54
0.56
0.58
0.6
0.62
0.64
0.66
номер признака
AUC-ROC-качество
признаки Успенского
случайные признаки
ККааччеессттввоо ппррииззннааккоовв
ППооддххоодд ппррооввааллииллссяя......
27. Соревнование CardioQVARK 27 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Признаки, основанные на разложении Фурье
ППооссттррооееннииее ссппееккттррооггррааммммыы
РРааззббииввааеемм ннаа ннееппеерреессееккааюющщииеессяя ууччаассттккии
ДДлляя ккаажжддооггоо –– ДДППФФ
|||| ijhH ррааззммеерраа k513 ((ааббссооллююттнныыее ззннааччеенниияя ккооээффффииццииееннттоовв))
ППоо ээттоойй ммааттррииццее ссттррооииттссяя 551133--ммееррнныыйй ввееккттоорр ппррииззннааккоовв
),,,( 5131 ff
1
1
1, |)/log(|
1
1 k
j
ijjii hh
k
f .
28. Соревнование CardioQVARK 28 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Признаки, основанные на разложении Фурье
ММоожжнноо ррааззнныыее ффууннккццииии::
k
j
iji h
k
f
1
1
((ууссррееддннеенниияя ДДППФФ))
ААппррииооррннооее ккааччеессттввоо ттааккиихх ппррииззннааккоовв
ННоо:: ннаа ппееррввыыхх ппррииззннааккаахх ммааккссииммааллььннооее ппееррееооббууччееннииее!!
29. Соревнование CardioQVARK 29 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Признаки, основанные на разложении Фурье
1
1
1, |)/log(|
1
1 k
j
ijjii hh
k
f
((ииззммееннееннииее))
0 50 100 150 200 250 300 350 400 450 500
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
номер признака
значениепризнака
курящий
курящий
некурящий
некурящий
ЗЗннааччеенниияя ппррииззннааккоовв,,
ппооссттррооеенннныыхх ппоо ссппееккттррооггррааммммаамм ддлляя 44хх ссииггннааллоовв..
30. Соревнование CardioQVARK 30 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Признаки, основанные на сингулярном разложении
11.. ФФииллььттрраацциияя ((ФФННЧЧ++ФФВВЧЧ))
22.. ННааххоожжддееннииее J --ммааккссииммууммоовв
33.. ВВыыддееллееннииее ннееппррееррыыввнныыхх ууччаассттккоовв ссииггннааллаа
),,,( 9991 iii xxx ,, Ji ..
44.. ФФооррммииррооввааннииее ммааттррииццыы X ррааззммеерраа k1000 ,, ггддее k –– ччииссллоо
ввыыддееллеенннныыхх ооттррееззккоовв,, вв ссттооллббццаахх ккооттоорроойй ззааппииссаанныы ввееккттооррыы
т
9991 ),,,( iii xxx ..
55.. ВВыыппооллннееннииее ссииннггуулляяррннооггоо ррааззллоожжеенниияя ппооллууччеенннноойй ммааттррииццыы..
ВВыыччиисслляяеемм ттооллььккоо ппееррввыыее 33 ккооммппооннееннттыы ррааззллоожжеенниияя::
kVLUX 33331000 ..
35. Соревнование CardioQVARK 35 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Статистические признаки
11.. ФФииллььттрраацциияя ((ФФННЧЧ//ФФВВЧЧ//сглаживание))
22.. ППррииззннааккии::
11)) ссррееддннееее ззннааччееннииее ссииггннааллаа
n
xxx n
21mean
22)) ссттааннддааррттннооее ооттккллооннееннииее
n
i
n
i
n
xxx
x
n 1
2
21
1
1
std
33)) ддоолляя ппеерреессееччеенниийй сс ууррооввннеемм a ((ддлляя 0a ,, meana ,, stdmeana ))
1
|}0)()(|}1,,2,1{{| 1
n
axaxni ii
44)) ррааззннооссттьь ддооллеейй ппеерреессееччеенниийй сс ууррооввннеемм stdmeana ии stdmeana
36. Соревнование CardioQVARK 36 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Статистические признаки
ВВыыччиисслляяююттссяя ддлляя::
ссииггннааллаа ),,,( 21 nxxx
ммооддуулляя |)|,|,||,(| 21 nxxx
ппррооииззввоодднноойй ),,( 112 nn xxxx
ммооддуулляя ппррооииззввоодднноойй |)|,|,(| 112 nn xxxx
ии тт..дд..
5 10 15 20 25 30
0.5
0.55
0.6
0.65
номер признака
априорноекачествопризнака
сигнал
ФНЧ
ФВЧ
ФНЧ+ФВЧ
ФНЧ+сглаживание
37. Соревнование CardioQVARK 37 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Классификация сигналов
РРееггрреессссиияя
ББииннааррииззаацциияя –– ссррааввннееннииеемм сс ппооррооггоомм
Зачем нужно решающее правило
ММааккссииммииззаацциияя ккааччеессттвваа
ДДввиижжееннииее ппоо ллииддееррббооррддуу
38. Соревнование CardioQVARK 38 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Классификация сигналов
ррееггрреессссооррыы::
sklearn.ensemble.RandomForestRegressor ((ссллууччааййнныыйй ллеесс)),,
sklearn.linear_model.SGDRegressor ((ллииннееййннааяя ммооддеелльь ++
ссттооххаассттииччеессккиийй ггррааддииееннттнныыйй ссппуусскк))
sklearn.ensemble.ExtraTreesRegressor ((""ээккссттррееммааллььнноо ссллууччааййнныыее
ддееррееввььяя""))
sklearn.linear_model.LogisticRegression ((ллооггииссттииччеессккааяя ррееггрреессссиияя))
sklearn.linear_model.Ridge ((ггррееббннееввааяя ррееггрреессссиияя))
40. Соревнование CardioQVARK 40 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Классификация сигналов
(*1) (*2) (*3)
(*4) (*5) (*6)
41. Соревнование CardioQVARK 41 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Финальное решение
ЕЕщщёё ссееллееккцциияя ((!!))
sklearn.ensemble.GradientBoostingRegressor
nn__eessttiimmaattoorrss==11000000,,
lleeaarrnniinngg__rraattee==00..0011,,
mmaaxx__ddeepptthh==22,,
rraannddoomm__ssttaattee==110000,,
lloossss==''llss''
ППоорроогг ббииннааррииззааццииии == 00..888822
ООссооббееннннооссттьь:: ннеетт ссккррыыттоойй ((pprriivvaattee)) ттууррннииррнноойй ттааббллииццыы
43. Соревнование CardioQVARK 43 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
Результаты
1 2 3 4 5 6 7 8 9 10
0.4
0.45
0.5
0.55
0.6
0.65
0.7
номер участника в итоговой таблице
качество,%
(Se+Sp)/2
FF-мера
F1
-мера
45. Соревнование CardioQVARK 45 слайд из 45 Александр Дьяконов (Москва, МГУ)
Определение курильщика по кардиограмме 28 марта 2016 года
ПП..СС.. ВВееддииттее ззддооррооввыыйй ооббрраазз жжииззннии......