分散の有意差検定をしよう

グループのリーダーが colabにアクセスし、 クラウド上に新しいノートブックを作成してください。 リーダーがノートブックをメンバーと共有し、 全てのメンバーがノートブックを閲覧できることを確認してください。

メンバーのひとりが、 下記のpythonコードをにコピペしてください。 メンバー全員に共有できていることを確認してください。

下記のサイトから、 年齢選び、日本人の体重または身長の平均値と、標準偏差を選びましょう。

標本数を変えたときの母分散と不偏分散との関係がどう変わるか調べてみましょう。 危険率を与えたとき、男女の分散が有意差であると検定できるには、どれくらいの標本が必要か議論してみましょう。

https://www.e-stat.go.jp/dbview?sid=0003224177

分散の有意差検定(F検定)

  1 分散の有意差検定(F検定)
python →cgi→ pngsvghtml
  2 分散の有意差検定( F検定)
python (colab)→ pngsvghtml

母分散の有意差検定


# ■■■ 母分散の有意差検定 ■■■

#帰無仮説H0:分散が等しい
#対立仮説H1:分散に有意差がある

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import random
from scipy import stats

sm = 52.2 # 平均(母平均)
ss = 9.5 # 標準偏差(母標準偏差)
sn = 10000 # 母数
en = 20 # 標本数
x = np.random.normal(loc=sm, scale=ss, size=sn)
sampled = random.sample(x.tolist(), en) #無作為抽出
vf = np.var(sampled,ddof=1) #ddof=1を指定して、標本分散ではなく不偏分散を求める
y = [ 0.5 for p in sampled]

smm = 64.8 # 平均(母平均)
ssm = 13.9 # 標準偏差(母標準偏差)
xm = np.random.normal(loc=smm, scale=ssm, size=sn)
sampledm = random.sample(xm.tolist(), en) #無作為抽出
vm = np.var(sampledm,ddof=1) #ddof=1を指定して、標本分散ではなく不偏分散を求める

ym = [ -0.5 for p in sampledm]

f = vm/vf if vm>vf else vf/vm #F値が1以上になるようF値を求める
dfn = en - 1 #自由度は標本数-1
dfd = en - 1 #自由度は標本数-1
p = 1 - stats.f.cdf(f, dfn=dfn, dfd=dfd) #累積分布関数の右側の面積
result = "Significant" if p<0.05 else "Not significant"

fig = plt.figure()

ax1 = fig.add_subplot(3, 1, 1)
ax2 = fig.add_subplot(3, 1, 2)
ax3 = fig.add_subplot(3, 1, 3)

ax1.hist(x, color="pink",alpha=0.2)
ax1.axvline(np.mean(x),c="r")
ax1.axvspan(xmin=np.mean(x)-np.std(x), xmax=np.mean(x)+np.std(x), color="pink", alpha=0.8)
ax1.text(sm, sn/5, " $\sigma_\mathrm{f}$ = " + "{:.1f}".format(ss))

e2 = patches.Ellipse(xy=(np.mean(sampled), +0.5), width=np.std(sampled)*6, height=0.2, fc='pink')
ax3.add_patch(e2)
ax3.axvspan(xmin=np.mean(sampled)-np.std(sampled), xmax=np.mean(sampled)+np.std(sampled), color="pink", alpha=0.3)
ax3.axvline(np.mean(sampled),c="r")
ax3.scatter(sampled,y,c="r")
ax3.text(np.mean(sampled), +0.25, " $s_\mathrm{f}$ = " + "{:.1f}".format(np.std(sampled,ddof=1)))

ax2.hist(xm,color="cyan",alpha=0.2)
ax2.axvline(np.mean(xm),c="b")
ax2.axvspan(xmin=np.mean(xm)-np.std(xm), xmax=np.mean(xm)+np.std(xm), color="cyan", alpha=0.8)
ax2.text(smm, sn/5, " $\sigma_\mathrm{m}$ = " + "{:.1f}".format(ssm))

e1 = patches.Ellipse(xy=(np.mean(sampledm), -0.5), width=np.std(sampledm)*6, height=0.2, fc='cyan')
ax3.add_patch(e1)
ax3.axvspan(xmin=np.mean(sampledm)-np.std(sampledm), xmax=np.mean(sampledm)+np.std(sampledm), color="cyan", alpha=0.3)
ax3.axvline(np.mean(sampledm),c="b")
ax3.scatter(sampledm,ym,c="b")
ax3.text(np.mean(sampledm), -0.35, " $s_\mathrm{m}$ = " + "{:.1f}".format(np.std(sampledm,ddof=1)))

ax3.text(30, 0, result)
ax3.text(30, 0.2, "$F$ = {:.3f}".format(f))
ax3.text(30, -0.2, "$p$ = {:.3f}".format(p))

plt.show()


# ■■■ 母分散の有意差検定 ■■■


©K.Tachibana

colabの概要

colab は、googleのpythonプラットフォームです。


ワークショップについて

ワークショップを楽しみましょう 1 ) 。 グループ人数は、5〜6名とします。 7名を超えないようにしてください。

初対面の場合は、自己紹介をしましょう。 雑談をして、アイスブレイクしましょう。

リーダー(司会進行)を決めてください。 そのほかのメンバーの 役割(記録係、資料作成係、プレゼンター( 登壇者))を決めてください。

グループ名を決めてください。

記録係は、試験答案用紙表面の最上部に、授業科目名、グループ名を記入してください。 メンバーは、記録係に従い、学籍番号、氏名、役割を直筆署名してください。 その際、 筆頭著者を登壇者の氏名の前に〇をつけてください。

討論を開始したら、記録係は討論の内容を裏面に記録してください。

討論がまとまったら、資料作成係は、試験答案用紙表面グラフィカルアブストラクト に表現してください。

グラフィカルアブストラクトを撮影し、WebClassにアップロードしておくと復習に便利です。

登壇者は、プレゼンテーションのイメージをしましょう 2 ) メラビアンの法則を意識して、 非言語表現も工夫しましょう 3 )

グループ名が指名された後で、じゃんけんなどで登壇者を決めるのは、授業進行の妨げとなりますので、 必ず、討論前に 登壇者を決めてください。

記名だけして、討論に参加しない場合、不正行為として扱うことがありますので、必ず討論に参加してください。 自分から参加できなそうな人には、積極的に声がけをお願いします。 期末の成績評価申請時に、グループ名やメンバー、討論の内容を思い出せるよう、答案用紙を撮影することを推奨します。

ランダムにグループを指名し、壇上で、 プレゼンテーションしてもらいます 4 ) 。 質疑応答の際も、グループを指名しますので、指名されたグループのプレゼンターが質問、コメント、アドバイスをしてください。 ディベートとしての反対意見は、大歓迎です。

資料作成係は、討論の内容をポスターとして、試験答案用紙の裏面にまとめてください。 資料作成係に従って、他のメンバーが代筆してもかまいません。

*

✍ 平常演習

平常演習の配点と取り扱いについて

平常演習の配点は、授業1回ごとに、一律加点です。 平常演習には、ワークショップ、意見交換、発表、質疑応答など授業時間内の学習活動を含みます。 そのほかに授業時間外の0.5時間の学習活動を含みます。 平常点は、期末にWebClassの成績評価申請書に申告していただき集計します。

授業時間外の活動の一助としてWebClassへの提出を推奨します。〆切は講義後1週間です。 ただし平常点の加点は、授業時間内の学習活動も含みますので、 WebClassへの提出のみでの、平常点の申告はご遠慮ください。

WebClassへの平常演習提出は、推奨しますが、必須ではありません。 提出されていなくとも、成績評価申請書に、各回の授業時間以外の0.5時間の取り組みが申告されれば十分です。未提出だからと心配することはありません。

成績評価申請書では、それぞれの授業で何を学び身につけたかを申告してもらいます。 WebClassに提出したかどうかより、身につけることを優先してください。 授業で取り上げたトピックや、グループワークの意見交換の内容は、期末までノート 5 ) などに記録しておくことを推奨します。 逆に授業に参加していないのに、WebClassの出席や提出だけの場合は不正行為として扱うことがあります。 平常の取り組みだけで、「到達目標を最低限達成している。成績区分:C」となります。 評点が60点に満たない場合は、不合格となります。 欠席した場合、課外報告書へ取り組むことで挽回してください。 出席が60%に満たない場合、課外報告書を提出しても、単位認定できません。


参考文献


QRコード
https://edu.yz.yamagata-u.ac.jp/Public/53225/_99/q_169_QC_12.asp
名称: 教育用公開ウェブサービス
URL: 🔗 https://edu.yz.yamagata-u.ac.jp/
管理運用 山形大学 学術情報基盤センター

🎄🎂🌃🕯🎉
名称: サイバーキャンパス「鷹山」
URL: 🔗 http://amenity.yz.yamagata-u.ac.jp/
管理運用 山形大学 データベースアメニティ研究会
〒992-8510 山形県米沢市城南4丁目3-16

Copyright ©1996- 2024 Databese Amenity Laboratory of Virtual Research Institute,  Yamagata University All Rights Reserved.