рд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХреА рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП R рдХреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╢рд╛рд╕реНрддреНрд░реАрдп рдЧрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИред рдЖрдВрдХрдбрд╝реЗред
рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдореВрд╣ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдзрдХреНрдХрд╛ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкреНрд░рднрд╛рд╡ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдПрдХ рд╕рдВрднрд╛рд╡реНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд▓реЗрдХрд┐рди рдЕрд╢рдХреНрдд рдкрд░рд┐рдХрд▓реНрдкрдирд╛рдУрдВ рдФрд░ рдкреА-рдореВрд▓реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдХрд╛рд░ рдФрд░ рдЙрд▓реНрдЯрд╛ рд╣реИред


рдлрд░рд╡рд░реА 2019 рддрдХ, рдпрд╣ рд╣рд╛рде рдкрд░ "рдФрд╕рдд рд╣рд╛рде" рд▓реИрдкрдЯреЙрдк рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рд╕рд╛рд░ рдиреЛрдЯ, рдХреЛрдИ рд╕реВрддреНрд░ рдирд╣реАрдВред


рдпрд╣ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХрд╛ рдПрдХ рд╕рд┐рд▓рд╕рд┐рд▓рд╛ рд╣реИред


рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рджреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╕рдорд╛рди рдорд╛рдкреА рд╕рдореВрд╣ рд╣реИрдВ (A рдФрд░ B)ред рдЧреНрд░реБрдк рдмреА рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рднрд╛рд╡ рдорд╛рдкрд╛ рд╕рдВрдХреЗрддрдХ рдХреЗ рдФрд╕рдд рдореВрд▓реНрдп рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ?


рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдк рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдорд╛рдирджрдВрдб рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдФрд░ рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИред рдореБрдЭреЗ "рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рддрд░реАрдХреЗ: рдЪреА-рд╕реНрдХреНрд╡рд╛рдпрд░ рдЯреЗрд╕реНрдЯ" рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдкрд╕рдВрдж рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рдХреА рдорджрдж рд╕реЗред рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдПрдХреНрд╕реЗрд▓, рдЖрд░ рдпрд╛ рдХреБрдЫ рдФрд░ред


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдмрд╣реБрдд рд╕рдВрджрд┐рдЧреНрдз рд╣реЛ рд╕рдХрддреА рд╣реИ:


  1. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЪрдЯрд╛рдИред рд╢реБрд░реВ рд╕реЗ рд▓реЗрдХрд░ рдЕрдВрдд рддрдХ рдХреБрдЫ рд▓реЛрдЧ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рдирдХреЗ рддрд╣рдд рдПрдХ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  2. рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдПрдХ рдПрдХрд▓ рдЧрдгрдирд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ "рдЯреНрд░реИрдлрд┐рдХ рд▓рд╛рдЗрдЯ" рдирд┐рд░реНрдгрдп рдХреЛ рдЕрдкрдирд╛рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдХрдо рд╕рд╡рд╛рд▓, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ред

рдкреА-рдореВрд▓реНрдп рдХреА рдЖрд▓реЛрдЪрдирд╛


рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░реА, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдмрд╕реЗ рд╢рд╛рдирджрд╛рд░ рд▓рд┐рдВрдХ:



рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?


рдЕрдм рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд╣рд╛рде рдореЗрдВ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЛрдВрдЯреЗ рдХрд╛рд░реНрд▓реЛ рд╡рд┐рдзрд┐ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рддреА рд╣реИред рдкреА-рдореВрд▓реНрдп рдЧрдгрдирд╛ рд╕реЗ, рд╣рдо рдФрд╕рдд рдЕрдВрддрд░ рдХреЗ рд▓рд┐рдП рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрдВрддрд░рд╛рд▓ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред


рдХрдИ рдХрд┐рддрд╛рдмреЗрдВ рдФрд░ рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ (рд░реАрдХреИрдкрд▓рд┐рдВрдЧ рдФрд░ рдлрд┐рдЯрд┐рдВрдЧ) рдЬреЗрдХ рд╡реЗрдВрдбрд░рдкреНрд▓рд╕ - "рд╣реИрдХрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╛рдВрдЦреНрдпрд┐рдХреА" - PyCon 2016 рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдмрд╣реБрдд рд╣реА рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИред рдкреНрд░рд╕реНрддреБрддрд┐ рд╣реАред


рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдЬрд┐рд╕рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╕реЛрд╡рд┐рдпрдд рдХрд╛рд▓ рдХреЗ рдкреНрд░рд╕рд┐рджреНрдз рдЧрдгрд┐рддрдЬреНрдЮ, рдорд╛рд░реНрдЯрд┐рди рдЧрд╛рд░реНрдбрдирд░ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛: рдкреА рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрдВрддрд░рд╛рд▓: рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрдЬрд╛рдп рдЕрдиреБрдорд╛рдиред рдПрдордЬреЗ рдЧрд╛рд░реНрдбрдирд░ рдФрд░ рдбреАрдЬреА рдСрд▓реНрдЯрдореИрди, рдмреНрд░ рдореЗрдб рдЬреЗ (рдХреНрд▓рд┐рди рд░реЗрд╕ рдПрдб)ред 1986 рдорд╛рд░реНрдЪ 15; 292 (6522): 746-750 ред


рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП R рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ?


рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦреЗрдВред рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ dabestr рдкреИрдХреЗрдЬ : рдмреВрдЯрд╕реНрдЯреНрд░реИрдк-рдпреБрдЧреНрдорд┐рдд рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЖрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдзреЛрдЦрд╛ dabestr рдкреНрд░рд╛рд░реВрдк рдореЗрдВ dabestr рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЧрдгрдирд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ: dabestr рд╕рд╛рде рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ ред


"рдЯрдЪ" рдХреЗ рд▓рд┐рдП R рдиреЛрдЯрдмреБрдХ рдЙрджрд╛рд╣рд░рдг:
 --- title: "A/B   bootstrap" output: html_notebook: self_contained: TRUE editor_options: chunk_output_type: inline --- 

 library(tidyverse) library(magrittr) library(tictoc) library(glue) library(dabestr) 

Cimulyatsiya


рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрд╡рдзрд┐ рдХрд╛ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╡рд┐рддрд░рдг рдмрдирд╛рдПрдВред


 my_rlnorm <- function(n, mean, sd){ #  . : https://en.wikipedia.org/wiki/Log-normal_distribution#Arithmetic_moments location <- log(mean^2 / sqrt(sd^2 + mean^2)) shape <- sqrt(log(1 + (sd^2 / mean^2))) print(paste("location:", location)) print(paste("shape:", shape)) rlnorm(n, location, shape) } # N   (A = Control) A_control <- my_rlnorm(n = 10^3, mean = 500, sd = 150) %T>% {print(glue("mean = {mean(.)}; sd = {sd(.)}"))} # N   (B = Test) B_test <- my_rlnorm(n = 10^3, mean = 525, sd = 150) %T>% {print(glue("mean = {mean(.)}; sd = {sd(.)}"))} 

рд╣рдо рдбреЗрдЯрд╛ рдХреЛ dabestr рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рдореЗрдВ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред


 df <- tibble(Control = A_control, Test = B_test) %>% gather(key = "group", value = "value") tic("bootstrapping") two_group_unpaired <- df %>% dabest(group, value, # The idx below passes "Control" as the control group, # and "Test" as the test group. The mean difference # will be computed as mean(Test) - mean(Control). idx = c("Control", "Test"), paired = FALSE, reps = 5000 ) toc() 

рдЖрдЗрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ


 two_group_unpaired plot(two_group_unpaired) 

================================================== ====


рд╕реАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо


 DABEST (Data Analysis with Bootstrap Estimation) v0.2.0 ======================================================= Unpaired mean difference of Test (n=1000) minus Control (n=1000) 223 [95CI 209; 236] 5000 bootstrap resamples. All confidence intervals are bias-corrected and accelerated. 

рдФрд░ рдЪрд┐рддреНрд░
рдЫрд╡рд┐
рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдордЭ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рднреА рдЧрдгрдирд╛ "рдХреЙрдлреА рдХреЗ рдХрдк" рдХреЗ рд▓рд┐рдП рдереАрдВред


рдкрд┐рдЫрд▓рд╛ рдкреНрд░рдХрд╛рд╢рди - "рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕" рд╡рд┐рд╢реЗрд╖ рдмрд▓ "рдЗрди-рд╣рд╛рдЙрд╕" ред

Source: https://habr.com/ru/post/hi441192/


All Articles