要因計画:原理と応用

Pythonで学ぶ実験計画法

James Chapman

Curriculum Manager, DataCamp

要因計画を理解する

 

  • 1つの実験で複数の独立変数/要因を検討
  • 要因水準の全組合せを検証
  • 直接効果と要因間の交互作用を発見

光条件と肥料タイプが植物成長に与える影響を示す実験。

1 Image Generated with DALL·E 3
Pythonで学ぶ実験計画法

要因計画のデータ例

  • 要因1(Light_Condition)— 2水準:Full SunlightPartial Shade
  • 要因2(Fertilizer_Type)— 2水準:SyntheticOrganic
  • 数値の応答/従属/結果変数:Growth_cm
plant_growth_data.head()
   Plant_ID  Light_Condition  Fertilizer_Type  Growth_cm
0         1    Full Sunlight        Synthetic  16.489735
1         2    Partial Shade          Organic  18.361689
2         3    Full Sunlight        Synthetic  18.039459
3         4    Full Sunlight          Organic  12.682425
4         5    Full Sunlight          Organic  21.480601
Pythonで学ぶ実験計画法

交互作用可視化のためのデータ整理

plant_growth = pd.pivot_table(plant_growth_data, 
                              values='Growth_cm',
                              index='Light_Condition',
                              columns='Fertilizer_Type', 
                              aggfunc='mean')

plant_growth
Light_Condition     Organic   Synthetic
Full Sunlight       20.602       19.869
Partial Shade       20.246       20.326
Pythonで学ぶ実験計画法

ヒートマップで交互作用を可視化

import seaborn as sns
import matplotlib.pyplot as plt
sns.heatmap(plant_growth, 
            annot=True, 
            cmap='coolwarm',
            fmt='g')
plt.show()

植物成長のヒートマップ

Pythonで学ぶ実験計画法

交互作用の解釈

Light_Condition     Organic   Synthetic
Full Sunlight       20.602       19.869
Partial Shade       20.246       20.326
  • 交互作用:一方の要因の効果が他方の要因水準でどう変わるか
  • 交互作用が有意 → 要因は独立に作用しない
Pythonで学ぶ実験計画法

要因計画 vs. 無作為化ブロック計画

  • 複数の処置と交互作用
  • 複雑な多変量の効果と交互作用を分解
  • 被験者数がより必要な場合がある

光条件と肥料タイプが植物成長に与える影響を示す実験。

  • 無作為化計画で類似被験者をブロック化
  • ブロック内分散を制御
  • 各処置を各ブロック内で検証

無作為に色が割り当てられた立方体を含む2つのブロック。

1 Images Generated with DALL·E 3
Pythonで学ぶ実験計画法

練習しましょう!

Pythonで学ぶ実験計画法

Preparing Video For Download...