Статистическое моделирование с Python: как делать и лучшие библиотеки
Этот пост охватывает некоторые из основных структур и методов статистического моделирования для Python, которые могут помочь нам сделать статистическое моделирование и вероятностное вычисление.
- Введение: Почему Python для науки о данных
- Почему эти рамки необходимы
- Начните с Numpy
- Matplotlib и Seaborn для визуализации
- Использование Seaborn и Matplotlib
- Scipy для логической статистики
- StatsModels для продвинутого моделирования
- Scikit-learn для статистического обучения
- Вывод
Почему эти рамки необходимы
В то время как Python является наиболее популярным для сдачей данных, визуализации, общего машинного обучения, глубокого обучения и связанной линейной алгебры (тензора и матрицы) и веб -интеграции, его способности статистического моделирования гораздо менее рекламируются. Большой процент ученых данных по -прежнему использует другие специальные статистические языки, такие как R, Matlab или SAS Over Python для их моделирования и анализа.
В то время как каждая из этих альтернатив предлагает свою собственную уникальную смесь функций и мощности для статистического анализа, для начинающего ученых данных полезно узнать больше о различных рамках и методах Python, которые можно использовать для обычных операций описательной и проводимой статистики Анкет
Самая большая мотивация для изучения этих структур заключается в том, что статистический вывод и вероятностное моделирование представляют собой хлеб и масло ежедневной работы ученых -ученых. Однако только при использовании таких инструментов на основе Python может быть построен мощные сквозные Data Science Pipeline (полный поток, простирающийся от сбора данных до окончательного генерации бизнес-решений) с использованием одного языка программирования.
При использовании разных статистических языков для различных задач вы можете столкнуться с некоторыми проблемами. Например:
- Проведение любых веб -скребков и доступа к базе данных с использованием команд SQL и библиотек Python, таких как BeautifulSoup и Sqlalchemy
- Очистка и подготовка таблиц данных с помощью пандов, но затем переключение на R или SPSS для выполнения статистических тестов и вычисления доверительных интервалов
- Использование GGPLOT2 для создания визуализации, а затем использования автономного редактора латекса для печати окончательной аналитики отчет
- Переключение между несколькими программными структурами делает процесс громоздким и подверженным ошибкам.
Что если бы вы могли сделать статистическое моделирование, анализ и визуализацию, все внутри основной платформы Python? Давайте посмотрим, какие рамки и методы существуют для выполнения таких задач.
Начните с Numpy
Numpy является стандартом De-FACTO для численных вычислений в Python, используемом в качестве базы для создания более продвинутых библиотек для приложений для науки о данных и машинного обучения, таких как TensorFlow или Scikit-Learn. Для численной обработки Numpy намного быстрее, чем нативный код Python из -за векторизованной реализации своих методов и того факта, что многие из его основных процедур написаны в C (на основе структуры CPYTHON).
Хотя большинство дискуссий, связанных с Numpy, ориентированы на ее линейные процедуры алгебры, он предлагает приличный набор функций статистического моделирования для выполнения основной описательной статистики и генерации случайных величин на основе различных дискретных и непрерывных распределений.
Например, давайте создадим массив Numpy из простого списка Python и вычислим основную описательную статистику, такую как среднее, медиана, стандартное отклонение, квантили и т. Д.
Код для этой статьи может быть найден в Репозиторий GitHub Kite .
import numpy as np # Define a python list a_list = [2, 4, -1, 5.5, 3.5, -2, 5, 4, 6.5, 7.5] # Convert the list into numpy array an_array = np.array(a_list) # Compute and print various statistics print('Mean:', an_array.mean()) print('Median:', np.median(an_array)) print('Range (Max - min):', np.ptp(an_array)) print('Standard deviation:', an_array.std()) print('80th percentile:', np.percentile(an_array, 80)) print('0.2-quantile:', np.quantile(an_array, 0.2))
Результаты приведены ниже:
Mean: 3.5 Median: 4.0 Range (Max - min): 9.5 Standard deviation: 2.9068883707497264 80th percentile: 5.699999999999999 0.2-quantile: 1.4000000000000001
Чтобы узнать больше о Numpy, Matplotlib, Seaborn и Statsmodels, проверьте Полная статья Тиртхи Саркар .
Tirtha Sarkar – это полупроводниковый технолог, автор Data Science и автор Pydbgen, MLR и Doepy Packages. Он имеет докторскую степень в электротехнике и M.S. в аналитике данных.
Оригинал: “https://dev.to/kite/statistical-modeling-with-python-how-to-top-libraries-lin”