🏠
🌡️ 📆 令和5年9月28日

◇ 平均値の区間推定- ロットアウトを防ごう-

山形大学  理工学研究科(工学系)  化学・バイオ工学科  🔋 C1 📛 立花和宏

🔚 品質管理 🏫 Web Class syllabus 53225 📆 🌸 前期 火 🕐 13:00~14:30 🕝 ( 中示B) Files C1

数学と数値計算

プログラミング言語

表   1 プログラミング言語の種類
種類 分類 言語 特徴
インタプリタ Webアプリ JavaScript Webブラウザ上で動作(クライアントサイド)
vb script(vbs,vba,asp)
AI Webアプリ python ( パイソン ) 1 ) * データサイエンス * 、 マテリアルズインフォマティクス *、AI
教育 Scratch ビジュアルプログラミング
コンパイル OS C ポインタ、構造体
汎用 VB.NET オブジェクト指向(多重継承なし)
汎用 Kotlin アンドロイドアプリ向け
OS C++ オブジェクト指向
colab jupyter

ファイルベースのシステムでは、コンパイラ言語は実行可能なファイルを生成し、 インタプリタ言語はそれを生成しないという違いがありました。 しかし、クラウドベースになって、実行ファイルそのものをクライアントにダウンロードしなくなり、 ジャストインコンパイルで実行結果だけを利用するようになると コンパイラ言語とインタプリタ言語の違いは、あまり本質的でなくなりました。

科学技術用の伝統的な言語としては、FORTRANがあります。 FORTRAN系列の言語としては、BASIC、pythonがあります。 統計用言語としてRがあります。

アルゴリズム重視の伝統的な言語としてALGOLがあります。 ALGOLは、Pascal, C, C++, C#,java, javascript, typescript, Kotlinと進化してきました。 juliaはCに迫る計算速度を誇ります。

サーバーサイドで使われてきたPerlや Ruby もクラウドで利用できるようになってきました。

人工知能で伝統的な言語Lispは、F#、 Schemeもクラウドで利用できるようになってきました。

人気 プログラミング言語 は、java script、そしてpython*と続きます。 *


体重

表   2 21才女性の体重データの例
番号 値 番号 値 番号 値 番号 値 番号 値
1  66.18 2  54.13 3  50.06 4  43.18 5  43.87
6  64.76 7  74.76 8  60.21 9  58.86 10  52.33
11  26.14 12  69.35 13  33.84 14  48.95 15  50.69
16  37.56 17  48.67 18  60.35 19  65.56 20  67.03
21  61.08 22  35.73 23  57.75 24  55.05 25  58.68
26  43.33 27  44.66 28  54.22 29  59.91 30  57.67
31  33.80 32  62.52 33  67.09 34  69.43 35  62.79
36  45.12 37  47.26 38  61.04 39  59.94 40  44.66
41  60.51 42  61.25 43  56.09 44  62.33 45  51.32
46  61.75 47  62.72 48  37.94 49  39.78 50  52.89
51  56.76 52  39.68 53  53.18 54  35.83 55  42.81
56  57.82 57  52.65 58  46.69 59  48.85 60  52.60
61  43.02 62  68.55 63  69.51 64  69.31 65  51.58
66  56.69 67  57.28 68  65.83 69  42.20 70  47.84
71  57.19 72  59.19 73  39.09 74  39.05 75  56.64
76  46.40 77  54.51 78  40.23 79  49.29 80  69.30
81  58.91 82  56.15 83  54.10 84  54.69 85  39.86
86  38.07 87  66.79 88  70.23 89  71.10 90  35.97
91  56.52 92  43.17 93  45.77 94  78.56 95  76.19
96  52.16 97  49.83 98  60.82 99  46.95 100  46.96
表   3 統計量
項目 全数検査(母集団) 抜き取り検査(標本)
数 母数n=100 標本数=9
平均 母平均 μ =53.77 標本平均=x_ 47.80
標準偏差 母標準偏差σ=10.81 標本標準偏差s=10.19
分散(Variance) 母分散σ2=116.83 不偏分散s2=103.78
偏差平方和 S=5,377.21 S=430.20

標本標準偏差は、母標準偏差の 不偏推定量ではないが、母標準偏差の推定は、 近似的に標本標準偏差で行うことが多い 2 ) 3 ) 。


平均

表   4 平均
アプリ& 言語 プログラム例
SQL * select AVG(price) from products
Python * average = statistics.mean(data)
average = np.mean(data)
Google sheet * E3= AVERAGE(B3:D3) E4= AVERAGEA(B3:D3)
Excel * E3= AVERAGE(B3:D3)

算術平均のほかに、調整平均(トリム平均)も使われます。 4 ) 5 )

*

標準偏差

表   5 標準偏差
アプリ& 言語 プログラム例
SQL * * select STDEVP(price) from products
Python 6 ) * std = statistics.stdev(data)
Google sheet *
Excel *

7 ) 8 ) 9 )


正規乱数のヒストグラムと、そこから無作為抽出されたヒストグラム

図   1 正規乱数のヒストグラムと、そこから無作為抽出されたヒストグラム
©K.Tachibana
確率分布

正規乱数のヒストグラムと、そこから無作為抽出されたヒストグラムム

import numpy as np
import matplotlib.pyplot as plt
import random

sm = 52.2 # 平均(母平均)
ss = 9.5 # 標準偏差(母標準偏差)
sn = 10000 # 母数
en = 5 # 標本数
x = np.random.normal(loc=sm, scale=ss, size=sn)
sampled = random.sample(x.tolist(), en) #無作為抽出

fig = plt.figure()

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

ax1.hist(x)
ax2.hist(sampled)
plt.show()

average1 = np.mean(x)
stdev1 = np.std(x)

average2 = np.mean(sampled)
stdev2 = np.std(sampled)

print('inf',sm,ss)
print(sn,average1,stdev1)
print(en,average2,stdev2)

©K.Tachibana

平均値の有意差検定(t検定)

図   2 母平均の有意差検定( t 検定)
python (colab)→ png→ svg→ html

平均値の有意差検定

# ■■■ 平均値の有意差検定 ■■■

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 = 5 # 標本数
x = np.random.normal(loc=sm, scale=ss, size=sn)
sampled = random.sample(x.tolist(), en) #無作為抽出
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) #無作為抽出
ym = [ -0.5 for p in sampledm]

t, p = stats.ttest_ind(sampled, sampledm, alternative='two-sided')
#alternative=two-sided(両側検定), less(小なり片側検定), greater(大なり片側検定)
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")
ax1.axvline(np.mean(sampled),c="r")
ax1.text(np.mean(sampled), sn/5, " $\mu_\mathrm{f}$ = " + "{:.1f}".format(sm))

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, " $\overline{x}_\mathrm{f}$ = " + "{:.1f}".format(np.mean(sampled)))

ax2.hist(xm,color="cyan")
ax2.axvline(np.mean(sampledm),c="b")
ax2.text(np.mean(sampledm), sn/5, " $\mu_\mathrm{m}$ = " + "{:.1f}".format(smm))

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, " $\overline{x}_\mathrm{m}$ = " + "{:.1f}".format(np.mean(sampledm)))


ax3.text(30, 0.15, "$t$ = {:.3f}".format(t))
ax3.text(30, -0.15, "$p$ = {:.3f}".format(p))

plt.show()


# ■■■ 平均値の有意差検定 ■■■

©K.Tachibana

表   6 アプリの種類
種類例説明
ワープロ 論文や 報告書、あるいはそれらの 要旨などの 文書を作成、印刷するアプリです。
表計算 数値を計算し、表や グラフなどの図表を作成するアプリです。 平均、 標準偏差などの統計量も計算できます。 データ の件数は 30件程度までが適切です。 それ以上の件数の場合、データベースアプリと連携して 抽出した データ を使う方が効率的です。
プレゼンテーション 講演スライドやポスターを作成できます。
グラフィックス 図形や 写真などの 画像の作成や編集をします。
CAD Solid works *
Webページ作成 HTML editor
データベース Microsoft Access Microsoft SQL Server
動画編集
プログラミング google colab
ビジネス ・グループウェア
  • メール
  • チャット
    • Slack
  • 会議 Zoom, Teams, Meet
  • カレンダー、連絡先、名刺交換

アプリ には、 オペレーティングシステム (OS) 上で動く、インストールアプリと、 Webブラウザ 上で動く Webアプリがあります。

アカウント を有効化して、サービスや アプリ を利用する(ログイン、ログオン、サインイン)には、 認証が必要です。

人気 プログラミング言語 は、java script、そしてpyton*と続きます。 *


表   7 数・数字・ 数値
概念種類例
数 自然数 1,2
有理数 -1(整数、負数),0.5(小数),1/3(分数)
無理数 √2(無理数)は、根号と数字で表現されます。 π(円周率)、e(ネーピアの底)は数を表現する文字ですが、数字ではありません。
数字 算用数字 1234567890 アラビア数字、インド数字と呼び名には歴史的経緯があります。 0という数字の発明により * 、数値に桁(デジット)の概念が導入され、計算が著しく早くなりました。
漢数字 一二三壱弐参
ローマ数字 ⅠⅡⅢⅣⅤ 11世紀 商人が計算に便利な算用数字を使おうとしていたところ、 ギルドが公文書でその使用を禁止しました * 。
数値 数量を数字で表現
(デジタル表示)
3.14,6.02×1023 量を数にするには、 単位 が必要です。 ただし、 単位 は、人が決めたものなので、物理の範疇にはありません *。 数値は、数式に代入することができます。 量と量との関係を表現した物理の関係式は、人が決めた 単位 に依存しないので、 単位 を書くべきではありません。

数を数字で表現する方法として、アラビア数字による位取り記数法があります。(新 情報技術基礎p.26) コンピュータの内部では、符号付き整数、 倍精度浮動小数点数型(FP64-64bit)、などとして表現されます。

データは、思想や感情を含まないメディアにデジタル記録可能な表現です。

e-stat 平均身長・平均体重

◇ 参考文献

品質管理


QRコード
https://edu.yz.yamagata-u.ac.jp/Public/53225/53225_10.asp

山形大学 データベースアメニティ研究所
〒992-8510 山形県米沢市城南4丁目3-16
3号館(物質化学工学科棟) 3-3301
准教授 伊藤智博
0238-26-3573
http://amenity.yz.yamagata-u.ac.jp/

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