Методы анализа данных, статистика, программирование

Статистика, программирование, анализ данных Python

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

Поисковые системы способных распознавать человеческую речь, тем самым упрощая выполнение запросов;  установленные компьютерные устройства в автомобилях "настраиваются" на стиль вождения и способны прогнозировать\оптимизировать расход топлива; интеллектуальные системы, интегрированные в медицинские приборы, помогают ставить вероятные диагнозы, основываясь на результатах анализов, а томографы уже способны самостоятельно определять размеры поражения тканей, а также дифференцировать характер таких поражений.

mri image

Каким образом устроены все эти удивительные изобретения, значительно упрощающие жизнь человека?! Ответ на этот вопрос заключен в цепи последовательных этапов 1) накопления данных; 2) его анализа; 3) обобщений, оформленных в виде реализаций интеллектуальных систем. И хотя такая схема может показаться значительно упрощенной, поскольку в сложных системах могут быть интегрированы различные области науки и технологии, одной из центральных компонент таких систем являются эмпирические данные и результаты их анализа.

Методы анализа данных — активно развивающаяся область, задачей которой является их представление, обработка, обнаружение скрытых зависимостей и построение теоретических обобщений.

Как все это связано с интеллектуальными системами, позволяющими, например, предлагать вероятные диагнозы на основе анализов, или распознавать человеческую речь?

Если говорить о постановке диагноза, то в общих чертах "интеллектуальная" система выглядит следующим образом: накопленные за годы  медицинской практики данные различных измерений (показатели клинического анализа крови, мочи и т.п.) включают также достоверно установленный диагноз,  т.е. фактически имеют вид (измерения, диагноз1)... (измерения2, диагноз2); Такого рода данные, проведя подробный их анализ, позволяют  выявить какие диагностические измерения ответственны за тот или иной диагноз, и когда появляется новый набор измерений (измеренияX)  и требуется предположить диагноз, такое предположение удается сделать и\или даже дать какой-либо прогноз. Для того, чтобы все это работало, данные должны быть обобщены до уровня моделей, описывающих связи внутри них. Именно это позволяет строить дальнейшие прогнозы и давать количественные оценки.

Таким образом, построение аналитической (или статистической) модели обнаруженной зависимости, а также оценка ее согласованности с наблюдаемыми данными — представляют важнейшие этапы процесса анализа данных. На этих этапах могут в работу могут включаться самые разнообразные подходы и теоретические представления из различных областей научных знаний.

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

Среднее - как модель для сжатия данных

Все привыкли использовать среднее значение, и его вычисление уже не вызывает вопросов?! Не вдаваясь в подробности, что мы подразумеваем под средним значением и каким образом к понятию среднего можно прийти наиболее "естественным" путем (ведь "до конца не ясно", зачем нужно именно складывать все числа, а потом результат делить на их количество), обратим внимание на его основную роль — это сжатие данных. И это сжатие может быть очень полезным! Например, знание среднего веса мешка картошки, позволяет строить прогноз общего веса их большого числа, когда непосредственное измерение каждого мешка и сложение всех таких результатов представляет весьма трудную задачу. Здесь, безусловно, возникают вопросы о точности такого прогноза, подробный ответ на которые можно дать основываясь на теоретико-вероятностных представлениях и свойствах среднего. Основным является то, что сжатие данных является очень важной компонентой, позволяющей много упростить в решении прикладных задач; и эта компонента тесно связана с анализом данных и построением их моделей.

В контексте проблемы анализа данных особенно выделяется задача принятия решений и распознавания образов. Примерами задач этого типа  в науке могут быть:

  • построение прогноза структуры растительного покрова на основе модели вероятных климатических изменений (для ее решения может использоваться установленная на основе данных наблюдений статистическая связь между факторами среды и категориями растительного покрова);
  • разработка автоматизированных систем диагностики заболеваний;
  • построения систематических классификаций видов;
  • выявление участков ДНК, ответственных за наличие каких-либо характеристик биологических объектов; и многие другие;

Среди прикладных задач, наиболее выделяются:

Аутентификация биометрическая
  • маркетинговые исследования (в качестве простейшего примера — прогноз совершения покупки пользователем того или иного товара на основе его поведения и\или запросов);
  • распознавание речи, текста;
  • аутентификация по биометрическим показателям;

и еще ... множество различных задач.

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

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


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


Проекты

В разделе "Проекты"  представлены текущие проекты, связанные с вычислениями и разработкой web-приложений. (раздел находится в разработке)