最小二乗法で直線の信頼区間と予測区間を求めよう

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

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

下記のサイトから、性別を 年齢選び、日本人の身長の平均値と、標準偏差を探しましょう。 次にその性別と年齢でのBMIの平均値と、標準偏差を探しましょう。

標本数を変えたときのBMIの値がどう変わるか調べてみましょう。 信頼区間と予測区間の意味の違いについて議論してみましょう。

またBMIのような指数と年齢や性別の相関はどうなっているのが理想なのか議論してみましょう。

身長・体重: https://www.e-stat.go.jp/dbview?sid=0003224177
BMI: https://www.e-stat.go.jp/dbview?sid=0003224178

最小二乗法

  1 最小二乗法
©K.Tachibana

最小二乗法

# ■■■ 最小二乗法 ■■■
import numpy as np
import random
import matplotlib.pyplot as plt
from scipy.stats import t

smh = 158.4 # 平均(母平均):21才、女子身長
ssh = 4.5 # 標準偏差(母標準偏差):21才、女子身長

smw = 52.6 # 平均(母平均):21才、女子体重
ssw = 7.5 # 標準偏差(母平均):21才、女子体重

bmimw = 21 # 平均(母平均):20才台、女子BMI
bmisw = 2.9 # 標準偏差(母平均):20才台、女子BMI

sn = 2000 # 母数
en = 20 # 標本数
r = 0.5 #相関係数

# 17	158.4	4.5	16	52.6	7.5

h = np.random.normal(loc=smh, scale=ssh, size=sn)
h2w = [(p*p/10000, random.gauss(bmimw, bmisw) * p*p /10000) for p in h]
#BMI = w/h^2 = 22
#https://www.e-stat.go.jp/dbview?sid=0003224178

fig, ax = plt.subplots() # Figureオブジェクトとそれに属する一つのAxesオブジェクトを同時に作成

u,v = zip(*h2w)
A = np.vstack((np.array(u), np.ones(len(u)))).T
vv = np.array(v).T
uu, residuals, rank, s = np.linalg.lstsq(A, vv, rcond=None)
au = uu[0]
bu = uu[1]

#au = np.cov(u, v)[0][1] / np.var(u)
#bu = np.mean(v) - au * np.mean(u)
u1 = np.array([np.mean(u) - np.std(u)*3 , np.mean(u) + np.std(u)*3])
v1 = bu + au * u1  # 回帰曲線
ax.annotate("$w=$"+ "{:.1f}".format(au) + "$h^2+$" + "{:.1f}".format(bu)\
            ,xy = (np.mean(u) , np.mean(v))\
            ,xytext = (np.mean(u)+ np.std(u), np.mean(v)- 3*np.std(v))\
            ,arrowprops=dict(arrowstyle="->"))

x2y = random.sample(h2w, en) #無作為抽出
x,y = zip(*x2y)

A = np.vstack((np.array(x), np.ones(len(x)))).T
vv = np.array(y).T
uu, residuals, rank, s = np.linalg.lstsq(A, vv, rcond=None)
a = uu[0]
b = uu[1]
#a = np.cov(x, y)[0][1] / np.var(x)
#b = np.mean(y) - a * np.mean(x)
ax.annotate("$w=$"+ "{:.1f}".format(a) + "$h^2+$" + "{:.1f}".format(b)\
            ,xy = (np.mean(x) , np.mean(y))\
            ,xytext = (np.mean(x)+ np.std(x),np.mean(y)+ 3*np.std(y))\
            ,color="m",arrowprops=dict(arrowstyle="->"))

x1 = np.array([np.mean(x) - np.std(x)*3 , np.mean(x) + np.std(x)*3])
y1 = b + a * x1  # 回帰曲線
y_hat = [b + a * p for p in x]

alpha = 0.05 # 有意水準
n = len(x)
tvalue = t.ppf(1 - alpha / 2, n - 2) # 自由度n-2の時のt値(alphaを1/2することに注意)
ve = (np.sum(np.array(y) ** 2) - np.sum(np.array(y_hat) ** 2)) / (n - 2)
x_bar = np.mean(x)

conf = np.arange(np.mean(u) - np.std(u)*3 , np.mean(u) + np.std(u)*3, np.std(u)/16)
conf_hi = [b + a * p + tvalue * np.sqrt(1 / n + (p - x_bar) ** 2 / np.sum((x - x_bar) ** 2)) * ve for p in conf]
conf_lo = [b + a * p - tvalue * np.sqrt(1 / n + (p - x_bar) ** 2 / np.sum((x - x_bar) ** 2)) * ve for p in conf]

pred = np.arange(np.mean(x) - np.std(x)*3 , np.mean(x) + np.std(x)*3, np.std(x)/16)
pred_hi = [b + a * p + tvalue * np.sqrt(1 + 1 / n + (p - x_bar) ** 2 / np.sum((x - x_bar) ** 2)) * ve for p in pred]
pred_lo = [b + a * p - tvalue * np.sqrt(1 + 1 / n + (p - x_bar) ** 2 / np.sum((x - x_bar) ** 2)) * ve for p in pred]

ax.scatter(u,v,alpha=0.2)
ax.plot(u1,v1)
ax.plot(conf, conf_hi, 'k:', label='conf_95%')
ax.plot(conf, conf_lo, 'k:')
ax.fill_between(conf, conf_hi, conf_lo, facecolor='lightcoral', alpha=0.3)

ax.plot(pred, pred_hi, 'k:', label='pred_95%')
ax.plot(pred, pred_lo, 'k:')
ax.fill_between(pred, pred_hi, pred_lo, facecolor='lightgreen', alpha=0.2)

ax.scatter(x, y,color = "m")
ax.plot(x1, y1,color = "m")

ax.set_xlabel("Height$^2$ $h^2$ / m$^2$")
ax.set_ylabel("Weight $w$ / kg")

plt.show()

# ■■■ 最小二乗法 ■■■



©K.Tachibana


💯 課外報告書 Web Class

課外報告書の書き方について

課外 報告書 は、感想文ではありません。 データ の提示方法を工夫することで、 共著者の役割 の感情や思想を創作的に表現してください。 データ は、単なる実験事実や科学的数値です。 しかし、結果は、 著者による創作的な表現であり、 著作物です。

  1. できるだけ短く簡潔に。
  2. 事実をあるがまま(客観的)に。
  3. 感想や思い(主観)を交えない。
  4. 🆖美味しかった。🆖面白かった。
  2 報告書作成の心得
  1. 課題を確認する。
  2. 報告書 の主題(テーマ)を決める
  3. 報告書 の素材( 参考文献データ)を集める 1 )
  1. 報告書構成 (緒言、 方法、結果の内容) を考える
    1. 緒言 は、出典の明らかな 出版物 から。参考文献を明記する。
    2. 方法 は、読者が追試できるように具体的に過去形で書く。
      🆖多めのお湯を注いだ⇒🆗1000mL、100℃のお湯を注いだ
      🆖適宜、適量、約
      🆖ゆでて水にさらす⇒🆗ゆでて水にさらした
  2. 著者を確認する 2 )
  3. 本文の執筆(下書き、草稿)をする。
  4. 見直し(推敲)をする。
  5. 清書(脱稿)して、提出(報告)する。
  3 報告書作成と提出の流れ

課外報告書は、学習保証時間8時間を要件とします。 期末にWebClassに提出する成績評価申請書には、主題の決定から、脱稿までの、それぞれに要した時間も含めてもらます。 データは、三現主義(現場・現物・現実)にのっとって収集してください。


課外報告書を広く役立てよう

学校教育法第百十三条に、 「大学は、教育研究の成果の普及活用の促進に資するため、その教育研究活動の状況を公表するものとする。」 とあります。

提出して終わり、ではもったいありません。 評価のための提出ではなく、誰かを笑顔にする取り組みにしてみませんか?

取り組んだ内容について、ぜひ、友人、知人、家族など広く伝えて役立てましょう。 また、意見やアドバイスを積極的に取り入れましょう。 査読された内容ではありませんが、 SNSなどで伝えていくこともいいでしょう。 ホームページで公表することも推奨します。 そのやり方は、 情報処理概論の演習を活用してください。 公表にあたっては、ネットストーキングの被害などから身を守る工夫をしましょう。

評価のために提出するだけでは、それを誰かが複製して利用することはありません。 複製して利用する価値があるとき、複製する権利は、著者にあり、それを著作権と言います。

評価を得るために他人の著作物を複製行為は、著者の著作権の侵害となります。 また評価をえなかったとしても、他人の著作物の剽窃行為は、倫理的にいかがなものかと思います。


課外報告書に複数で取り組む場合の注意点

課外報告書に取り組むにあたって、複数人で取り組むことはかまいません。コミュニケーションをとって、チームとしてプロジェクトに取り組んでください。

報告書は、個人の著作物です。 協働でテーマに取り組んでも、ひとりひとりが独立に報告書を作成し、提出してください。

複数人で取り組んだことを明らかにするため、共著者として、共同研究者を書いてください。執筆者(提出者)を筆頭著者としてください。 共著者の役割を明らかにしてください。

慣例にしたがう引用は、かまいませんが、自分が執筆した部分と、共同研究者の著作から引用した部分が、区別できるようにしてください。その部分を、実際に誰が執筆したのか、明らかでないような、引用の仕方(コピペされているのに、誰が書いたかわからないような状態)は、ご遠慮ください。

図や写真は、独立した著作物とみなされます。その場合は、引用ではなく転載となります。たとえば、写真は撮影者に著作権があります。許諾をとったうえで、自分以外の共同研究者が撮影した写真を掲載する場合は、著作権のクレジットを明記してください。もちろん、協働制作物を、それぞれが写真に撮影した場合は、それぞれが、それぞれの写真の著作権を持ちますので、クレジット表記は必要ありません。

著作物とは、著者の感情や思想を、創作的に表現したものです。それを踏まえて、報告書を作成してください。

  1 研究不正(FFP)
項目 説明 事例
捏造 (fabrication) 実験していない データ を、でっちあげて、あたかも実験した データ のように表現してはいけません ディオパン事件 3 ) 4 )
改ざん (falsification)

データ情報を都合のいいように書き換えてはいけません。 で書かれた手書きの 文字は、改竄しづらいです。

盗用・剽窃 (plagiarism) 他人の 論文 やアイディアなどを無断でコピペしてはいけません。 デジタル技術の発達で、コピペが簡単になった分、盗用も簡単になりました。 たとえ、自分の既発表 論文でも、 引用 5 ) ではなくそのまま流用すると「自己剽窃」です。 図表 は、引用ではなく、転載なので原則として、転載許諾が必要です。
二重投稿 一度、公表した内容を使いまわしてはいけません。
不適切な オーサシップ 貢献していないのに、 著者として名を連ねてはいけません。 名義貸しです。名義借りはだめです。 他人の 論文や報告書を、代筆していけません。 *
査読不正 著者が、匿名査読者になりすまして査読してはいきません。 匿名査読者を特定し、査読に影響を与えてはいけません。 査読者が、査読中の論文の内容を、自分の内容として公表してはいけません。 ハゲタカジャーナル、ハゲタカ学会に投稿してはいけません。
不正行為の証拠隠滅 不正行為があったことの証拠を隠滅したり、立証を妨害してはいけません。

* *


課外報告書の配点と取り扱いについて

課外報告書の配点は一律10点加点です。

単位数を2単位とすると、2×30時間が標準学習保証時間です。 最低学習保証時間のほかに、取り組んだ内容1件につき一律10点加点します。 2×30時間を100点満点とし、そこから最低学習保証時間を差し引いて、10点で割ると、 課外報告書の標準的な学習時間が計算できます。 つまり、課外報告書の学習保証時間は、8時間(約1日)です。 十分な時間をかけていない報告書の提出は、不正行為として扱うこともあります。 また課外報告書は、教室でやれない課外活動の報告です。 現場・現実・現物などの実態を伴っていない報告書の提出は、不正行為として扱うことがあります。

予習報告書は、課外報告書として申請できます。 設問ごとに別々の報告とすることはできません。その場合は、二重投稿(自己盗用)の不正行為として扱うことがあります。

成績評価申請書では、書誌情報、課外報告書の要旨(アブストラクト)、費やした時間(学習保証時間)、かかったコスト、現場・現実・現物のエビデンスなど指定された要件を申告してもらいます。


✍ 平常演習

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

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

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

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

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


参考文献


QRコード
https://edu.yz.yamagata-u.ac.jp/Public/53225/_99/q_172_QC_13.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.