ホームページ  >  記事  >  バックエンド開発  >  Python で統計分析にカイ二乗検定を使用するにはどうすればよいですか?

Python で統計分析にカイ二乗検定を使用するにはどうすればよいですか?

王林
王林オリジナル
2023-06-03 23:40:312355ブラウズ

重要な統計手法として、カイ二乗検定は、カテゴリ変数間の関係について一般的に使用される検定手法の 1 つです。 Python では、SciPy ライブラリはカイ二乗検定を実行するためのカイ二乗関数を提供します。この記事では、読者がカイ二乗検定をより深く理解し、応用できるように、カイ二乗検定の原理、使用法、実装例を紹介します。

1. カイ二乗検定の原理

カイ二乗検定の中心的な考え方は、実際の観測値と理論値の差を比較することです。 2 つが有意であるということは、2 つの変数間に差があることを意味します。カイ二乗検定は次元が異なると異なる方法でデータを分析しますが、この記事では主に 2 次元カイ二乗検定の原理を紹介します。

2 次元テーブルの場合、カイ 2 乗検定では、まず 2 つの変数間に関係がないと仮定し、その仮定に基づいて期待値 E を計算し、次にカイ 2 乗値を計算します。実際の観測値 O と期待値 E に基づいて計算し、最後にルックアップ テーブルを渡すか計算を実行して有意性検定を実行し、仮説が真かどうかを判断します。

具体的な計算式は次のとおりです。

カイ二乗値 χ²=(O-E)²/E

ここで、O は実際の観測値、E は期待値です。 。

カイ二乗値が大きい場合、2 つの変数間の関係はより有意であり、仮説は棄却されます。逆に、カイ二乗値が小さい場合、関係は有意でなく、という仮説が受け入れられます。

2. カイ二乗検定の使用

  1. データの準備

カイ二乗検定を実行する前に、データを準備する必要があります。一般に、データは次のような実際の観測値 O と期待値 E の両方を含む 2 次元のテーブルの形で存在します。

     类别A          类别B

変数 1 70 30
変数 2 40 60

このうち、70 は変数 1 とカテゴリ A の交差の数を表します。

  1. データに基づいてカイ二乗値を計算する

Python の SciPy ライブラリを使用して、カイ二乗値と対応する p 値を簡単に計算します。コードは次のとおりです。

from scipy.stats import chisquare
import numpy as np

obs = np.array([[70, 30], [40, 60]])  #实际观测值
exp = np.array([[50, 50], [50, 50]])  #期望值

stat, pval = chisquare(obs.ravel(), f_exp=exp.ravel())
print(stat, pval)

このうち、カイ二乗関数はカイ二乗値と対応する p 値を計算するために使用され、obs と exp はそれぞれ実際の観測値と期待値を表し、ravel は() 関数は 2 次元配列を 1 次元配列に変換し、f_exp パラメータで期待値を指定します。None に設定すると、obs.sum()/4 が期待値として使用されます。

  1. 仮説のテスト

カイ二乗値と p 値を取得した後、仮説が正しいかどうかを判断する必要があります。一般に、有意水準 α は 0.05 に設定されます。p 値が α 以下の場合、帰無仮説は棄却され、2 つの変数間に関係があることを示します。それ以外の場合、帰無仮説は受け入れられ、次のことが示されます。関係はありません。

コードは次のとおりです:

alpha = 0.05

if pval <= alpha:
    print("Reject null hypothesis, variables are related.")
else:
    print("Accept null hypothesis, variables are independent.")

3. 実装例

次は、カイ二乗検定の使用法を示す簡単な例です。ユーザーのログイン時間が Web サイトの閲覧時間に影響を与えるかどうかをテストするために、電子商取引 Web サイトで A/B テストを実行するとします。データは次のとおりです:

     浏览时长<10s      浏览时长>=10s

Login A 1000 2000
Login B 1500 2500

まず、期待値 E を計算する必要があります。データに基づいて計算された期待値は次のとおりです。

     浏览时长<10s      浏览时长>=10s

Login A 1200 1800
Login B 1300 1900

計算と仮説テストには次のように Python コードを使用します:

obs = np.array([[1000, 2000], [1500, 2500]])  #实际观测值
exp = np.array([[1200, 1800], [1300, 1900]])  #期望值

stat, pval = chisquare(obs.ravel(), f_exp=exp.ravel())
print(stat, pval)

alpha = 0.05

if pval <= alpha:
    print("Reject null hypothesis, variables are related.")
else:
    print("Accept null hypothesis, variables are independent.")

最終結果は次のとおりです: 帰無仮説が棄却され、ユーザーのログイン方法がブラウジング時間に影響を与えることを示します。 。

4. 概要

カイ二乗検定は、カテゴリ変数間の関係について一般的に使用される検定方法であり、2 つの変数間に関係があるかどうかを判断できます。 Python では、SciPy ライブラリが提供するカイ二乗関数を使用して、カイ二乗検定を簡単に実行できます。この記事の導入により、読者はカイ二乗検定をよりよく理解して使用できるようになり、データの統計分析をより標準化して科学的に行うことができます。

以上がPython で統計分析にカイ二乗検定を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。