dados = read_csv(here::here("data/satisfacoes.csv"), 
                 col_types = "cdcc") 

dados %>%
    glimpse()
## Observations: 115
## Variables: 4
## $ user_id      <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",…
## $ satisfaction <dbl> 2.0, 3.0, 1.5, 1.0, 2.0, 2.5, 2.0, 3.0, 2.0, 2.0, 2.0, 2…
## $ scenario     <chr> "baseline", "baseline", "baseline", "baseline", "baselin…
## $ group        <chr> "3", "1", "2", "2", "1", "1", "3", "3", "2", "1", "3", "…

Observações

Métodos Avaliados

A nossa avaliação incluirá os métodos up/downvoting, baseline e like/dislike

Nível de confiança

Ao longo deste relatório empregaremos um nível de confiança de 95%, e consequentemente um alpha de 0.05

Variável satisfação

A satisfação segue uma escala likert de 5 pontos:

  • Muito satisfeito
  • Satisfeito
  • Neutro
  • Insatisfeito
  • Muito insatisfeito

No contexto desta escala e tomando como referências os trabalhos de D. Dodou et. al e C. Wu. et. al sobre likert scale mencionados no paper abordado neste relatório iremos considerar:

  • Uma diferença relevante em termos práticos a partir de 1 ponto
  • Uma diferença irrelevante em termos práticos até 1 ponto

Teste de Hipótese

like/dislike vs baseline

comparacao1 = dados %>% 
    filter(scenario %in% c("baseline", "like/dislike"))
theta_chapeu = {
    satisfacoes = comparacao1 %>% 
        group_by(scenario) %>% 
        summarise(satisfacao = mean(satisfaction)) 
    
    like = satisfacoes %>% filter(scenario == "like/dislike") %>% pull(satisfacao)
    baseline = satisfacoes %>% filter(scenario == "baseline") %>% pull(satisfacao)
    
    like - baseline
}

theta_chapeu
## [1] 1.521739
  • A diferença observada na amostra entre a satisfação média para o método like/dislike e o método baseline é de aproximadamente 1.52.

  • Na diferença observada na amostra o método like/dislike gerou uma satisfação aproximadamente 1.52 pontos maior.

theta_emb = function(d){
    satisfacoes = d %>% 
        mutate(scenario_embaralhado = sample(scenario, n())) %>% 
        group_by(scenario_embaralhado) %>% 
        summarise(satisfacao = mean(satisfaction)) 
    
    like = satisfacoes %>% filter(scenario_embaralhado == "like/dislike") %>% pull(satisfacao)
    baseline = satisfacoes %>% filter(scenario_embaralhado == "baseline") %>% pull(satisfacao)
    
    like - baseline
}

theta_emb(comparacao1)
## [1] 0
diffs = replicate(4000, {theta_emb(dados)})

tibble(diferenca = diffs) %>% 
  ggplot(aes(x = diferenca)) + 
  geom_histogram(binwidth = .2, fill = "white", color = "darkgreen") +
    # geom_density(fill = "white", color = "darkgreen") + 
  geom_vline(xintercept = theta_chapeu, 
             color = "orange") + 
    geom_vline(xintercept = -theta_chapeu, 
             color = "orange")

Agora vejamos o quão frequente seria encontrarmos uma diferença do tamanho que encontramos se não houvesse diferença entre a satisfação média para o método like/dislike e o método baseline

A situação onde não existe diferença é a hipótese nula. Se a diferença que observamos em nossa amostra acontece facilmente na hipótese nula, isso significa que não temos evidência forte de associação: o que observamos acontece também quando não há associação.

No caso onde a diferença que observamos é improvável na hipótese nula, então observamos algo que é indicativo de diferença. Repare que é uma dupla negação: se não acontece associação como a que vimos na amostra na situação onde não há associação, então temos evidência de que há associação.

# p-valor
pvalue = sum(abs(diffs) >= abs(theta_chapeu)) / length(diffs)
print(paste("O p-valor é aproximadamente: ",pvalue))
## [1] "O p-valor é aproximadamente:  0"
  • O pequeno p-valor (aproximadamente 0, e bem abaixo de alpha) aponta que a diferença que observamos é improvável na hipótese nula, isso nos embasa para rejeitramos a hipótese nula, e adotarmos a hipótese alternativa de que a satisfação média para o método like/dislike é significativamente diferente da satisfação média para o método baseline.


Avaliemos agora se um dos métodos teve melhor desempenho através de one tail test:

Testemos se:

  • A satisfação média para o método baseline não é significativamente maior que a satisfação média para o método like/dislike (Hipótese nula)

  • A satisfação média para o método baseline é significativamente maior que a satisfação média para o método like/dislike (Hipótese alternativa)

permutationTest2(data=comparacao1,
                 R=4000,
                 alternative = "greater",
                 statistic = mean(satisfaction),
                 treatment = scenario)
## Call:
## permutationTest2(data = comparacao1, statistic = mean(satisfaction), 
##     treatment = scenario, R = 4000, alternative = "greater")
## Replications: 4000
## Two samples, sample sizes are 23 23
## 
## Summary Statistics for the difference between samples 1 and 2:
##                                            Observed        Mean Alternative
## mean(satisfaction): baseline-like/dislike -1.521739 0.002684783     greater
##                                           PValue
## mean(satisfaction): baseline-like/dislike      1
  • Pelo p-valor extremamente alto de aproximadamente 1 (bem acima de alpha) chegamos à conclusão de que não podemos rejeitar a hipótese nula. Assim, não podemos estabelecer que a satisfação média para o método baseline é significativamente maior que a satisfação média para o método like/dislike.


Testemos se:

  • A satisfação média para o método baseline não é significativamente menor que a satisfação média para o método like/dislike (Hipótese nula)

  • A satisfação média para o método baseline é significativamente menor que a satisfação média para o método like/dislike (Hipótese alternativa)

permutationTest2(data=comparacao1,
                 R=4000,
                 alternative = "less",
                 statistic = mean(satisfaction),
                 treatment = scenario)
## Call:
## permutationTest2(data = comparacao1, statistic = mean(satisfaction), 
##     treatment = scenario, R = 4000, alternative = "less")
## Replications: 4000
## Two samples, sample sizes are 23 23
## 
## Summary Statistics for the difference between samples 1 and 2:
##                                            Observed        Mean Alternative
## mean(satisfaction): baseline-like/dislike -1.521739 0.001282609        less
##                                                 PValue
## mean(satisfaction): baseline-like/dislike 0.0002499375
  • Pelo p-valor extremamente baixo de aproximadamente 0.0002 (bem abaixo de alpha = 0.05) chegamos à conclusão de que podemos rejeitar a hipótese nula. Assim, podemos estabelecer que a satisfação média para o método baseline é significativamente menor que a satisfação média para o método like/dislike.

Conseguimos estabelecer que a satisfação média para baseline é significativamente menor do que para like/dislike.

up/downvoting vs baseline

comparacao2 = dados %>% 
    filter(scenario %in% c("baseline", "up/downvoting"))
theta_chapeu = {
    satisfacoes = comparacao2 %>% 
        group_by(scenario) %>% 
        summarise(satisfacao = mean(satisfaction)) 
    
    like = satisfacoes %>% filter(scenario == "up/downvoting") %>% pull(satisfacao)
    baseline = satisfacoes %>% filter(scenario == "baseline") %>% pull(satisfacao)
    
    like - baseline
}

theta_chapeu
## [1] 2.26087
  • A diferença observada entre a satisfação média para o método up/downvoting e o método baseline é de aproximadamente 2.26. Na diferença observada o método like/dislike gerou uma satisfação aproximadamente 2.26 pontos maior.
theta_emb = function(d){
    satisfacoes = d %>% 
        mutate(scenario_embaralhado = sample(scenario, n())) %>% 
        group_by(scenario_embaralhado) %>% 
        summarise(satisfacao = mean(satisfaction)) 
    
    like = satisfacoes %>% filter(scenario_embaralhado == "up/downvoting") %>% pull(satisfacao)
    baseline = satisfacoes %>% filter(scenario_embaralhado == "baseline") %>% pull(satisfacao)
    
    like - baseline
}

theta_emb(comparacao2)
## [1] 0.3478261
diffs = replicate(4000, {theta_emb(dados)})

tibble(diferenca = diffs) %>% 
  ggplot(aes(x = diferenca)) + 
  geom_histogram(binwidth = .2, fill = "white", color = "darkgreen") +
    # geom_density(fill = "white", color = "darkgreen") + 
  geom_vline(xintercept = theta_chapeu, 
             color = "orange") + 
    geom_vline(xintercept = -theta_chapeu, 
             color = "orange")

# p-valor
pvalue = sum(abs(diffs) >= abs(theta_chapeu)) / length(diffs)
print(paste("O p-valor é aproximadamente: ",pvalue))
## [1] "O p-valor é aproximadamente:  0"
  • O pequeno p-valor (aproximadamente 0, e bem abaixo de alpha) aponta que a diferença que observamos é improvável na hipótese nula, isso nos embasa para rejeitramos a hipótese nula, e adotarmos a hipótese alternativa de que a satisfação média para o método up/downvoting é significativamente diferente da satisfação média para o método baseline.


Avaliemos agora se um dos métodos teve melhor desempenho através de one tail test:

Testemos se:

  • A satisfação média para o método baseline não é significativamente maior que a satisfação média para o método up/downvoting (Hipótese nula)

  • A satisfação média para o método baseline é significativamente maior que a satisfação média para o método up/downvoting (Hipótese alternativa)

permutationTest2(data=comparacao2,
                 R=4000,
                 alternative = "greater",
                 statistic = mean(satisfaction),
                 treatment = scenario)
## Call:
## permutationTest2(data = comparacao2, statistic = mean(satisfaction), 
##     treatment = scenario, R = 4000, alternative = "greater")
## Replications: 4000
## Two samples, sample sizes are 23 23
## 
## Summary Statistics for the difference between samples 1 and 2:
##                                            Observed        Mean Alternative
## mean(satisfaction): baseline-up/downvoting -2.26087 0.002711957     greater
##                                            PValue
## mean(satisfaction): baseline-up/downvoting      1
  • Pelo p-valor extremamente alto de aproximadamente 1 (bem acima de alpha) chegamos à conclusão de que não podemos rejeitar a hipótese nula. Assim, não podemos estabelecer que a satisfação média para o método baseline é significativamente maior que a satisfação média para o método up/downvoting.


Testemos se:

  • A satisfação média para o método baseline não é significativamente menor que a satisfação média para o método up/downvoting (Hipótese nula)

  • A satisfação média para o método baseline é significativamente menor que a satisfação média para o método up/downvoting (Hipótese alternativa)

permutationTest2(data=comparacao2,
                 R=4000,
                 alternative = "less",
                 statistic = mean(satisfaction),
                 treatment = scenario)
## Call:
## permutationTest2(data = comparacao2, statistic = mean(satisfaction), 
##     treatment = scenario, R = 4000, alternative = "less")
## Replications: 4000
## Two samples, sample sizes are 23 23
## 
## Summary Statistics for the difference between samples 1 and 2:
##                                            Observed     Mean Alternative
## mean(satisfaction): baseline-up/downvoting -2.26087 0.006125        less
##                                                  PValue
## mean(satisfaction): baseline-up/downvoting 0.0002499375
  • Pelo p-valor extremamente baixo de aproximadamente 0.0002 (bem abaixo de alpha = 0.05) chegamos à conclusão de que podemos rejeitar a hipótese nula. Assim, podemos estabelecer que a satisfação média para o método baseline é significativamente menor que a satisfação média para o método up/downvoting.

Conseguimos estabelecer que a satisfação média para baseline é significativamente menor do que para up/downvoting.

up/downvoting vs like/dislike

comparacao3 = dados %>% 
    filter(scenario %in% c("like/dislike", "up/downvoting"))
theta_chapeu = {
    satisfacoes = comparacao3 %>% 
        group_by(scenario) %>% 
        summarise(satisfacao = mean(satisfaction)) 
    
    like = satisfacoes %>% filter(scenario == "up/downvoting") %>% pull(satisfacao)
    baseline = satisfacoes %>% filter(scenario == "like/dislike") %>% pull(satisfacao)
    
    like - baseline
}

theta_chapeu
## [1] 0.7391304
  • A diferença observada entre a satisfação média para o método up/downvoting e o método baseline é de aproximadamente 2.26. Na diferença observada o método like/dislike gerou uma satisfação aproximadamente 2.26 pontos maior.
theta_emb = function(d){
    satisfacoes = d %>% 
        mutate(scenario_embaralhado = sample(scenario, n())) %>% 
        group_by(scenario_embaralhado) %>% 
        summarise(satisfacao = mean(satisfaction)) 
    
    like = satisfacoes %>% filter(scenario_embaralhado == "up/downvoting") %>% pull(satisfacao)
    baseline = satisfacoes %>% filter(scenario_embaralhado == "like/dislike") %>% pull(satisfacao)
    
    like - baseline
}

theta_emb(comparacao3)
## [1] -0.2173913
diffs = replicate(4000, {theta_emb(dados)})

tibble(diferenca = diffs) %>% 
  ggplot(aes(x = diferenca)) + 
  geom_histogram(binwidth = .2, fill = "white", color = "darkgreen") +
    # geom_density(fill = "white", color = "darkgreen") + 
  geom_vline(xintercept = theta_chapeu, 
             color = "orange") + 
    geom_vline(xintercept = -theta_chapeu, 
             color = "orange")

# p-valor
pvalue = sum(abs(diffs) >= abs(theta_chapeu)) / length(diffs)
print(paste("O p-valor é aproximadamente: ",pvalue))
## [1] "O p-valor é aproximadamente:  0.01625"
  • O p-valor de aproximadamente 0.02 está abaixo do alpha estabelecido de 0.05, esse p-valor abaixo de alpha aponta que a diferença que observamos é improvável na hipótese nula, isso nos embasa para rejeitramos a hipótese nula, e adotarmos a hipótese alternativa de que a satisfação média para o método up/downvoting é significativamente diferente da satisfação média para o método like/dislike.

Avaliemos agora se um dos métodos teve melhor desempenho através de one tail test:

Testemos se:

  • A satisfação média para o método like/dislike não é significativamente maior que a satisfação média para o método up/downvoting (Hipótese nula)

  • A satisfação média para o método like/dislike é significativamente maior que a satisfação média para o método up/downvoting (Hipótese alternativa)

permutationTest2(data=comparacao3,
                 R=4000,
                 alternative = "greater",
                 statistic = mean(satisfaction),
                 treatment = scenario) 
## Call:
## permutationTest2(data = comparacao3, statistic = mean(satisfaction), 
##     treatment = scenario, R = 4000, alternative = "greater")
## Replications: 4000
## Two samples, sample sizes are 23 23
## 
## Summary Statistics for the difference between samples 1 and 2:
##                                                  Observed          Mean
## mean(satisfaction): like/dislike-up/downvoting -0.7391304 -0.0005217391
##                                                Alternative PValue
## mean(satisfaction): like/dislike-up/downvoting     greater      1
  • Pelo p-valor extremamente alto de aproximadamente 1 (bem acima de alpha) chegamos à conclusão de que não podemos rejeitar a hipótese nula. Assim, não podemos estabelecer que a satisfação média para o método like/dislike é significativamente maior que a satisfação média para o método up/downvoting.


Testemos se:

  • A satisfação média para o método like/dislike não é significativamente menor que a satisfação média para o método up/downvoting (Hipótese nula)

  • A satisfação média para o método like/dislike é significativamente menor que a satisfação média para o método up/downvoting (Hipótese alternativa)

permutationTest2(data=comparacao3,
                 R=4000,
                 alternative = "less",
                 statistic = mean(satisfaction),
                 treatment = scenario)
## Call:
## permutationTest2(data = comparacao3, statistic = mean(satisfaction), 
##     treatment = scenario, R = 4000, alternative = "less")
## Replications: 4000
## Two samples, sample sizes are 23 23
## 
## Summary Statistics for the difference between samples 1 and 2:
##                                                  Observed        Mean
## mean(satisfaction): like/dislike-up/downvoting -0.7391304 0.001353261
##                                                Alternative       PValue
## mean(satisfaction): like/dislike-up/downvoting        less 0.0002499375
  • Pelo p-valor extremamente baixo de aproximadamente 0.0002 (bem abaixo de alpha = 0.05) chegamos à conclusão de que podemos rejeitar a hipótese nula. Assim, podemos estabelecer que a satisfação média para o método like/dislike é significativamente menor que a satisfação média para o método up/downvoting.

Conseguimos estabelecer que a satisfação média para like/dislike é significativamente menor do que para up/downvoting.

Resultados

Usando um two tailed test conseguimos estabelecer diferença significativa entre:

  • As médias de satisfação dos métodos baseline e like/dislike
  • As médias de satisfação dos métodos baseline e up/downvoting
  • As médias de satisfação dos métodos like/dislike e up/downvoting

Usando one tailed test conseguimos estabelecer que:

  • A médias de satisfação do métodos baseline foi significativamente menor do que a de like/dislike
  • A médias de satisfação do métodos baseline foi significativamente menor do que a de up/downvoting
  • A médias de satisfação do métodos like/dislike foi significativamente menor do que a de up/downvoting

Estabelecemos que o método up/downvoting produziu uma média de satisfação significativamente maior que os outros métodos considerados.

Intervalo de Confiança

like/dislike vs baseline

comparacao1 = dados %>% 
    filter(scenario %in% c("baseline", "like/dislike"))

theta <- function(d, i) {
    agrupado = d %>% 
        slice(i) %>% 
        group_by(scenario) %>% 
        summarise(media = mean(satisfaction))
    b = agrupado %>% filter(scenario == "baseline") %>% pull(media)
    l = agrupado %>% filter(scenario == "like/dislike") %>% pull(media)
    l - b
}

theta(comparacao1, i = 1:NROW(comparacao1))
## [1] 1.521739
ci1 = boot(data = comparacao1,
           statistic = theta,
           R = 2000) %>%
    tidy(conf.level = .95,
         conf.method = "bca",
         conf.int = TRUE)

ci1 %>%
    mutate(cmprs = "like/dislike - baseline") -> ci1

ci1
  • O limite inferior (conf.low) e o limite superior (conf.high) estão ambos acima de 0. Como o intervalo de confiança se refere à diferença das médias de satisfação dos métodos like/dislike e baseline na totalidade do intervalo a satisfação média para o método like/dislike foi maior.
    • A satisfação média para like/dislike foi maior entre 1 e 2 pontos do que a satisfação média para baseline, considerando a escala de satisfação essa diferença é relevante em termos práticos.

O método like/dislike foi melhor avaliado que o método baseline, a diferença é relevante em termos práticos

up/downvoting vs baseline

comparacao2 = dados %>% 
    filter(scenario %in% c("baseline", "up/downvoting"))

theta <- function(d, i) {
    agrupado = d %>% 
        slice(i) %>% 
        group_by(scenario) %>% 
        summarise(media = mean(satisfaction))
    b = agrupado %>% filter(scenario == "baseline") %>% pull(media)
    l = agrupado %>% filter(scenario == "up/downvoting") %>% pull(media)
    l - b
}

theta(comparacao2, i = 1:NROW(comparacao2))
## [1] 2.26087
ci2 = boot(data = comparacao2,
           statistic = theta,
           R = 2000) %>%
    tidy(conf.level = .95,
         conf.method = "bca",
         conf.int = TRUE)

ci2 %>%
    mutate(cmprs = "up/downvoting - baseline") -> ci2

ci2
  • O limite inferior (conf.low) e o limite superior (conf.high) estão ambos acima de 0. Como o intervalo de confiança se refere à diferença das médias de satisfação dos métodos up/downvoting e baseline na totalidade do intervalo a satisfação média para o método up/downvoting foi maior.
    • A satisfação média para up/downvoting foi maior entre 1.9 e 2.6 pontos do que a satisfação média para baseline,considerando a escala de satisfação essa diferença é relevante em termos práticos

O método up/downvoting foi melhor avaliado que o método baseline, considerando a escala de satisfação essa diferença é relevante em termos práticos

up/downvoting vs like/dislike

comparacao3 = dados %>% 
    filter(scenario %in% c("like/dislike", "up/downvoting"))

theta <- function(d, i) {
    agrupado = d %>% 
        slice(i) %>% 
        group_by(scenario) %>% 
        summarise(media = mean(satisfaction))
    b = agrupado %>% filter(scenario == "like/dislike") %>% pull(media)
    l = agrupado %>% filter(scenario == "up/downvoting") %>% pull(media)
    l - b
}

theta(comparacao3, i = 1:NROW(comparacao3))
## [1] 0.7391304
ci3 = boot(data = comparacao3,
           statistic = theta,
           R = 2000) %>%
    tidy(conf.level = .95,
         conf.method = "bca",
         conf.int = TRUE)
    
ci3 %>%
    mutate(cmprs = "up/downvoting - like/dislike") -> ci3

ci3
  • O limite inferior (conf.low) e o limite superior (conf.high) estão ambos acima de 0. Como o intervalo de confiança se refere à diferença das médias de satisfação dos métodos up/downvoting e like/dislike na totalidade do intervalo a satisfação média para o método up/downvoting foi maior.
    • A satisfação média para up/downvoting foi maior entre aproximadamente 0.5 e 1 pontos do que a satisfação média para like/dislike,considerando a escala de satisfação essa diferença é irrelevante em termos práticos

O método up/downvoting foi melhor avaliado que o método like/dislike, considerando a escala de satisfação essa diferença é irrelevante em termos práticos

Resultados

rbind(ci1, ci2, ci3) -> df

df %>% 
    glimpse()
## Observations: 3
## Variables: 6
## $ statistic <dbl> 1.5217391, 2.2608696, 0.7391304
## $ bias      <dbl> 0.0044723806, 0.0008743253, -0.0006537313
## $ std.error <dbl> 0.1770649, 0.1594154, 0.1506336
## $ conf.low  <dbl> 1.1613873, 1.9391464, 0.4459282
## $ conf.high <dbl> 1.873364, 2.583710, 1.031989
## $ cmprs     <chr> "like/dislike - baseline", "up/downvoting - baseline", "up/…
df %>%
  ggplot(aes(x = cmprs, y=statistic,
             ymin = conf.low, ymax = conf.high)) +
  geom_hline(yintercept = 0, colour = "darkorange") +
  geom_errorbar(width = .15) +
  geom_point(color="red", size=2) +
  scale_y_continuous(limits = c(-5, 5), breaks= seq(-5, 5, 1)) + 
  labs(x="", y="Diferença das médias",
       title=expression(paste("bca bootstrap ", alpha, " = 0.05")))

Observando os intervalos de confiança referentes à diferença das médias de satisfação vemos que:

  • O método like/dislike foi melhor avaliado que o método baseline por algo entre 1 e 2 pontos (diferença relevante em termos práticos).
  • O método up/downvoting foi melhor avaliado que o método baseline por algo entre 2 e 3 pontos (diferença relevante em termos práticos).
  • O método up/downvoting foi melhor avaliado que o método like/dislike por algo entre 0.5 e 1 pontos (diferença irrelevante em termos práticos).

Em vista do que foi mencionado, entre os métodos que avaliamos up/downvoting foi o mais bem avaliado (produziu maior satisfação). up/downvoting teve média de satisfação entre 2 e 3 pontos maior que baseline uma diferença estatisticamente significativa e relevante em termos práticos. up/downvoting teve média de satisfação entre 0.5 e 1 pontos maior que like/dislike, diferença que embora estatisticamente significativa é irrelevante em termos práticos.

Apanhado dos resultados

Através de teste de hipotese conseguimos estabelecer que entre os métodos que avaliamos up/downvoting teve maior satisfação média significativamente mais alta do que os métodos baseline e like/dislike

  • A médias de satisfação do métodos baseline foi significativamente menor do que a de up/downvoting
  • A médias de satisfação do métodos like/dislike foi significativamente menor do que a de up/downvoting


Através de intervalos de confiança estabelecemos que entre os métodos que avaliamos up/downvoting foi o mais bem avaliado (produziu maior satisfação), embora a diferença com like/dislike não foi relevante em termos práticos.

  • up/downvoting teve média de satisfação entre 2 e 3 pontos maior que baseline, uma diferença estatisticamente significativa e relevante em termos práticos.

  • up/downvoting teve média de satisfação entre 0.5 e 1 pontos maior que like/dislike, diferença que embora estatisticamente significativa é irrelevante em termos práticos.

Diferenças entre Teste de Hipótese e Intervalo de Confiança da diferença

Ao construir o intervalo de confiança da diferença entre A e B conseguimos avaliar se existe uma diferença significativa entre A e B. Se o intervalo inclui o valor 0, isso significa que não conseguimos estabelecer uma diferença significativa.

Se o intervalo não inclui o 0 e está acima de 0 em sua totalidade isso significa que não somente conseguimos estabelecer uma diferença significativa entre A e B como conseguimos estabelecer de maneira significativa que A é maior que B, pois se em algum ponto do intervalo A fosse menor que B teríamos um valor menor que 0.

Se o intervalo não inclui o 0 e está abaixo de 0 em sua totalidade isso significa que não somente conseguimos estabelecer uma diferença significativa entre A e B como conseguimos estabelecer de maneira significativa que A é menor que B, pois se em algum ponto do intervalo A fosse maior que B teríamos um valor maior que 0.

Testes de hipótese podem avaliar se existe diferença estatisticamente significativa entre A e B de maneira relativamente robusta através de um two tailed test. Um one-tailed test pode ser usado para avaliar se A > B ou A < B de maneira estatisticamente significativa.

Uma questão fundamental no uso de intervalos de confiança em contraposição ao teste de hipótese é que podemos avaliar a relevância prática do que o intervalo representa, como exemplo neste relatório chegamos à conclusão de que a diferença entre baseline e like/dislike era tanto estatiscamente significativa quanto relevante em termos práticos, no caso de like/dislike e up/downvoting avaliamos que embora tenhamos encontrado uma diferença estatiscamente significativa esta não era relevante em termos práticos. Teste de Hipótese nos permite tratar em termos de significância estatistica mas não de relevância prática ! Por essas razões por muitas vezes se recomenda o uso de intervalos de confiança, porque um teste de hipótese pode nos dizer se A > B, mas um intervalo de confiança nos diz se A > B e o quão A > B.

Diferentemente de intervalos de confiança um teste de hipótese não nos permite discutir relevância prática !