講義の要点をGoogleColabで記録し試験対策に役立てましょう。
「ノートブックを開く」という画面になりますが、一旦キャンセルをクリックします.
「Colab
へようこそ」のページで概要の説明があり、左にこのページの目次が表示されています.
「Colab へようこそ」は見本と考えてください。
文章とプログラムを含み、word,excel を合わせた機能を持ちます。
文章の部分をダブルクリックしてください。
左がmarkdown というマークアップ言語、右がプレビューとなります。
(エスケープ Esc で文章表示に戻ります)
これをテキストセルといい、これらをつなげて文書を作成します。
左上の目次をクリックすると目次が表示されます。
「#は目次の階層を表しています」#の後に半角スペースを入れます。
「#をつけなければ、普通の文章になります」半角スペース2個で改行します。
# 情報科学
## 1章 度数分布
### 例題1
### 演習1
GoogleColab では Python, R, Julia の3種類のプログラム言語を使用することができます。
ランタイムから「ランタイムのタイプを変更」をクリックすると、デフォルトではPythonになっていることが分かります.
R に変更して保存をクリックします。
+コード を押し、次のコードをコピペします。
▶️を押すと a に値が代入されます。
a<- c(51,31,75,81,40,92,52,65,64,43,35,
62,75,53,65,80,85,63,92,39,72,66,
45,52,59,73,39,55,53,40,85,49,56,
55,75,95,35,53,62,45,44,65,75,43,
50,45,55,75,60,45,58,33,44,60,50)
h <- hist(a,breaks=seq(29.5, 99.5, by = 10))
次の演習1のコードをコピペして実行しましょう。
a<- c(160,159,164,158,156,169,153,154,159,161,
157,157,151,159,166,145,155,161,161,150,
158,164,165,157,158,160,162,165,159,155,
162,155,154,157,165,157,154,163,162,158,
169,155,160,164,158,159,149,154,156,155)
h <- hist(a,breaks=seq(144.5, 172.5, by = 4),col=0, border=1)
Rには正規分布に従うデータを出力する関数 rnorm があります。
rnorm(生成する乱数の数, 平均値, 標準偏差)
次のコードは、平均 mean=2 、標準偏差 sd=1
の正規乱数を1000個生成し、ヒストグラムを出力します。
平均を中心とし左右に 2 sd の範囲に 95%
のデータが集まっていることがわかります。
x <- rnorm(1000,mean=2,sd=1)
hist(x)
面積が確率を表すようにするには、prob=TRUE を付け加えます。
縦軸は、Density(確率密度)となります。
dnorm(x, 平均値, 標準偏差) は理論関数を出力します。
dnorm(x,2,1) は、平均 mean=2 、標準偏差 sd=1 の理論関数です。
curve は、関数のグラフを描画する関数です。
add=True でグラフは重ね書きされます。
col で色を指定できます。次の図の赤い曲線は、理論上のグラフです。
hist(x,prob=T,col="lightblue")
curve(dnorm(x,2,1),add=TRUE,col="red")
<まとめ>
これがシミュレーションの流れです。
確率変数 X が 平均 μ 標準偏差 σ の正規分布に従うとき、
\(X\sim N(\mu,\sigma^2)\) と書きます。
rnorm(1000, 5, 2) は、平均 m = 5 、標準偏差 s = 2 のデータを1000個出力します。
hist(rnorm(1000, 5, 2) ,breaks="sturges",prob=T,col="lightblue",xlim=c(-6,6),ylim=c(0,0.4),xlab="")
hist(rnorm(1000, 5, 2)-5 ,breaks="sturges",prob=T,col="lightblue",xlim=c(-6,6),ylim=c(0,0.4),xlab="")
hist((rnorm(1000, 5, 2)-5)/2 ,breaks="sturges",prob=T,col="lightblue",xlim=c(-6,6),ylim=c(0,0.4),xlab="")
hist(rnorm(1000, 5, 2) ,breaks="sturges",prob=T,col="white",xlim=c(-6,6),ylim=c(0,0.4),xlab="")
hist(rnorm(1000, 5, 2)-5,prob=T,col="lightpink",add=T)
hist((rnorm(1000, 5, 2)-5)/2 ,breaks="sturges",prob=T,col="lightblue",add=T)