Python で ancova を実行する方法


ANCOVA (「共分散分析」) 、1 つ以上の共変量を調整した後、3 つ以上の独立したグループの平均間に統計的に有意な差があるかどうかを判断するために使用されます。

このチュートリアルでは、Python で ANCOVA を実行する方法を説明します。

例: Python での ANCOVA

教師は、3 つの異なる学習方法が試験の得点に影響するかどうかを知りたいと考えていますが、生徒がクラス内ですでに獲得している現在の成績を考慮したいと考えています。

次の変数を使用して ANCOVA を実行します。

  • 要因変数:技術的検討
  • 共変量:現在のスコア
  • 応答変数:試験のスコア

このデータセットに対して ANCOVA を実行するには、次の手順に従います。

ステップ 1: データを入力します。

まず、データを保持するパンダ DataFrame を作成します。

 import numpy as np
import pandas as pd

#create data
df = pd.DataFrame({'technique': np.repeat(['A', 'B', 'C'], 5),
                   'current_grade': [67, 88, 75, 77, 85,
                                     92, 69, 77, 74, 88, 
                                     96, 91, 88, 82, 80],
                   'exam_score': [77, 89, 72, 74, 69,
                                  78, 88, 93, 94, 90,
                                  85, 81, 83, 88, 79]})
#view data 
df

   technical current_grade exam_score
0 A 67 77
1 A 88 89
2 A 75 72
3 A 77 74
4 A 85 69
5 B 92 78
6 B 69 88
7 B 77 93
8 B 74 94
9 B 88 90
10 C 96 85
11 C 91 81
12 C 88 83
13 C 82 88
14 C 80 79

ステップ 2: ANCOVA を実行します。

次に、ペンギン ライブラリのancova() 関数を使用して ANCOVA を実行します。

 pip install penguin 
from penguin import ancova

#perform ANCOVA
ancova(data= df , dv=' exam_score ', covar=' current_grade ', between=' technique ')


        Source SS DF F p-unc np2
0 technical 390.575130 2 4.80997 0.03155 0.46653
1 current_grade 4.193886 1 0.10329 0.75393 0.00930
2 Residual 446.606114 11 NaN NaN NaN

ステップ 3: 結果を解釈します。

ANCOVA テーブルから、研究手法の p 値 (p-unc = 「未補正の p 値」) が0.03155であることがわかります。この値は 0.05 未満であるため、クラス内の生徒の現在の成績を考慮した後でも、各学習テクニックが同じ平均試験成績につながるという帰無仮説を棄却できます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です