ホームページ  >  記事  >  バックエンド開発  >  Pythonに基づいて2つのデータセットのP値を計算する方法

Pythonに基づいて2つのデータセットのP値を計算する方法

coldplay.xixi
coldplay.xixi転載
2020-07-16 17:40:466030ブラウズ

Pythonに基づいて2つのデータセットのP値を計算する方法

A/B テスト評価を行う場合、p_value を使用する必要があります。この記事では、Python を使用して 2 セットのデータの重要性を計算する方法を記録します。

#1. コード #

# TTest.py
# -*- coding: utf-8 -*-
'''
# Created on 2020-05-20 20:36
# TTest.py
# @author: huiwenhua
'''

## Import the packages
import numpy as np
from scipy import stats

def get_p_value(arrA, arrB):

  a = np.array(arrA)
  b = np.array(arrB)

  t, p = stats.ttest_ind(a,b)

  return p

if __name__ == "__main__":
  get_p_value([1, 2, 3, 5, ], [6, 7, 8, 9, 10])

2. T 検定: 2 サンプル T 検定

2 標本 t 検定は、2 つの標本によって表される 2 つの母集団平均値の間に有意差があるかどうかを比較することです。サンプルが正規分布に由来することを要求することに加えて、2 つのサンプルの母集団分散が等しいこと、つまり「分散の均一性」も要求します。

帰無仮説の検定: サンプル平均値に差はない (μ=μ0)

Python コマンド stats.ttest_ind(data1,data2)

2 つの母集団の分散が等しい場合は、まず levene 検定を使用して、2 つの母集団の分散が均一であるかどうかをテストする必要があります (stats.levene(data1,data2))。返された結果の p 値が 0.05 よりはるかに大きい場合は、この場合、2 つの母集団の分散は均一であると考えられます。 2 つの母集団の分散が均一でない場合は、次のようにパラメーター equal_val を追加して False に設定する必要があります。

stats.ttest_ind(data1,data2,equal_var=False) // TTest のデフォルトは分散の均一性です

3. 結果の解釈

p 値が特定の有意水準 α (0.05 など) 未満の場合、サンプル平均値に有意差があると見なされます。仮説または片側仮説を選択します (未満とより大きいに分けられます) stats.ttest_ind は両側検定を実行することに注意してください。


t 値が 0 より大きい場合、最初のデータ セットが 2 番目のデータ セットよりも優れているという ((1-p) * 100)% の信頼度があります。たとえば、p=0.05 の場合、最初のデータ セットが 2 番目のデータ セットよりも優れているという確信度が 95% になります。

関連する学習に関する推奨事項:

Python ビデオ チュートリアル

以上がPythonに基づいて2つのデータセットのP値を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。