<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 <h1 STYLE="background
Step1:  <h2 STYLE="background
Step2:  <h4 style="padding
Step3:  <h2 STYLE="background
Step4:  <h4 style="padding
Step5:  <h4 style="border-bottom
Step6:  <h4 style="padding
Step7:  <h2 STYLE="background
Step8:  <h4 style="padding
<ASSISTANT_TASK:>
Python Code:
import numpy as np # 数値計算を行うライブラリ
import scipy as sp # 科学計算ライブラリ
from scipy import stats # 統計計算ライブラリ
Explanation: <h1 STYLE="background: #c2edff;padding: 0.5em;">Step 2. 統計的検定</h1>
<ol>
<li><a href="#1">カイ２乗検定</a>
<li><a href="#2">t検定</a>
<li><a href="#3">分散分析</a>
</ol>
<h4 style="border-bottom: solid 1px black;">Step 2 の目標</h4>
統計的検定により、複数のグループに差があるかどうか検定する。
End of explanation
significance = 0.05
o = [17, 10, 6, 7, 15, 5] # 実測値
e = [10, 10, 10, 10, 10, 10] # 理論値
chi2, p = stats.chisquare(o, f_exp = e)
print('chi2 値は %(chi2)s' %locals())
print('確率は %(p)s' %locals())
if p < significance:
    print('有意水準 %(significance)s で、有意な差があります' %locals())
else:
    print('有意水準 %(significance)s で、有意な差がありません' %locals())
Explanation: <h2 STYLE="background: #c2edff;padding: 0.5em;"><a name="1">2.1 カイ２乗検定</a></h2>
カイ２乗検定は、２つの分布が同じかどうかを検定するときに用いる手法です。
サイコロを60回ふり、各目が出た回数を数えたところ、次のようになりました。
<table border=1>
<tr><td>サイコロの目</td>
<td>１</td><td>２</td><td>３</td><td>４</td><td>５</td><td>６</td></tr>
<tr><td>出現回数</td>
<td>17</td><td>10</td><td>6</td><td>7</td><td>15</td><td>5</td></tr>
</table>
このとき、理論値の分布（一様分布）に従うかどうかを検定してみましょう。
End of explanation
# 練習2.1
Explanation: <h4 style="padding: 0.25em 0.5em;color: #494949;background: transparent;border-left: solid 5px #7db4e6;">練習2.1</h4>
ある野菜をＡ方式で育てたものとＢ方式で育てたものの出荷時の等級が次の表のようになったとき，これらの育て方と製品の等級には関連があると見るべきかどうか
<table border="1" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0" align="center">
  <tr> 
    <th width="100" height="30" bgcolor="#CCCC99"></th>
    <th width="81" height="30" bgcolor="#FFFFCC"> 優 </th>
    <th width="100" height="30" bgcolor="#FFCCCC"> 良 </th>
    <th width="100" height="30" bgcolor="#99FFCC"> 可 </th>
    <th width="100" height="30" bgcolor="#CCCCCC">計</th>
  </tr>
  <tr align="center"> 
    <td width="100" height="30" bgcolor="#CCCC99"> Ａ方式 </td>
    <td width="100" height="30" bgcolor="#FFFFFF"> 12</td>
    <td width="100" height="30" bgcolor="#FFFFFF">30</td>
    <td width="100" height="30" bgcolor="#FFFFFF">58</td>
    <td width="100" height="30" bgcolor="#CCCCCC">100</td>
  </tr>
  <tr align="center"> 
    <td width="119" height="30" bgcolor="#CCCC99"> B方式 </td>
    <td width="81" height="30" bgcolor="#FFFFFF"> 14</td>
    <td width="100" height="30" bgcolor="#FFFFFF">90</td>
    <td width="100" height="30" bgcolor="#FFFFFF">96</td>
    <td width="100" height="30" bgcolor="#CCCCCC">200</td>
  </tr>
  <tr align="center" bgcolor="#CCCCCC"> 
    <td width="119" height="30">計</td>
    <td width="81" height="30">26</td>
    <td width="100" height="30">120</td>
    <td width="100" height="30">154</td>
    <td width="100" height="30">300</td>
  </tr>
</table>
End of explanation
# 対応のないt検定
significance = 0.05
X = [68, 75, 80, 71, 73, 79, 69, 65]
Y = [86, 83, 76, 81, 75, 82, 87, 75]
t, p = stats.ttest_ind(X, Y)
print('t 値は %(t)s' %locals())
print('確率は %(p)s' %locals())
if p < significance:
    print('有意水準 %(significance)s で、有意な差があります' %locals())
else:
    print('有意水準 %(significance)s で、有意な差がありません' %locals())
Explanation: <h2 STYLE="background: #c2edff;padding: 0.5em;"><a name="2">9.2 t検定</a></h2>
End of explanation
class_one = [70, 75, 70, 85, 90, 70, 80, 75]
class_two = [85, 80, 95, 70, 80, 75, 80, 90] 
# 練習2.2
Explanation: <h4 style="padding: 0.25em 0.5em;color: #494949;background: transparent;border-left: solid 5px #7db4e6;">練習2.2</h4>
６年１組と６年２組の２つのクラスで同一の算数のテストを行い、採点結果が出ました。２つのクラスで点数に差があるかどうか検定してください。
<table border="1" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0" align="center">
  <tr align="center"> 
    <th width="120" height="30" bgcolor="#ffffcc"> ６年１組</th>
    <th width="120" height="30" bgcolor="#ffffcc"> 点数</th>
    <th width="120" height="30" bgcolor="#ffcccc"> ６年２組</th>
    <th width="120" height="30" bgcolor="#ffcccc"> 点数</th>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc"> 1</td>
    <td width="120" height="30" bgcolor="#FFFFFF"> 70</td>
    <td width="120" height="30" bgcolor="#cccccc"> 1</td>
    <td width="120" height="30"> 85</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">2</td>
    <td width="120" height="30" bgcolor="#FFFFFF">75</td>
    <td width="120" height="30" bgcolor="#cccccc">2</td>
    <td width="120" height="30">80</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">3</td>
    <td width="120" height="30" bgcolor="#FFFFFF">70</td>
    <td width="120" height="30" bgcolor="#cccccc">3</td>
    <td width="120" height="30">95</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">4</td>
    <td width="120" height="30" bgcolor="#FFFFFF">85</td>
    <td width="120" height="30" bgcolor="#cccccc">4</td>
    <td width="120" height="30">70</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">5</td>
    <td width="120" height="30" bgcolor="#FFFFFF">90</td>
    <td width="120" height="30" bgcolor="#cccccc">5</td>
    <td width="120" height="30">80</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">6</td>
    <td width="120" height="30" bgcolor="#FFFFFF">70</td>
    <td width="120" height="30" bgcolor="#cccccc">6</td>
    <td width="120" height="30">75</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">7</td>
    <td width="120" height="30" bgcolor="#FFFFFF">80</td>
    <td width="120" height="30" bgcolor="#cccccc">7</td>
    <td width="120" height="30">80</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">8</td>
    <td width="120" height="30" bgcolor="#FFFFFF">75</td>
    <td width="120" height="30" bgcolor="#cccccc">8</td>
    <td width="120" height="30">90</td>
  </tr>
</table>
End of explanation
# 対応のあるt検定
significance = 0.05
X = [68, 75, 80, 71, 73, 79, 69, 65]
Y = [86, 83, 76, 81, 75, 82, 87, 75]
t, p = stats.ttest_rel(X, Y)
print('t 値は %(t)s' %locals())
print('確率は %(p)s' %locals())
if p < significance:
    print('有意水準 %(significance)s で、有意な差があります' %locals())
else:
    print('有意水準 %(significance)s で、有意な差がありません' %locals())
Explanation: <h4 style="border-bottom: solid 1px black;">対応のある t検定</h4>
End of explanation
kokugo =   [90, 75, 75, 75, 80, 65, 75, 80]
sansuu = [95, 80, 80, 80, 75, 75, 80, 85]
# 練習2.3
Explanation: <h4 style="padding: 0.25em 0.5em;color: #494949;background: transparent;border-left: solid 5px #7db4e6;">練習2.3</h4>
国語と算数の点数に差があるかどうか検定してください。
<table border="1" bgcolor="#FFFFFF" cellpadding="0" cellspacing="0" align="center">
  <tr align="center"> 
    <th width="120" height="30" bgcolor="#ffffcc">６年１組</th>
    <th width="120" height="30" bgcolor="#ffffcc">国語</th>
    <th width="120" height="30" bgcolor="#ffcccc">算数</th>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc"> 1</td>
    <td width="120" height="30" bgcolor="#FFFFFF"> 90</td>
    <td width="120" height="30"> 95</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">2</td>
    <td width="120" height="30" bgcolor="#FFFFFF">75</td>
    <td width="120" height="30">80</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">3</td>
    <td width="120" height="30" bgcolor="#FFFFFF">75</td>
    <td width="120" height="30">80</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">4</td>
    <td width="120" height="30" bgcolor="#FFFFFF">75</td>
    <td width="120" height="30">80</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">5</td>
    <td width="120" height="30" bgcolor="#FFFFFF">80</td>
    <td width="120" height="30">75</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">6</td>
    <td width="120" height="30" bgcolor="#FFFFFF">65</td>
    <td width="120" height="30">75</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">7</td>
    <td width="120" height="30" bgcolor="#FFFFFF">75</td>
    <td width="120" height="30">80</td>
  </tr>
  <tr align="center"> 
    <td width="120" height="30" bgcolor="#cccccc">8</td>
    <td width="120" height="30" bgcolor="#FFFFFF">80</td>
    <td width="120" height="30">85</td>
  </tr>
</table>
End of explanation
# 1要因の分散分析
significance = 0.05
a = [34, 39, 50, 72, 54, 50, 58, 64, 55, 62]
b = [63, 75, 50, 54, 66, 31, 39, 45, 48, 60]
c = [49, 36, 46, 56, 52, 46, 52, 68, 49, 62]
f, p = stats.f_oneway(a, b, c)
print('f 値は %(f)s' %locals())
print('確率は %(p)s' %locals())
if p < significance:
    print('有意水準 %(significance)s で、有意な差があります' %locals())
else:
    print('有意水準 %(significance)s で、有意な差がありません' %locals())
Explanation: <h2 STYLE="background: #c2edff;padding: 0.5em;"><a name="3">2.3 分散分析</a></h2>
End of explanation
group1 = [80, 75, 80, 90, 95, 80, 80, 85, 85, 80, 90, 80, 75, 90, 85, 85, 90, 90, 85, 80]
group2 = [75, 70, 80, 85, 90, 75, 85, 80, 80, 75, 80, 75, 70, 85, 80, 75, 80, 80, 90, 80]
group3 = [80, 80, 80, 90, 95, 85, 95, 90, 85, 90, 95, 85, 98, 95, 85, 85, 90, 90, 85, 85]
# 練習2.4
Explanation: <h4 style="padding: 0.25em 0.5em;color: #494949;background: transparent;border-left: solid 5px #7db4e6;">練習2.4</h4>
下記のデータを用いて、分散分析を行ってください。
End of explanation
<END_TASK>