В файле parfume.csv приведены результаты маркетингового исследования, целью которого было выяснить предпочтения девушек от 18 до 25 лет относительно рекламы парфюмерной воды Black & White от Carolina Herrera (название изменено). Все девушки, участвовавшие в исследовании, были случайным образом распределены между контрольной и тестовой группой. Девушкам в контрольной группе показывали рекламный видеоролик в цветном варианте, а в тестовой — видеоролик в чернобелом варианте. Через некоторое время после демонстрации ролика фиксировалось, хотела бы девушка приобрести парфюмерную воду (значение 1) или нет (значение 0). По итогам анализа данных необходимо решить, какой из вариантов роликов оставить и использовать в дальнейшем. Описание данных: id — id респондента, age — возраст респондента, group — группа (тестовая или контрольная), vote — решение о покупке (1 — хочет купить, 0 — не хочет, 2 — нет ответа).
setwd("C:/Users/Vladimir.Kem/Desktop/Skill/HW_R")
parf <- read.csv("parfume.csv")
parf <- parf[parf$vote != 2, ]
barplot(table(parf$vote[parf$group == "control"]), main="Control group", xlab = "Answers", ylab = "Density")
barplot(table(parf$vote[parf$group == "test"]), main="Test group", xlab = "Answers", ylab = "Density")
test <- parf$vote[parf$group == "test"]
control <- parf$vote[parf$group == "control"]
Нулевая гипотеза: Доли девушек, решивших купить духи после цевтного ролики и черно-белого, не отличаются. (p_test = p_control)
Альтернативная гипотеза: Доля девушек, решвших купить духи после черно-белого ролика, выше, чем после цветного. (p_ test > p_control)
N <- 1000
set.seed(123)
p_test <- mean(test)
p_control <- mean(control)
p = p_test - p_control
differences <- rep(NA, N)
for(i in 1:N){
s1 <- sample(control, replace = TRUE)
s2 <- sample(test, replace = TRUE)
p1 <- sum(s1)/length(s1)
p2 <- sum(s2)/length(s2)
p_diff <- p2 - p1
differences[i] <- p_diff
}
diff_df <- data.frame(dif = differences)
differences_cent <- differences - mean(differences)
diff_df$dif_cent <- differences_cent
sum(differences_cent > p)
## [1] 0
Полученный p-value равен нулю (меньше 5%), значит нулевая гипотеза отвергается. По полученным данным можно сделать однозначный вывод, что черно-белый ролик более эффективный.
import pandas as pd
import numpy as np
parf = pd.read_csv("parfume.csv")
parf.query('vote != 2', inplace=True)
test = parf.query('group == "test"').vote
control = parf.query('group == "control"').vote
test_sum = test.sum()
test_n = test.size
control_sum = control.sum()
control_n = control.size
count = np.array([control_sum, test_sum])
nobs = np.array([control_n, test_n])
from statsmodels.stats.proportion import proportions_ztest
proportions_ztest(count, nobs)
## (-3.575711014554664, 0.0003492773149343703)
p-value практически равен 0 (меньше уровня значимости), поэтому мы отвергает нулевую гипотезу и соглашаемся с односторонней альтернативой. По полученным данным можно сделать однозначный вывод, что черно-белый ролик более эффективный.