Queremos comparar a diferença média entre a satisfação usando a jukebox sem funcionalidades e a satisfação usando a função de skip (pular musica) . Dito isso, o objetivo é investigar se é e quanto é plausível dizer, em média, que skip é preferível a função nenhuma.
Primeiro vamos observar a faixa de valores que zero funcionalidade possui. Para isso, plotaremos o nível de satisfação por usuário.
jukebox %>%
filter(scenario == "baseline") %>%
ggplot(aes(user_id,satisfaction))+
geom_point()
A maioria deles tem nota 2 e 3. Além disso, em uma escala de 1 a 5, nenhuma das avaliações supera nota 3.
E enquanto a faixa de valores para a funcao de skip?
jukebox %>%
filter(scenario == "skip") %>%
ggplot(aes(user_id,satisfaction))+
geom_point()
Nesse caso a faixa está centrada entre 2 e 3 com a maioria dos pontos em 2 e 3, ou seja, aparentemente as funcionalidades tem satisfações parecidas.
Queremos verificar agora, a partir dos resultados dessa amostra, para uma população qualquer, qual é uma provavél faixa da diferença média de satisfação entre esses dois mecanismos.
Para isso usaremos a tecnica de bootstrapping na amostra com o intuito de gerar novas amostras aleatórias, dessa forma, podemos inferir informações da população a partir do que temos.
theta = function(d,i){
juke = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
baseline = juke %>%
filter(scenario == "baseline") %>%
pull(media)
skip = juke %>%
filter(scenario == "skip") %>%
pull(media)
skip - baseline
}
jukebox %>%
boot(statistic = theta,R = 4000) %>%
tidy(conf.level = 0.95,conf.int = TRUE)
Como a diferença calculada foi skip - baseline(sem funcionalidades), quer dizer que: quanto mais positiva essa diferença, maior a preferência média pela funcão skip(pular faixa).
Com base nos cáculos, com 95% de confiança, é plausível afirmar que a diferença média entre a satisfação da funcionalidade skip e nenhuma funcionalidade varia entre 0.05 e 0.73. Ou seja, pode-se dizer que não é um absurdo alegar que a funcionalidade skip é preferível a nenhuma funcionalidade.
Tendo em vista que os níveis de satisfação variam de 1 a 5, podemos ver que a diferença média desses dois mecanismos é consideravelmente pequena, pois até o limite superior da faixa é menor que 1 ponto.
medias = jukebox %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
skip = medias %>%
filter(scenario == "skip") %>%
pull(media)
baseline = medias %>%
filter(scenario == "baseline") %>%
pull(media)
theta_r = skip - baseline
#modelo nulo - Não existe diferença entre os dois grupos.
um_embaralhamento = function(d){
d %>%
mutate(embaralhado = sample(scenario,n())) %>%
group_by(embaralhado) %>%
summarise(media = mean(satisfaction)) %>%
summarise(dif = diff(media)) %>%
pull(dif)
}
d = jukebox %>%
filter(scenario == "skip" | scenario == "baseline")
modelo_nulo = tibble(diferenca = replicate(1000,{um_embaralhamento(d)}))
modelo_nulo %>%
mutate(igual_maior = abs(diferenca)>= theta_r) %>%
summarise(p_valor = sum(igual_maior)/n())
Estimamos que há uma diferença estatisticamente significativa entre baseline e skip (theta_c = 0.3913, n = 23, p = 0.035).
Queremos comparar a diferença média entre a satisfação usando a jukebox sem funcionalidades e a satisfação usando a função de like/dislike . Dito isso, o objetivo é investigar se é e quanto é plausível dizer, em média, que like/dislike é preferível a função nenhuma.
Vejamos a faixa de valores para a funcao de like/dislike
jukebox %>%
filter(scenario == "like/dislike") %>%
ggplot(aes(user_id,satisfaction))+
geom_point()
Nesse caso a faixa está centrada entre 3 e 5 com a maioria dos pontos em 3 e 4, ou seja, like/dislike parece ser bem melhor avaliada que baseline.
Aplicando bootstrapping:
theta = function(d,i){
juke = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
baseline = juke %>%
filter(scenario == "baseline") %>%
pull(media)
like = juke %>%
filter(scenario == "like/dislike") %>%
pull(media)
like - baseline
}
jukebox %>%
boot(statistic = theta,R = 4000) %>%
tidy(conf.level = 0.95,conf.int = TRUE)
Como a diferença calculada foi like - baseline(sem funcionalidades), quer dizer que: quanto mais positiva essa diferença, maior a preferência média pela funcão like/dislike.
Com base nos cáculos, com 95% de confiança, é plausível afirmar que a diferença média entre a satisfação da funcionalidade like/dislike e nenhuma funcionalidade varia entre 1.18 e 1.89. Ou seja, pode-se dizer que é comum alegar que a funcionalidade like/dislike é preferível a nenhuma funcionalidade.
Tendo em vista que os níveis de satisfação variam de 1 a 5, podemos ver que a diferença média desses dois mecanismos é expressiva, pois toda a faixa indica pelo menos 1 ponto de diferença.
medias = jukebox %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
like = medias %>%
filter(scenario == "like/dislike") %>%
pull(media)
baseline = medias %>%
filter(scenario == "baseline") %>%
pull(media)
theta_r = like - baseline
d = jukebox %>%
filter(scenario == "like/dislike" | scenario == "baseline")
modelo_nulo = tibble(diferenca = replicate(1000,{um_embaralhamento(d)}))
modelo_nulo %>%
mutate(igual_maior = abs(diferenca)>= theta_r) %>%
summarise(p_valor = sum(igual_maior)/n())
Estimamos que há uma diferença estatisticamente significativa entre baseline e like/dislike (theta_c = 1.52, n = 23, p = 0).
Queremos comparar a diferença média entre a satisfação usando a jukebox sem funcionalidades e a satisfação usando a função de up/downvoting . Dito isso, o objetivo é investigar se é e quanto é plausível dizer, em média, que up/downvoting é preferível a função nenhuma.
Vejamos a faixa de valores para a funcao de up/downvoting
jukebox %>%
filter(scenario == "up/downvoting") %>%
ggplot(aes(user_id,satisfaction))+
geom_point()
Nesse caso a faixa está centrada entre 4 e 5 com a maioria dos pontos em 4 e 5, ou seja, up/downvoting parece ser extremamente melhor avaliada que baseline.
Aplicando bootstrapping:
theta = function(d,i){
juke = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
baseline = juke %>%
filter(scenario == "baseline") %>%
pull(media)
up = juke %>%
filter(scenario == "up/downvoting") %>%
pull(media)
up - baseline
}
jukebox %>%
boot(statistic = theta,R = 4000) %>%
tidy(conf.level = 0.95,conf.int = TRUE)
Como a diferença calculada foi up - baseline(sem funcionalidades), quer dizer que: quanto mais positiva essa diferença, maior a preferência média pela funcão up/downvoting.
Com base nos cáculos, com 95% de confiança, é plausível afirmar que a diferença média entre a satisfação da funcionalidade up/downvoting e nenhuma funcionalidade varia entre 1.93 e 2.59. Ou seja, pode-se dizer que é muito comum alegar que a funcionalidade up/downvoting é preferível a nenhuma funcionalidade.
Tendo em vista que os níveis de satisfação variam de 1 a 5, podemos ver que a diferença média desses dois mecanismos é extrema, pois a faixa se mantem na região de dois a dois e meio pontos de diferença.
medias = jukebox %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
up = medias %>%
filter(scenario == "up/downvoting") %>%
pull(media)
baseline = medias %>%
filter(scenario == "baseline") %>%
pull(media)
theta_r = up - baseline
d = jukebox %>%
filter(scenario == "up/downvoting" | scenario == "baseline")
modelo_nulo = tibble(diferenca = replicate(1000,{um_embaralhamento(d)}))
modelo_nulo %>%
mutate(igual_maior = abs(diferenca)>= theta_r) %>%
summarise(p_valor = sum(igual_maior)/n())
Estimamos que há uma diferença estatisticamente significativa entre baseline e up/downvoting (theta_c = 2.26, n = 23, p = 0).
Queremos comparar a diferença média entre a satisfação usando a jukebox sem funcionalidades e a satisfação usando todas as funções . Dito isso, o objetivo é investigar se é e quanto é plausível dizer, em média, que combined é preferível a função nenhuma.
Vejamos a faixa de valores para a funcao combined
jukebox %>%
filter(scenario == "combined") %>%
ggplot(aes(user_id,satisfaction))+
geom_point()
Nesse caso a faixa está centrada entre 3 e 5 com a maioria dos pontos em 4, ou seja, combined parece ser bem melhor avaliada que baseline.
Aplicando bootstrapping:
theta = function(d,i){
juke = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
baseline = juke %>%
filter(scenario == "baseline") %>%
pull(media)
combined = juke %>%
filter(scenario == "combined") %>%
pull(media)
combined - baseline
}
jukebox %>%
boot(statistic = theta,R = 4000) %>%
tidy(conf.level = 0.95,conf.int = TRUE)
Como a diferença calculada foi combined - baseline(sem funcionalidades), quer dizer que: quanto mais positiva essa diferença, maior a preferência média pela funcão combined.
Com base nos cáculos, com 95% de confiança, é plausível afirmar que a diferença média entre a satisfação de todas as funcionalidades e nenhuma funcionalidade varia entre 1.56 e 2.56. Ou seja, pode-se dizer que é comum alegar que todas as funcinalidades são preferíveis a nenhuma funcionalidade.
Tendo em vista que os níveis de satisfação variam de 1 a 5, podemos ver que a diferença média desses dois mecanismos pode ser expressiva ou até mesmo extrema, pois a faixa cobre um alcance que parte de um ponto e meio até dois pontos e meio.
medias = jukebox %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
combined = medias %>%
filter(scenario == "combined") %>%
pull(media)
baseline = medias %>%
filter(scenario == "baseline") %>%
pull(media)
theta_r = combined - baseline
d = jukebox %>%
filter(scenario == "combined" | scenario == "baseline")
modelo_nulo = tibble(diferenca = replicate(1000,{um_embaralhamento(d)}))
modelo_nulo %>%
mutate(igual_maior = abs(diferenca)>= theta_r) %>%
summarise(p_valor = sum(igual_maior)/n())
Estimamos que há uma diferença estatisticamente significativa entre baseline e combined (theta_c = 2.26, n = 23, p = 0).