Rの計算能力を使用して、平均の等式の仮説をテストする

最近、一見古典的な数学の問題を解決する必要が生じました。 統計。

人々のグループに対する特定のプッシュ効果のテストが実施されています。 効果を評価する必要があります。 もちろん、確率的アプローチを使用してこれを行うことができます。







しかし、帰無仮説とp値の価値についてビジネスと話すことは、まったく役に立たず、逆効果です。







2019年2月現在、「平均的な手」のラップトップを手元に置いて、できるだけ簡単かつ迅速にこれを行うにはどうすればよいでしょうか。 抽象メモ、数式なし。







これは、 以前の出版物の続きです。







問題の声明



測定されたインジケータ(AとB)に関して統計的に同一のユーザーグループが2つあります。 グループBが影響を受けます。 この影響により、測定されたインジケーターの平均値が変化しますか?







最も一般的なオプションは、統計的基準を計算して結論を​​出すことです。 「古典的な統計手法:カイ2乗検定」の例が好きです。 この場合、スペシャルの助けを借りて、これがどのように行われるかは問題ではありません。 プログラム、Excel、Rなど。







ただし、調査結果の信頼性は、次の理由で非常に疑わしい場合があります。







  1. 実際、マット。 統計を最初から最後まで理解している人はほとんどいません。 いずれかの方法を適用できる条件を常に念頭に置いてください。
  2. 原則として、ツールの使用と結果の解釈は、単一の計算の原則と「トラフィックライト」決定の採用に基づいています。 質問が少なければ少ないほど、プロセスのすべての参加者にとって良い結果になります。


p値の批判



多くの資料、見つかったものの中で最も壮観なものへのリンク:









何ができますか?



今では誰もがコンピュータを手元に持っているので、モンテカルロ法は状況を保存します。 p値の計算から、平均差の信頼区間の計算に進みます。







多くの本と資料がありますが、一言で言えば(再編とフィッティング)はJake Vanderplasのレポート-「Statistics for Hackers」-PyCon 2016で非常に簡潔に提示されています。 プレゼンテーション自体。







グラフィカルな視覚化の提案を含む、このトピックに関する最初の作品の1つは、ソビエト時代の有名な数学の普及者であるMartin Gardnerによって書かれました: P値ではなく信頼区間:仮説テストではなく推定。 MJガードナーとDGアルトマン、Br Med J(Clin Res Ed)。 1986 3月15日; 292(6522):746-750







このタスクにRを使用する方法は?



下位レベルですべてをやらないように、生態系の現在の状態を見てみましょう。 少し前まで、非常に便利なdabestr



パッケージ:ブートストラップ結合推定を使用したデータ分析がRに転送されました。







チート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)
      
      





シミュレーション



操作の期間の対数正規分布を作成します。







 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)
      
      





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







CIとしての結果







 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.
      
      





と写真

画像

ビジネスと話をするのに非常に理解しやすく便利です。 計算はすべて「コーヒー1杯」についてでした。







前の出版物- 「データサイエンス」特殊部隊「社内」








All Articles