![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 1219 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 ![]() |
Повезло заполучить для анализа достаточно большую базу данных. Но наряду с радостями надёжности получаемых выводов столкнулся с рядом трудностей впервые.
1) Многие из моих любимых пакетов начиная с PAST оказывается не в состоянии обсчитать даже 1% всех наблюдений. Пришлось сильно двинуться в сторону R. 2) Собственно о чём тема. Некоторые пациенты присутствуют в базе многократно: где-то от 2 до 30 раз, при среднем около 2,5. Получается, что 35% базы - уникальные пациенты, а 65% это они же, сдававшие анализы ещё раз, два, 3 ... 30 раз. Взять только первые посещения и удалить 65% - непозволительная роскошь для любого размера базы. Усреднить данные в пределах пациента - тоже неправильно, т.к. от посещения к посещению есть какая-то динамика - вероятно, связанная с параллельным лечением. Ситуация осложняется тем, что набор показателей раз от раза тоже не очень жёсткий: скажем первый раз - простенький анализ на 3 показателя, а далее - более развёрнутый или наоборот. Мне нужно найти наиболее общие закономерности изменения показателей в зависимости от возраста, пола, сезона, беременности. Также поискать связи между показателями. Получается, что проще всего работать с данными, как с уникальными пациентами, не обращая внимания на частично зависимый характер выборок в разных категориях анализа. Т.е. сделать единицей наблюдения не пациента, а строку базы данных. Но это неправильно со статистической точки зрения, по крайней мере я затрудняюсь в таком случае очертить генеральную совокупность. Кто анализировал базы данных, поделитесь, пожалуйста, опытом: как вы выходили из этой ситуации с одними и теми же пациентами. Может у кого-то есть не опыт, но полезные замечания или идеи... |
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 231 Регистрация: 27.04.2016 Пользователь №: 28223 ![]() |
Получив в руки такое богатство - грех его не использовать полностью или тем более что-то из него "вырезать". Да и зачем? Даже тривиальный EXCEL позволяет работать более чем миллионом строк. Если миллион записей - это 1% базы, то вся база - это около 100 млн. записей. Для анализа данных - это реально суперинформация в смысле семантики, но вполне тривиальная база в техническом аспекте (объем, скорость обработки и пр.). Можно попробовать данные погрузить в базу данных ( в смысле - хранить и обрабатывать с помощью одной из СУБД - тут выбор широк от MS Access до MS SQL, Oracle или HP Vertica - и, кстати, многие из них имеют шлюз к R). Ну, а если "в лоб" почему-то не не получиться - сейчас доступны облачные сервисы для "больших данных" - там за небольшие деньги можно хранить и обрабатывать данные объемом в десятки и сотни терабайт. Должно хватить.
Теперь по "начинке". Если имеется 30 записей об одном пациенте - это чудесно. Есть возможность анализировать временнОй ряд. Причем, если не ограничиться работой с разностями первого порядка (тем более, что для такого подхода есть очень жесткие ограничения), а применять немного более продвинутые методы, то получаете уникальную информацию для выделения - например - сезонной составляющей в таких рядах. А если немного поковыряться в данных - то и возможность анализа интересующего показателя не просто от "наличия беременности", но и от "месяца беременности", а если очень захочется - то и от "месяц беременности+сезон года". Или от "продолжительности лечения+сезон года". Кстати, есть направление в анализе временнЫх рядов, в котором допускаются к анализу ряды с пропусками и неравномерностями в точках отсчета, т.е. практически то, что имеется в выборке. Для поиска зависимости от "возраста, пола, сезона, беременности" и поиска связей между показателями традиционно применяют разновидности корреляционного и дисперсионного анализа - а там данных много не бывает. Что-то выкинуть - заведомо получить смещение в результатах. Если попробовать подойти к поиску закономерностей со стороны теории классификации и построения решающих правил - становиться не важным, что для одного пациента был сделан анализ на три показателя, а для другого - на 10-12. Метод(ы) работает(ют) на любом наборе классификационных признаков. Наконец, в кластерном анализе есть направление Concept Drift, которое собственно и занимается выявлением закономерностей при условии, что данные изменяются во времени. В общем, я думаю, разумнее не данные "подрезать" под имеющийся метод, а метод искать под имеющиеся данные и поставленную задачу анализа. Сообщение отредактировал passant - 5.05.2016 - 10:59 |
|
![]() |
![]() |
![]() ![]() |