FC2ブログ
2018年08月 / 07月≪ 12345678910111213141516171819202122232425262728293031≫09月

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
EDIT  |  --:--  |  スポンサー広告  |  Top↑

2009.09.01 (Tue)

Rと統計学―その4

今日から徐々にモンハンから抜けだし、お勉強に向かうと思う。あと引っ越しの準備もちょくちょく進行中。部屋がだんだんとさびしくなってきている。

前回までのRは、株価やその収益率をプロットしたりしてた。今回から統計学の要素を若干増やしつつ、理論だけでなく、実際にソフトをイジイジしていこうと思う。


まずは乱数を作る方法。

x <- runif(10000,min=0, max=1) 区間[0,1]の一様乱数を10,000個

同様のことは、

y <- runif(10000)*1

でもできる。以下後者を採用。このイ兆乱数をヒストグラムで表すと以下の様になる。

hist(x)

一様乱数

次にこの一様乱数10個の標本平均がどうなるかを見る。

x <- numeric(10000) xは実数10,000個のデータ
for(i in 1:10000){ 1~10,000までのxそれぞれは
x[i] <- mean(runif(10)*1) 一様乱数10個の平均
}
hist(x) xをヒストグラムで描く

ここでのxは先述のxと違って、一様乱数10個の平均になっていて、それが10,00個あることに注意しないといけない。そしてこの結果は以下のようになった。
ヒストグラム正規分布

やる夫で学ぶ~でも出てきた「中心極限定理」の妙技ですわな。実際にこのxの平均と標準偏差を求めてやって、その値を持つ正規分布との当てはまり具合を視覚的に見てみる。

> mean(x) xの平均は?
[1] 0.4988741
> sd(x) xの標準偏差は?
[1] 0.09093196

これらの平均と標準偏差をもつ正規分布と、ヒストグラムを重ね合わせる。

xv <- seq(0, 1, 0.001) 0から1で等差0.001の等差数列*1
x <- numeric(10000)
for(i in 1:10000){
x[i] <- mean(runif(10)*1)
}
hist(x, ylim=c(0,2200))
yv <- dnorm(xv, mean=mean(x), sd=sd(x))*500 xvでの正規確率密度関数の値*2
lines(xv, yv)

正規分布2
*1 密度関数のなめらかな曲線を描くために、密度関数の横軸を細かく刻むため
*2 確率密度関数は面積(積分)が1。対して今回のヒストグラムは幅が0.05で10,000個のデータなので、面積は500.。その補正のために密度関数の値に500を掛ける。

次回はある変数が正規分布に当てはまるかの検定を学ぶ。実際の何らかのデータをいじれればなお良いと思う。



スポンサーサイト

テーマ : 勉強日記 ジャンル : 学問・文化・芸術

EDIT  |  23:02  |  コンピュータ  |  TB(0)  |  CM(0)  |  Top↑

*Comment

コメントを投稿する

URL
COMMENT
PASS  編集・削除するのに必要
SECRET  管理者だけにコメントを表示
 

*Trackback

この記事のトラックバックURL

この記事へのトラックバック

 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。