最近、一見古典的な数学の問題を解決する必要が生じました。 統計。
人々のグループに対する特定のプッシュ効果のテストが実施されています。 効果を評価する必要があります。 もちろん、確率的アプローチを使用してこれを行うことができます。
しかし、帰無仮説とp値の価値についてビジネスと話すことは、まったく役に立たず、逆効果です。
2019年2月現在、「平均的な手」のラップトップを手元に置いて、できるだけ簡単かつ迅速にこれを行うにはどうすればよいでしょうか。 抽象メモ、数式なし。
これは、 以前の出版物の続きです。
問題の声明
測定されたインジケータ(AとB)に関して統計的に同一のユーザーグループが2つあります。 グループBが影響を受けます。 この影響により、測定されたインジケーターの平均値が変化しますか?
最も一般的なオプションは、統計的基準を計算して結論を出すことです。 「古典的な統計手法:カイ2乗検定」の例が好きです。 この場合、スペシャルの助けを借りて、これがどのように行われるかは問題ではありません。 プログラム、Excel、Rなど。
ただし、調査結果の信頼性は、次の理由で非常に疑わしい場合があります。
- 実際、マット。 統計を最初から最後まで理解している人はほとんどいません。 いずれかの方法を適用できる条件を常に念頭に置いてください。
- 原則として、ツールの使用と結果の解釈は、単一の計算の原則と「トラフィックライト」決定の採用に基づいています。 質問が少なければ少ないほど、プロセスのすべての参加者にとって良い結果になります。
p値の批判
多くの資料、見つかったものの中で最も壮観なものへのリンク:
- 自然。 科学的方法:統計誤差。 統計的妥当性の「ゴールドスタンダード」であるP値は、多くの科学者が想定しているほど信頼性が高くありません。、Regina Nuzzo。 Nature 506、150〜152
- 自然の方法。 気まぐれなP値は、再現性のない結果を生成します(ルイスGハルシー、ダグラスカランエベレット、サラLバウラー&ゴードンBドラモンド)。 Nature Methods volume 12、pages 179–185(2015)
- エルセビエ。 ダーティーダース:12個のP値の誤解、スティーブングッドマン。 血液学セミナー45巻、第3号、2008年7月、135〜140ページ
何ができますか?
今では誰もがコンピュータを手元に持っているので、モンテカルロ法は状況を保存します。 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
してください。 推定統計ベータ効果サイズによるデータの分析 。
--- 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杯」についてでした。
前の出版物- 「データサイエンス」特殊部隊「社内」 。