Используемый набор данных

Эта история является продолжением этой статьи.

#Получить рабочий каталог
getwd()

# Установить рабочий каталог
setwd("C:\\Users\\batur\\Desktop\\R Tutorial")

#Прочитать файл данных csv и сохранить как фрейм данных
bankChurnersData=read.csv(file=”BankChurners.csv”)

#Отбрасываемые столбцы имеют номера 22 и 23
df ‹-bankChurnersData[-c(22:23)]

# Кодировать столбец Attrition_Flag df как фактор — двоичная переменная
df$Attrition_Flag=factor(df$Attrition_Flag,levels=c("Attrition_Flag","Cуществующий клиент"))

#Кодировать столбец пола df как фактор — двоичная переменная
df$Gender=factor(df$Gender,levels=c("M","F"))

#Кодировать столбец Education_Level в df как упорядоченный фактор — Порядковая переменная
df$Education_Level=factor(df$Education_Level, order=TRUE, level=c("Неизвестно", "Необразованный", "Средняя школа", "Колледж" «Выпускник», «Аспирант», «Докторская степень») )

#Кодировать столбец Marital_Status df как фактор — номинальная переменная
df$Marital_Status=factor(df$Marital_Status,levels=c("Женаты", "Холост", "Неизвестно", "Разведен"))

#Кодировать столбец Income_Category df как упорядоченный фактор — Порядковая переменная
df$Income_Category=factor(df$Income_Category,ordered=TRUE,levels=c("Неизвестно", "Менее 40 000 долларов", "40 000 долларов — 60 тысяч долларов», «60 тысяч долларов — 80 тысяч долларов», «80 тысяч долларов — 120 тысяч долларов», «120 тысяч долларов +»)).

#Кодировать столбец Card_Category в df как упорядоченный фактор — Порядковая переменная
df$Card_Category‹-factor(df$Card_Category,ordered=TRUE,levels = c("Синий", "Серебро", "Золото", "Платина") ))

#первые 100 строк
df_4=head(df,100)

Не 1: используйте критерий корреляции Пирсона (параметрический корреляционный тест), когда данные имеют нормальное распределение и групповые дисперсии эквивалентны
Не 2: используйте корреляционные тесты Спирмена и Кендала (непараметрический корреляционный тест), когда данные НЕ имеют нормальное распределение и/ или групповые отклонения НЕ эквивалентны

1. Корреляционный тест Пирсона

1.1. Тест на нормальность с Шапиро
1. Определите гипотезу
H0: Примеры имеют нормальное распределение.
HA: Примеры не имеют нормального распределения

2. Выберите α (значимый уровень)
α : 0,05.

3. Тестовая статистика
#Тест на нормальность с Шапиро
model_8‹-lm(Customer_Age ~ Education_Level, data = df_4)
shapiro.test(residuals(model_8))

данные: остатки (model_8)
W = 0,98895, p-значение = 0,5805

4. Принять решение
p‹=0,05 H0 отклоняется
p›0,05 H0 принимается
p-значение = 0,5805
решение: p›0,05 H0 принимается

5.Interpret
Примеры имеют нормальное распределение.

1.2. Однородность дисперсии по Бартлетту
1. Определите гипотезу
H0: дисперсии в каждой из групп одинаковы.
HA: по крайней мере две из них различаются.

2. Выберите α (значимый уровень)
α : 0,05.

3. Тестовая статистика
#Гомогенность дисперсии с Бартлеттом
bartlett.test(Customer_Age ~ Education_Level, data = df_4)

данные: Customer_Age by Education_Level
К-квадрат Бартлетта = 5,0845, df = 6, p-value = 0,533

4. Принять решение
p‹=0,05 H0 отклоняется
p›0,05 H0 принимается
p-значение = 0,533
решение: p›0,05 H0 принимается

5.Interpret
Расхождения в каждой из групп одинаковы.

1.3. Корреляционный тест Пирсона
1. Определите гипотезу
H0: корреляция между двумя переменными незначительна.
HA: корреляция между двумя переменными значима.

2. Выберите α (значимый уровень)
α : 0,05.

3. Тестовая статистика
#Тест корреляции Пирсона
cor.test(~Customer_Age+Total_Trans_Amt, method="pearson", data = df_4)

данные: Customer_Age и Total_Trans_Amt
t = 0,86922, df = 98, p-value = 0,3869
альтернативная гипотеза: истинная корреляция не равна 0
95-процентный доверительный интервал:
- 0,1108551 0,2790908 выборочные оценки:
кор
0,08746755

4. Принять решение
p‹=0,05 H0 отклоняется
p›0,05 H0 принимается
p-значение = 0,3869
решение: p›0,05 H0 принимается

5.Interpret
Корреляция между двумя переменными незначительна.

2. Корреляционный тест Спирмена

2.1. Тест на нормальность с Шапиро
1. Определите гипотезу
H0: Примеры имеют нормальное распределение.
HA: Примеры не имеют нормального распределения

2. Выберите α (значимый уровень)
α : 0,05.

3. Статистика тестирования
#Тест на нормальность с помощью Шапиро
shapiro.test(df_4$Credit_Limit)

данные: df_4$Credit_Limit
W = 0,80145, p-значение = 2,745e-10

#Тест на нормальность с Шапиро
shapiro.test(df_4$Months_on_book)

данные: df_4$Months_on_book
W = 0,95657, p-значение = 0,002308.

4. Принять решение
p‹=0,05 H0 отклоняется
p›0,05 H0 принимается
p-value = 2,745e-10, p-value = 0,002308
решение: для оба теста, p‹=0,05 H0 отклонены

5.Interpret
Примеры не имеют нормального распределения

Нет: нет необходимости тестировать тест Бартлетта.

2.2. Корреляционный тест Спирмена
1. Определите гипотезу
H0: корреляция между двумя переменными незначительна.
HA: корреляция между двумя переменными значима.

2. Выберите α (значимый уровень)
α : 0,05.

3. Статистика тестирования
#Корреляционный тест Спирмена
cor.test(~Credit_Limit+Months_on_book, method="spearman", data = df_4)

данные: Credit_Limit и Months_on_book
S = 186064, p-значение = 0,2484
альтернативная гипотеза: истинное rho не равно 0
выборочные оценки:
rho
-0,1164937

4. Принять решение
p‹=0,05 H0 отклоняется
p›0,05 H0 принимается
p-значение = 0,2484
решение: p›0,05 H0 принимается

5.Interpret
Корреляция между двумя переменными незначительна.

3. Корреляционный тест Кендалла

3.1. Тест на нормальность с Шапиро
1. Определите гипотезу
H0: Примеры имеют нормальное распределение.
HA: Примеры не имеют нормального распределения

2. Выберите α (значимый уровень)
α : 0,05.

3. Статистика тестирования
#Тест на нормальность с Шапиро
shapiro.test(df_4$Total_Relationship_Count)

данные: df_4$Total_Relationship_Count
W = 0,90375, p-значение = 2,131e-06

#Тест на нормальность с Шапиро
shapiro.test(df_4$Contacts_Count_12_mon)

данные: df_4$Contacts_Count_12_mon
W = 0,8477, p-значение = 9,764e-09

#Тест на нормальность с Шапиро
shapiro.test(df_4$Avg_Open_To_Buy)

данные: df_4$Avg_Open_To_Buy
W = 0,8125, p-значение = 6,105e-10

4. Принять решение
p‹=0,05 H0 отклонено
p›0,05 H0 принято
значение p = 2,131e-06, значение p = 9,764e-09, значение p = 6.105e-10
решение: Для трех испытаний p‹=0.05 H0 отклоняется

5.Interpret
Примеры не имеют нормального распределения

Нет: нет необходимости тестировать тест Бартлетта.

3.2. Корреляционный тест Кендалла
1. Определите гипотезу
H0: корреляция между двумя переменными незначительна.
HA: корреляция между двумя переменными значима.

2. Выберите α (значимый уровень)
α : 0,05.

3. Тестовая статистика
#Создать фрейм данных df_7 для использования в тесте корреляции Кендалла
df_7 ‹- data.frame(Total_Relationship_Count=df_4$Total_Relationship_Count,
Contacts_Count_12_mon=df_4$Contacts_Count_12_mon,
Avg_Open_To_Buy=df_4$Avg_Open_To_Buy)

#Корреляционный тест Кендалла
cor(df_7, method = «kendall»)

Total_relationshipship_count Контакты_count_12_mon avg_open_to_buy
total_relationshipship_count 1.000000000 -0.04659116 -0.009917818
Контакты_count_12_mon -0.046591165 1.00000000 0.079211334
avg_open_to_buy -0.009917818 0.07921133 1.000000000

4. Примите решение
коэффициент корреляции: -1 отрицательная корреляция
коэффициент корреляции: 0 нет связи
коэффициент корреляции: 1 положительная корреляция

0‹ коэффициент корреляции ‹0,3 пренебрежимо мал линейная зависимость
0,3‹ коэффициент корреляции ‹0,7 слабая линейная зависимость
0,7‹ коэффициент корреляции сильная линейная зависимость

Total_Relationship_Count — Total_Relationship_Count:
коэффициент корреляции: 1
Contacts_Count_12_mon — Total_Relationship_Count:
коэффициент корреляции: -0,046591165
Avg_Open_To_Buy — Contacts_Count_12_mon:
коэффициент корреляции: 0,07921133

5. Интерпретация
Total_Relationship_Count и Total_Relationship_Count имеют положительную корреляцию и сильную линейную связь.
Contact_Count_12_mon и Total_Relationship_Count имеют отрицательную корреляцию и пренебрежимо малую линейную связь.
Avg_Open_To_Buy и Contacts_Count_12_mon имеют положительную корреляцию и пренебрежимо малую линейную связь.