Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите описать вклад факторов в исход
Форум врачей-аспирантов > Разделы форума > Медицинская статистика
annica12
Здравствуйте, коллеги. Очень прошу вашей профессиональной помощи. имеются 3 фактора, значимо различающиеся между группами с исходом 1 и 0. Построена нейронная сеть, дискриминантная модель, которые на основании этих факторов предсказывают исход с точностью 87-94%. Задача в формировании наглядного практического руководства к действию, если это возможно. Связать вместе эти три кофактора - напрямую друг от друга не зависят, разложить их, по осям например, и определить зоны риска, цветом (как плоскости или тернарные графики), чтобы отложив по осям имеющиеся значения каждого из факторов точка соединения показывала бы вероятность развития исходов 1 и 0 и было видно как изменить показатели, чтобы улучшить исход. Спасибо заранее.
p2004r
Цитата(annica12 @ 5.02.2014 - 21:10) *
Здравствуйте, коллеги. Очень прошу вашей профессиональной помощи. имеются 3 фактора, значимо различающиеся между группами с исходом 1 и 0. Построена нейронная сеть, дискриминантная модель, которые на основании этих факторов предсказывают исход с точностью 87-94%.


а кроссвалидация данной модели что показывает?
annica12
это точности после кроссвалидации, более того в этих пределах обе модели работают на данных двух независимых центров - источников аналогичных данных.
данные факторы отобраны как значимые.
nokh
Цитата(annica12 @ 6.02.2014 - 00:10) *
...Задача в формировании наглядного практического руководства к действию, если это возможно. Связать вместе эти три кофактора - напрямую друг от друга не зависят, разложить их, по осям например, и определить зоны риска, цветом (как плоскости или тернарные графики), чтобы отложив по осям имеющиеся значения каждого из факторов точка соединения показывала бы вероятность развития исходов 1 и 0 и было видно как изменить показатели, чтобы улучшить исход. Спасибо заранее.

Готовых средств визуализации для вашей задачи мне не известно. Скорее всего их нет, нужно изобретать.
DrgLena
Я как то сравнивала на одних данных возможности трех методов классификации дискриминантный анадиз, нейронные сети и деревья классификации, получила 72%, 76% и 74% соответственно. Классификационное дерево дает прекрасную графическую иллюстрацию и процесса и результата, которую понимает любой доктор, она и висит в ординаторской, красиво раскрашенная smile.gif
nokh
Цитата(DrgLena @ 7.02.2014 - 00:16) *
Я как то сравнивала на одних данных возможности трех методов классификации дискриминантный анадиз, нейронные сети и деревья классификации, получила 72%, 76% и 74% соответственно. Классификационное дерево дает прекрасную графическую иллюстрацию и процесса и результата, которую понимает любой доктор, она и висит в ординаторской, красиво раскрашенная smile.gif

Тоже думал насчёт дерева классификации, очень наглядно, нравятся! Одно удачное дерево и теперь меня сложно переубедить, что оксалатная мочекаменная болезнь это - в первую очередь генетика, во вторую - генетическая предрасположенность и только потом питание smile.gif Только у annica12 показателей для дерева мало - может и на кустик не хватить. А у вас нет аналогичных бинарных данных именно с 3 или 4-мя показателями? Есть одна задумка...
p2004r
Цитата(annica12 @ 5.02.2014 - 23:07) *
это точности после кроссвалидации, более того в этих пределах обе модели работают на данных двух независимых центров - источников аналогичных данных.
данные факторы отобраны как значимые.


делаете грид в котором перебираются с нужным шагом значения всех факторов (в результате получаете полное покрытие области в которой работает модель). для каждой точки грида запускаете свой нерорешатель, он выдает решение (или пробабилити, что красивее). Всё это визуализируете.... ну например просто отобразив все положительные решения в pairs() Если "красиво" не разделяется можно biplot(prcomp()), там оси-факторы будут в одном пространстве с границей решения вполне разделимы визуально, но ничего откладывать по ним у обычного человека не получится frown.gif

скорее всего дерево решений (их может быть несколько), как предлагают, лучшее по компактности решение.
annica12
Цитата(nokh @ 6.02.2014 - 22:10) *
Тоже думал насчёт дерева классификации, очень наглядно, нравятся! Одно удачное дерево и теперь меня сложно переубедить, что оксалатная мочекаменная болезнь это - в первую очередь генетика, во вторую - генетическая предрасположенность и только потом питание smile.gif Только у annica12 показателей для дерева мало - может и на кустик не хватить. А у вас нет аналогичных бинарных данных именно с 3 или 4-мя показателями? Есть одна задумка...


Спасибо, за отклики!
Показателей всего 9, они работают в дискриминантной и нейросетевой модели. Но эти модели не дают практических рекомендаций, а только говорят - будет исход 0 или 1. Фишка в том, что врач в технологическом процессе непосредственно может повлиять ТОЛЬКО на 3 ЭТИХ фактора, остальные либо не модифицируются, либо опосредованы. Задача прогнозирования решена, осталось решит задачу с четкими практическими рекомендациями типа: если А 120, а В 200, а С 23, то поверни пимпочку вправо, а скорость увеличь на 5 оборотов. Как-то так. Random forest классифицируют данные с точностью 0,65. Это как примерно в анекдоте про блондинку и снежного человека: "или встречу или не встречу". Хотя, может, я и ошибаюсь smile.gif
p2004r
Цитата(annica12 @ 7.02.2014 - 09:18) *
Спасибо, за отклики!
Показателей всего 9, они работают в дискриминантной и нейросетевой модели. Но эти модели не дают практических рекомендаций, а только говорят - будет исход 0 или 1. Фишка в том, что врач в технологическом процессе непосредственно может повлиять ТОЛЬКО на 3 ЭТИХ фактора, остальные либо не модифицируются, либо опосредованы. Задача прогнозирования решена, осталось решит задачу с четкими практическими рекомендациями типа: если А 120, а В 200, а С 23, то поверни пимпочку вправо, а скорость увеличь на 5 оборотов. Как-то так. Random forest классифицируют данные с точностью 0,65. Это как примерно в анекдоте про блондинку и снежного человека: "или встречу или не встречу". Хотя, может, я и ошибаюсь smile.gif


Это тревожный звоночек, рандом форест дает результат распознания по данным не участвовавшим в построении модели и поэтому практически не подвержен переобучению. С другой стороны у Вас мало параметров в модели и исходные настройки фореста могут строить очень маленькое дерево включая, например, всего по три параметра одновременно. Можно его заставить включать большее число параметров в модель насильно.

Для рандом фореста есть процедуры объективного исключения "лишних" параметров модели (я давал пример использования пакета Boruta). Можно выявить такие переменные и построить рандом форест модель принудительно включающую их всех.

anserovtv
Как я понимаю. вашу задачу можно решить принципиально по-другому:
1) на основе нейронной сети , построенной вами. и , используя ее параметры (число слоев , функции активации , синаптические веса и др.)
написать собственную небольшую программу , которая будет установлена на компьютере врача и будет работать как калькулятор.
Точность прогнозирования при этом не ухудшится. Такие программы в меддиагностике , я знаю, уже существуют.
2) Скорее всего, точность прогнозирования можно еще улучшить, если применить нечеткие деревья классификации: деревья классификации + нечеткая логика.
Подход тот же самый: используя стандартную программу (есть расширение пакета MATLAB Fuzzy Logic Toolbox ) создать алгоритм, а затем ,
используя его параметры, создать собственную программу для врача.

Полагаю, что обе программы не будут очень сложными.
Даже карты Кохонена можно запрограммировать так, чтобы они работали в интерактивном режиме!!!
Тогда исследователь сможет визуально наблюдать за процессом классификации!
У опытного программиста есть заготовки для таких программ.
В вашем случае точность, полученная с применением нейронной сети, выше
потому что при этом подходе используется параллельная обработка информации,
а в деревьях классификации - последовательная.
Другие подходы (с принципиально другими проблемами):
1) создание модели скоринга и ее применение,
2) применение процедуры Что-если (если она есть в пакете ),
3) скрипт, макрос и др.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.