Статистика является неотъемлемой частью науки о данных. В этой статье подробно рассказывается о важности статистики в науке о данных и типах статистики, чтобы понять данные с использованием библиотеки Python и Pandas.

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

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

Если вы не можете определить проблему; у вас есть данные, но вы понятия не имеете, как использовать эти данные для бизнеса, то как вы можете построить систему, которая поможет в создании успешного бизнеса?

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

Добро пожаловать в серию 7-Days of Statistics for Data Science. В этой серии мы изучим основы статистики для науки о данных с практическими реализациями с использованием Python и его библиотек.

В этой первой статье мы рассмотрим основные концепции статистики, которые должен знать каждый специалист по данным, например, что такое статистика и ее типы. Мы постараемся понять, как их использовать в Python и Pandas.

Давайте начнем!

Что такое статистика?

Статистика — это раздел математики, который занимается сбором, анализом и интерпретацией данных для принятия сложных решений.

Часто в статистике нас интересует сбор данных, чтобы найти ответы на наши вопросы о населении. Например, каков средний рост женщины в той или иной стране?

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

Например, если вы хотите ответить на такой вопрос, как Каков средний вес учащихся в конкретной школе из 5000 учащихся? В этом сценарии население представляет собой вес каждого ученика в школе. Но опрос каждых 5000 студентов может занять слишком много времени, поэтому мы можем собрать данные для случайных 100 студентов и спросить их вес.

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

Выборка должна быть репрезентативной для населения, например, если данные о 5000 учащихся содержат 60 % мальчиков и 40 % девочек, то случайная выборка из 100 учащихся из этой совокупности должна содержать 60 % мальчиков и 40 % девочек. данные, и только тогда мы можем обобщить результаты выборки на генеральную совокупность.

При анализе данных используются два основных статистических метода:

  • Описательная статистика
  • Выведенный статистика

Описательная статистика

Описательная статистика — это сводная статистика, которая описывает или анализирует набор данных для измерения основных характеристик объектов с использованием графиков, таблиц или методов визуализации данных.

Это помогает нам глубже понять данные. Описательная статистика дает представление о том, что произошло в прошлом, прежде чем пытаться объяснить, почему это произошло, или предсказать, что произойдет в будущем.

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

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

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

  • Одномерный анализ
  • Двумерный анализ

Одномерный анализ

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

Давайте посмотрим, как мы можем использовать python и pandas для выполнения одномерного анализа данных, для этого я использовал набор данных успеваемости учащихся из K aggle.

# Import pandas library
import pandas as pd

# Read Data
data = pd.read_csv("StudentsPerformance.csv")

Мы можем распечатать основные метаданные о данных, используя метод pandas pandas.DataFrame.info(). Он возвращает общее количество строк и столбцов в наборах данных, типы данных каждой функции с количеством ненулевых значений, общее использование памяти для данных.

# Metadata Information
>>> data.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 8 columns):
 #   Column                       Non-Null Count  Dtype 
---  ------                       --------------  ----- 
 0   gender                       1000 non-null   object
 1   race/ethnicity               1000 non-null   object
 2   parental level of education  1000 non-null   object
 3   lunch                        1000 non-null   object
 4   test preparation course      1000 non-null   object
 5   math score                   1000 non-null   int64 
 6   reading score                1000 non-null   int64 
 7   writing score                1000 non-null   int64 
dtypes: int64(3), object(5)
memory usage: 62.6+ KB

Чтобы узнать краткую сводную статистику данных, мы можем использовать метод pandas pandas.DataFrame.describe(). Он возвращает кадр данных со значениями среднего, стандартного отклонения, общего количества и пятью указателями — минимум и максимум, 25-й, 50-й и 75-й процентили для каждого числового признака.

Для категориальных функций мы можем использовать тот же метод с параметром include=all, он возвращает сводную статистику для каждой функции, включая категориальные столбцы. Вы можете явно установить его со списком типов данных столбцов, для которых вы хотите получить сводное описание.

# Summary statistics of numerical features
>>> data.describe()

       math score  reading score  writing score
count  1000.00000    1000.000000    1000.000000
mean     66.08900      69.169000      68.054000
std      15.16308      14.600192      15.195657
min       0.00000      17.000000      10.000000
25%      57.00000      59.000000      57.750000
50%      66.00000      70.000000      69.000000
75%      77.00000      79.000000      79.000000
max     100.00000     100.000000     100.000000


# Summary statistics for categorical features with `Object` type.
>>> data.describe(include=['O'])
        gender race/ethnicity parental level of education     lunch  \
count     1000           1000                        1000      1000   
unique       2              5                           6         2   
top     female        group C                some college  standard   
freq       518            319                         226       645   

       test preparation course  
count                     1000  
unique                       2  
top                       none  
freq                       642  

# Summary statistics for all features.
>>> data.describe(include='all')
        gender race/ethnicity parental level of education     lunch  \
count     1000           1000                        1000      1000   
unique       2              5                           6         2   
top     female        group C                some college  standard   
freq       518            319                         226       645   
mean       NaN            NaN                         NaN       NaN   
std        NaN            NaN                         NaN       NaN   
min        NaN            NaN                         NaN       NaN   
25%        NaN            NaN                         NaN       NaN   
50%        NaN            NaN                         NaN       NaN   
75%        NaN            NaN                         NaN       NaN   
max        NaN            NaN                         NaN       NaN   

       test preparation course  math score  reading score  writing score  
count                     1000  1000.00000    1000.000000    1000.000000  
unique                       2         NaN            NaN            NaN  
top                       none         NaN            NaN            NaN  
freq                       642         NaN            NaN            NaN  
mean                       NaN    66.08900      69.169000      68.054000  
std                        NaN    15.16308      14.600192      15.195657  
min                        NaN     0.00000      17.000000      10.000000  
25%                        NaN    57.00000      59.000000      57.750000  
50%                        NaN    66.00000      70.000000      69.000000  
75%                        NaN    77.00000      79.000000      79.000000  
max                        NaN   100.00000     100.000000     100.000000  

Когда вы печатаете описание для всех функций, оно возвращает NaNдля неприменимых значений. Например, для столбца gender нет среднего или стандартного отклонения для таких значений, как female or male. Для категориальной переменной он возвращает общее количество наблюдений, количество уникальных значений, присутствующих в столбцах, наиболее частое значение с его количеством.

Вы можете дополнительно оценить каждую отдельную функцию, используя график гистограммы, или для категориальных функций мы можем использовать другой метод панд, такой как pandas.DataFrame[column_name].value_counts(), чтобы найти уникальное количество каждого значения.

Двумерный анализ

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

Используя метод pandas.DataFrame.groupby() и графики, мы можем изучить взаимосвязь между двумя или более переменными, а также с функциями и переменной отклика.

Давайте рассмотрим взаимосвязь между math score и writing score учащихся, используя диаграмму рассеяния с использованием библиотеки matplotlib.

# Import matplotlib
import matplotlib.pyplot as plt

# Scatter plot
plt.scatter(data['math score'], data['writing score'])

# Set lables
plt.xlabel("Math Score")
plt.ylabel("Writing Score")
plt.title("Scatter Plot")

plt.grid(ls='--', c='#000', alpha=0.2)
plt.show()

Из приведенной выше диаграммы рассеяния мы можем сказать, что между этими двумя показателями существует положительная корреляция.

Выводная статистика

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

Доверительный интервал — это диапазон значений, который может содержать параметр генеральной совокупности с определенным уровнем достоверности. Например, мы можем получить 95% доверительный интервал [61,5, 64,5], который говорит о том, что мы на 95% уверены в том, что средний вес учащихся определенной школы составляет от 61,5 кг до 64,5 кг.

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

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

Я надеюсь, что эта статья поможет вам разобраться в статистике и ее типах.

Большое спасибо за чтение! 😊🙏