Изучение таблиц сопряженности: методы и примеры кода для анализа данных

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

  1. Создание таблицы сопряженности.
    Для начала давайте разберемся, как создать таблицу сопряженности. Предположим, у нас есть две категориальные переменные: «Пол» (с категориями «Мужчина» и «Женщина») и «Статус курения» (с категориями «Курильщик» и «Некурящий»). Мы можем создать таблицу сопряженности, используя следующие данные:

Код Python:

import pandas as pd
data = {'Gender': ['Male', 'Female', 'Male', 'Male', 'Female'],
        'Smoking Status': ['Smoker', 'Non-Smoker', 'Smoker', 'Non-Smoker', 'Smoker']}
df = pd.DataFrame(data)
contingency_table = pd.crosstab(df['Gender'], df['Smoking Status'])
print(contingency_table)

Код R:

gender <- c('Male', 'Female', 'Male', 'Male', 'Female')
smoking_status <- c('Smoker', 'Non-Smoker', 'Smoker', 'Non-Smoker', 'Smoker')
df <- data.frame(Gender = gender, 'Smoking Status' = smoking_status)
contingency_table <- table(df$Gender, df$`Smoking Status`)
print(contingency_table)
  1. Тест независимости хи-квадрат:
    Тест независимости хи-квадрат используется для определения наличия значимой связи между двумя категориальными переменными. Он сравнивает наблюдаемые частоты в таблице непредвиденных обстоятельств с ожидаемыми частотами в предположении независимости. Ниже приведен пример выполнения теста хи-квадрат в Python и R:

Код Python:

from scipy.stats import chi2_contingency
chi2, p, dof, expected = chi2_contingency(contingency_table)
print("Chi-square statistic:", chi2)
print("p-value:", p)

Код R:

chi_test <- chisq.test(contingency_table)
print("Chi-square statistic:", chi_test$statistic)
print("p-value:", chi_test$p.value)
  1. Визуализация таблиц непредвиденных обстоятельств.
    Визуализация таблиц непредвиденных обстоятельств может обеспечить более четкое понимание взаимосвязи между переменными. Одна из распространенных визуализаций — это столбчатая диаграмма. Давайте посмотрим, как создать составную гистограмму с помощью таблицы непредвиденных обстоятельств:

Код Python:

import matplotlib.pyplot as plt
contingency_table.plot(kind='bar', stacked=True)
plt.xlabel('Gender')
plt.ylabel('Count')
plt.title('Contingency Table: Gender vs. Smoking Status')
plt.show()

Код R:

library(ggplot2)
df_plot <- as.data.frame.matrix(contingency_table)
df_plot$Gender <- rownames(df_plot)
df_plot <- reshape2::melt(df_plot, id.vars = 'Gender')
ggplot(df_plot, aes(x = Gender, y = value, fill = variable)) +
  geom_bar(stat = 'identity') +
  labs(x = 'Gender', y = 'Count', title = 'Contingency Table: Gender vs. Smoking Status') +
  theme(legend.position = "bottom")

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