生物界から脊索動物門へ至るまでの分類

私たちヒトは、生物の区分としては動物界 脊索動物門 哺乳類網 霊長類目 ヒト科 ヒト属 ヒトです。今回は、脊索動物門までの分類について勉強しました。

今回の勉強では三胚葉動物亜界は旧口動物下界と新口動物下界に分けられ、前者には全動物界の80%もの動物(線形動物、袋形動物、環形動物、軟体動物、節足動物)が含まれるということです。一方、新口動物下界には棘皮動物と脊索動物が含まれます。棘皮動物には
、ヒトデ類やウニ類が含まれています。ヒトデやウニが案外、私たち脊索動物門に近いというのは驚きを覚えました。

【参考文献】
井出利憲「分子生物学講義中継 生物の多様性と進化の驚異」羊土社 2010 32pp




脊椎動物亜門

ヒトの生物の区分としては動物界 脊索動物門 哺乳類網 霊長類目 ヒト科 ヒト属 ヒトです。
界、門、網、目、科、属、種のうちの脊索動物門の中には、原索動物亜門と脊椎動物亜門が含まれています。脊椎動物亜門は、哺乳類、鳥類、爬虫類、両生類、硬骨魚類、軟骨魚類、無顎類(円口類)という7つの綱に分けられます。




【参考文献】
井出利憲「分子生物学講義中継 生物の多様性と進化の驚異」羊土社 2010 37pp

顕生代 Phanerozoic eonの区分


顕生代 Phanerozoic eonは、地質時代の区分のひとつです。先カンブリア時代の終わりから現在までのことで、約5億4,200万年前から現在までの期間を指します。顕生代とは「肉眼で見える生物が生息している時代」という意味ですが、実際には三葉虫などの生物化石が多数産出し始めるカンブリア紀以後を指します。生命の誕生が40億年前と一般に言われていますが、およそ35億年かかってカンブリア爆発を迎え、今日に至るわけです。時の流れの中で、この一瞬一瞬がなんて美しいものでしょうか。

顕生代の区分

【参考文献】
井出利憲「分子生物学講義中継 生物の多様性と進化の驚異」羊土社 2010 37pp

分類の階級

現在記載されている生物種は約1000万種類と言われています。
生物種の分類は界、門、網、目、科、属、種という用語を用いて行われます。

例)
・ヒト
動物界 脊索動物門 哺乳類網 霊長類目 ヒト科 ヒト属 ヒト

・ヤマザクラ
植物界 種子植物門 双子葉網 バラ目 バラ科 サクラ属 ヤマザクラ


【参考文献】
井出利憲「分子生物学講義中継 生物の多様性と進化の驚異」羊土社 2010 30pp

生物の歴史

137億年前:宇宙誕生(ビッグバン)
46億年前:地球の誕生
40億年前:原始海洋形成
40億年前:生命の誕生
35億年前:地球上での最古の化石(バクテリアの化石)
32億年前:光合成をする生物(藍藻 / シアノバクテリア)が誕生
27億年前:シアノバクテリアが大量発生して大気中の酸素濃度上昇
20億年前:大気中の酸素が紫外線と反応してオゾン層を生成
21億年前:ミトコンドリア、葉緑体、中心体等に相当する生物と共生した真核生物の出現
10億年前:多細胞生物が出現(最初はカイメン)
5.5億年前:カンブリア爆発
2億年前:ほ乳類の誕生
6500万年前:恐竜の絶滅、霊長類の誕生

50億年後:太陽の死


【参考文献】

・徒然なるままに 生命の誕生と40億年の進化

・Wikipedia 地球史年表表

・恐竜博士になろう DINO - KEN








生命の化学的特徴


生物の化学的な特徴については興味深い点が多いです。
生物は物質としてみたとき、地球表面にある軽い元素が主たる構成元素です。
特に、地殻にはケイ素が多いのに対して、ヒトの体には炭素が多いのが特徴です。これは、生物の体が有機化合物で構成されていることを反映しています。
地殻にも人体にも酸素分子が水分子の形で多量に含まれています。火星上の生命の有無を議論するときに表面に水流の痕跡があるかどうかが議論されるのはこのようなところから来ているのではないでしょうか。


井出利憲j「分子生物学講義中継 生物の多様性と進化の驚異」羊土社 2010 12pp

#####以下Rのソースコード#####
png("earth.png")
slices <- c(47, 28, 8, 5, 4, 3, 3, 2) 

lbls <- c("O", "Si", "Al", "Fe","Ca", "Na", "K", "Others")
pct <- round(slices/sum(slices)*100)
lbls <- paste(lbls, pct) # add percents to labels 
lbls <- paste(lbls,"%",sep="") # ad % to labels 
pie(slices,labels = lbls, col=rainbow(length(lbls)),main="The element of earth")
dev.off()


png("body.png")
slices <- c(63, 20, 9, 5, 1,2) 

lbls <- c("O", "C", "H", "H","Ca","Others")
pct <- round(slices/sum(slices)*100)
lbls <- paste(lbls, pct) # add percents to labels 
lbls <- paste(lbls,"%",sep="") # ad % to labels 
pie(slices,labels = lbls, col=rainbow(length(lbls)),main="The element of human body")
dev.off()

2群比較における検定方法の選択


『入門統計学』Ohmsha, 2011の206において、2群比較の検定法における選択基準が議論されています。




著者は、小標本であろうと大標本であろうと、parametricとnonparametricの両方の手法を用いた検定を推奨しています。


一般に、2群比較を行う場合、データの母集団が正規分布であるか検定を行います(ex. Shapiro test)。実験生物学の場面ではしばしば、サンプル数が5程度の小標本であることがあります。そういった場合、正規性の検定における検出力が小さく、正規性は棄却されません。一方、データ数を増やして行くと、検出力が上がりある程度の数になると大抵の場合、正規性が棄却されてしまします。そうしたジレンマを著者は指摘しています。


これを受けて著者は、「テキストによっては、標本サイズが小さい(データ数が少ない)場合にはノンパラメトリック手法を使うべきであると書いてあります。これは正しくもあり間違ってもいます。」と述べるに至っています。


しかし、私の経験上はあまりparametricとnonparametricの両手法による検定結果を併記しているケースに遭遇したことはありません。



【参考文献】
栗原 伸一『入門統計学』Ohmsha, 2011, 206pp

大数の法則と中心極限定理

#大数の法則
より大きいサイズの標本データから平均を求めると、真の平均に近づく


#中心極限定理
標本平均の分布に関する定理。ある程度の標本サイズがあれば「抽出元の母集団が正規分布でない場合も」、標本平均は正規分布に従う。


【参考文献】
栗原 伸一『入門統計学』Ohmsha, 2011, 58-60pp

精度と妥当性

標本抽出を行う上で欠かせないのが、精度と妥当性に対しての配慮です。
精度とは偶然誤差の度合いを指し示すもので、再現性repeatabilityとも呼ばれます。
一方、妥当性とは系統誤差の度合いを示すものです。

「偶然誤差、系統誤差をとおに小さくし、精度、妥当性の高い標本抽出を行わなくてはなりません」




中村良一「基礎から学ぶ 楽しい疫学」医学書院 2002 87 - 92pp

誤差の分類

私たちは、真の有病率や疾患のリスク因子といったものを知ることはできません。そこで、研究の対象集団である標的集団 target populationから観察集団 study populationを無作為に抽出して観察や介入を行います。
その過程で種々の誤差が生じることが知られています。今回はその誤差について系統的にまとめを行いました。

誤差にはまず大きく分けて偶然誤差と系統誤差biasがあります。偶然誤差はサンプリングにおける全くの偶然により生じるものです。これは統計学的推定や検定などの推測統計学による確率論的なアプローチで、誤差の大きさが可能です。一方、系統誤差は一定の方向性をもった誤差です。系統後さはさらに選択biasと誤分類を含む狭義の偏りと交絡に分けられます。狭義の偏りに関しては、研究計画段階でしっかりと制御しておくことが必須であり、解析段階では制御不能であることに注意が必要です。一方、交絡に関しては、解析段階でも制御可能です(もちろん、交絡に関係する変数に関する情報を入手しておくことが前提です)。


中村良一「基礎から学ぶ 楽しい疫学」医学書院 2002 88pp


代表的な確率分布

以下の図は代表的な確率分布を示しています。











##各分布をRを用いて描写する。


$ #Rを起動
$ R

png("binom.png")
#二項分布(n=20, p=0.25)
x<- 0:40
plot(x,dbinom(x,20,prob=0.25), type="h", main="Binomial distribution(n=20, p=0.25)")
dev.off()

png("poisson.png")
#λ=5のポアソン分布
x<- 0:40
plot(x, dpois(x, lambda=5, log=FALSE), type="h",
 main="Poisson distribution(lambda=5)")

png("z.png")
#標準正規分布
curve(dnorm(x,0,1), 
ylab="probability", main="Standard normal distribution(mean=0, S.D=1)", from=-4, to=4)
dev.off()

png("chi.png")
#自由度3のカイ2乗分布
curve(dchisq(x,3),from=0,to=20, 
ylab="probability", main="Chi square distribution(df=3)")
dev.off()

png("f.png")
#自由度(3,5)のF分布
curve(df(x,3,5), 
ylab="probability", main="F Distribution(df=3,5)")
dev.off()

#Rを終了
q()









【参考文献】
栗原 伸一『入門統計学』Ohmsha, 2011, 24-31pp


測定尺度によるデータ分類

データによって、実施できる計算や統計的手法が異なります。そのため、データの種類を分類することは大変重要です。

いかに、Stanley Smith Stevens(1946)による測定尺度によるデータ分類を示します。

以下各々のデータの種類に関して簡単な説明。

<比率データ>
長さや重さ、時間や金額など、絶対的なゼロ点を持っている測定尺度。加減乗除のすべてがゆるされる。
ex) 質量、長さ、年齢、時間、金額

<間隔データ>
絶対的なゼロ点を持たないデータ。加減法はできるが、乗除は許されない。「今日の気温は昨日の2倍暑いな」は許されない。
ex) 温度(摂氏)、知能指数 

<順位データ>
満足度を5段階で評価するときなどに使用。カテゴリデータが名義尺度が用いられるのに対して、順位データは順位尺度が使用される。代表値は中央値や、最頻値を使用。
ex) 満足度、選好度、硬度

<カテゴリデータ>
名義尺度で測定されたデータ。たんなり割り振り。直接できる演算は度数カウントのみ。代表値は最頻値が使用される。
ex) 電話番号、性別、血液型

【参考文献】
栗原 伸一『入門統計学』Ohmsha, 2011, 2-5pp


限られた社会的予算の下での医療プログラムの選択


大学の疫学の講義で大変印象深いと問いかけが行われたので紹介したいと思います。

「特定の疾患の患者200人の治療に1億円が用意されている。複数の医療プログラム(A, B, B')について、それぞれ期待される成果(HY: Healthy Life Year)と費用が表に示されている。皆さんなら、どの医療プログラムを選択しますか。」


表: 医療プログラムと成果及び費用



表:計算結果

これは、いわゆる費用対効果に関する問題提起です。プログラムBは患者1人あたりの費用が1000万円と高額であり、そのため患者集団全体への効果や受信可能患者割合は3つのうちで最低になっています。一番安価なプログラムAは100%の患者が受診できますが、患者集団全体を見た場合の効果はB'に劣っています。このような例は臨床現場でたくさん存在すると思います。次々に新薬が登場し、患者さんの利益につながる一方で財政面で深刻な問題を生じているのも事実です。医療政策とはこのような問題を扱うという点において、ひと味違ったやりがいがあるのではないかと想像します。

javascriptの埋め込み

javascriptはいろいろな場所に埋め込むことができます。今回は、document.write()を(1)HTML文書内,(2)外部ファイル, (3 - a)ブラウザで直接実行 (3 - b) の4パターンにわけてみたいと思います。


(1)HTML文書内

$ vim hello1.html


 <html>
<head>

<!-- HTML 4からmetaタグでデフォルトスクリプト言語をしていることが推奨されている -->
<meta http-equiv="Content-Script-Type" content="text/javascript">

<title>Hello, javascript</title>
</head>


<body>

<script language="JavaScript" type="text/javascript">
<!--   
        document.write("Hello embedded in body.");
// -->
</script>

</body>

</html>


$ open hello1.html





(2)外部ファイル
$ vim hello2.html

<html>
<head>

<!-- HTML 4からmetaタグでデフォルトスクリプト言語をしていることが推奨されている -->
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Hello, javascript</title>
</head>

<body>

<!-- 外部ファイルを読み込ませて事項するためにはsrc属性を追加すればよい -->
<script language="JavaScript" type="text/javascript" src="./hello.js">
</script>

</body>
</html>


$ vim hello.js

document.write("Hello embedded in the external source file.");

$ open hello2.html





(3 - a)ブラウザで直接実行
なにかページを開いている状態で、下の一行をアドレスバーへ入力
:javascript:alert("Hello in the address bar.")




(3 - b)リンクから実行

$ vim hello3b.html



<html>
<head>

<!-- HTML 4からmetaタグでデフォルトスクリプト言語をしていることが推奨されている -->
<meta http-equiv="Content-Script-Type" content="text/javascript">

<title>Hello, javascript</title>
</head>


<body>

<!-- リンク先にjavascriptのコードを入力することでリンク先としてコードを実行できる -->
<a href="javascript:alert('hello in link.');">Hello</a>

</body>

</html>

$ open hello3b.html




【参考文献】市井あきら 「 Ajax+JavaScriptコマンドブック」2006  Softbank Creative




カイ二乗分布

#計算結果を格納するベクトル
chi <- c()


#標準正規分布からn=4のサンプリングを10000回行い、各々の試行に関してカイ二乗値を計算し、chi[]の各要素に格納する。
for(i in 1 : 10000){
chi[i]  <- sum((rnorm(4, sd = 1, mean = 0)^2))
}

#chiオブジェクトの中身をヒストグラムとして描写
png("121224_chi.png")
hist(chi, xlab = "chi^2", ylab = "probability", main = "chi square distribution (k = 4 degree of freedom)" )
dev.off()


#自由度4のカイ二乗分布曲線を描写
png("121224_chi_2.png")
curve(dchisq(x,4), from=0, to=30, xlab= "chi^2", ylab = "probability", main = "chi square distribution (k = 4 degree of freedom)")
abline(h=0)
dev.off()














####数式のソースファイル#######
% chi.tex
\documentclass[a4j]{jarticle}
\usepackage{amsmath}

\begin{document}
$\chi ^2 $について書きます。今、$Z_1, Z_2, Z_3, \dots, Z_k$を独立な標準正
規分布$N(0,1)$に従う確率変数とする。ここで以下のように$\chi ^2$を定義する
\begin{eqnarray}
\chi^2 = Z_1^2 + Z_2^2 + \dots + Z_k^2
\end{eqnarray}
この確率変数$\chi^2$が従う確率分布を自由度$k$の$\chi^2$分布という。\\
Rを用いて実際に標準正規分布からサンプリングを行い、サンプルから計算した$\chi ^2$の分布の描写を行う。
\\
\\
【参考文献】 \\
東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 199 - 200pp.
\pagestyle{empty}
\end{document}

推測統計学 inferential statistics


近代統計学理論の基礎の建設者であるKarl Pearson(1851 - 1936)は、、統計学のことを "The Grammar of Science" と読んでいたそうです。これは、研究室で実験をしていると実感できることであると思います。
ところで、かつては現象の法則性をしるために、すべてを丹念に調べ(全数調査)、規則性から法則性を見いだす作業が行われていました。この統計学的手法のことを記述統計学 descriptive statisticsと呼びます。
記述統計学に対して、現代の統計学は一部を観察して、そこから論理性のある推測で全体の法則性の発見に至る手法が用いられています。このことを統計的推測 statistical inferenceと呼びます。またこのような統計学の分野を推測統計学 inferential statisticsと呼びます。

推測統計学を確率するにあたり、Pearsonは標本 sampleと母集団 populationの二つを明確に区別し、そこに確率論を本格的に導入した.
Pearsonが推定、仮説検定という土台を築き、それを基盤としてRonald Fisher(1890 - 1962)が、分散分析、実験計画法などの今日の統計学の中心的な手法を築き上げたそうです。

<推測統計学における重要な用語>
母集団 population : 本来、その特性を知りたいとわれわれが願う対象。数が膨大であったり(しばしば無限であることもある)、調査に費用がかかったり、未来ことであったりするために、全数調査ができないことが多い。

標本 sample : 母集団から分析のために選び出された要素

母集団分布 population distriution : 母集団のもつ分布。無限母集団(N=∞)であることがおおいため、確率分布f(x)を考えることが多い。別に、f(x)は連続型でも離散型でも良い。

#実際の分析においては、母集団分布の事前の過程において二つの取り扱い方がある。
パラメトリック parametric : 事前に母集団分布がある知られた確率分布であることが、理論的・経験的に分かっている場合
ノンパラメトリック nonparametric : 母集団分布の具体的な形が事前に不明の場合。この場合は、母集団分布にかかわらず広く定義できるパラメータで母集団分布を分析する。


母数 parameter : 母集団分布を決定する定数。
統計量 statistic : 標本を要約し、母集団の母数 parameterのいろいろな推測に使用されるもの。例) 標本平均、標本分散、最大値、最小値、etc.



【参考文献】 

東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 1,2,6, 176, 177, 178, 179pp.


幾何分布 geometric distribution






#災害の生じる確率
p <- 0.04
year <- 1: 30

#幾何分布に従う乱数を生成
dgeom(year, prob=p, log = FALSE)
 [1] 0.03840000 0.03686400 0.03538944 0.03397386 0.03261491 0.03131031
 [7] 0.03005790 0.02885558 0.02770136 0.02659331 0.02552957 0.02450839
[13] 0.02352805 0.02258693 0.02168346 0.02081612 0.01998347 0.01918413
[19] 0.01841677 0.01768010 0.01697289 0.01629398 0.01564222 0.01501653
[25] 0.01441587 0.01383923 0.01328566 0.01275424 0.01224407 0.01175431

result <- c()
result <- dgeom(year, prob=p, log = FALSE)

#resultの各要素に年数を当てる。
names(result) <- year

png("121224_geometric.png")
barplot(result, ylab="probability", xlab="waiting time (year)", main="Example of geometric distribution")
abline(h = 0)
dev.off()

#分布関数を作図
result2 <- c()
result2 <- pgeom(year, prob=p, lower.tail=T, log.p =F)

#resultの各要素に年数を当てる。
names(result2) <- year

#X年後以内に災害の起こる確率を棒グラフで描写
png("121223_geo_cum.png")
barplot(result2, ylab="Cumulative probability", xlab="waiting time (year)", main="Example of geometric cumulative distribution")
abline(h=0)
abline(h = 0.336, v = 11 , col="red")
dev.off()





####数式ソースファイル####
% geometry.tex
\documentclass[a4j]{jarticle}
\usepackage{amsmath}

\begin{document}
確率$p$のベルヌーイ試行を行い、最初に成功が出現するまでの試行回数を$x$とすると、$x=1,2,3,\dots$である。$q=1-p$とおくと、その確率は、
\begin{eqnarray}
f(x) = pq^x - 1
\end{eqnarray}
となる。
このような確率分布を幾何分布 geometric distributionと呼ぶ。
幾何分布の期待値と分散は
\begin{eqnarray}
E(X) = 1/p \\
V(X) = q/p^2
\end{eqnarray}
となる。幾何分布は初めてイベントが発生するまでの待ち時間分布 waiting time distributionと呼ばれる。
ここで参考文献の117ppで取り扱われている超幾何分布の例についてRで計算を行う。災害については時事トピックとしても大変興味深い。\\ \\
<例>災害の到来 ある風水害は1年について確率0.04($p = 0.04$)で起こる。こ
れが起こるのは平均的($E(X) = 1/p$)に何年後か。
また、10年以内に起こる確率($F(x) = P(X \leq x)$ )はなにほどか。\\
\begin{eqnarray}
E(X) = 1/p = 1/0.04 = 25 \\
F(x) = \sum^{10}_{k=1}f(x) = \sum^{10}_{k=1} (0.04)(1-0.04)^{k-1}
= 1 - (0.96)^10 = 0.336
\end{eqnarray}
最後に、Rを用いて、例題の条件で災害が発生するまでの時間とその確率について
棒グラフを描く。
\\
\\
【参考文献】 \\
東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 116 - 118pp.
\pagestyle{empty}
\end{document}



超幾何分布 hypergeometric distribution

#母集団の中の標識された魚の総数
M <- 200
#母集団の総数
N <- 1000
#標識されていない魚の総数
m <- N - M
#サンプル数
n <- 5

#サンプルのうち標識がついている魚が0匹の確率を計算
dhyper(0, M, m, n)
[1] 0.3268591
#サンプルのうち標識がついている魚が1匹の確率を計算
dhyper(1, M, m, n)
[1] 0.410627
#サンプルのうち標識がついている魚が2匹の確率を計算
dhyper(2, M, m, n)
[1] 0.2050559
#サンプルのうち標識がついている魚が3匹の確率を計算
dhyper(3, M, m, n)
[1] 0.05087852
#サンプルのうち標識がついている魚が4匹の確率を計算
dhyper(4, M, m, n)
[1] 0.006272259
#サンプルのうち標識がついている魚が5匹の確率を計算
dhyper(5, M, m, n)
[1] 0.0003073407


#サンプル中に標識された魚の数を変化させた時の確率を棒グラフで表す。
#結果を核のするための空のオブジェクト
result <- c()
for(i in 1: 6){
+ result[i] <- dhyper(i - 1, M, m, n)
+ }

result
[1] 0.3268590548 0.4106269533 0.2050558688 0.0508785238 0.0062722586
[6] 0.0003073407

X <- 0:5
#resultの各要素に番号を割り当てる
names(result) <- X
result
           0            1            2            3            4            5
0.3268590548 0.4106269533 0.2050558688 0.0508785238 0.0062722586 0.0003073407

#棒グラフを描写
png("121223_hypergeo.png")
barplot(result, ylab="probability", xlab="amount of tagged fish", main="Example of hypergeometric distribution")
abline(h=0)
dev.off()



#####数式のソースファイル#####
% hypergeo.tex
\documentclass[a4j]{jarticle}
\usepackage{amsmath}

\begin{document}
2種類A, Bからなる$N$個のものがあり、個数の構成はそれぞれ$M$, $N - M$とする。
この集団から無作為に$n$個取り出したときに、Aが$x$個、Bが$n-x$個であるとす
る。
この確率は以下のようになる。
\begin{eqnarray}
f(x) = {}_M C _x \cdot {}_{N-M} C _{n-x} / {}_N C _n  
\end{eqnarray}
このように正の離散値$x$が従う$f(x)$で表される分布を超幾何分布 hypergeometric distributionという。
以下の二式で期待値と分散は表される。
\begin{eqnarray}
E(X) = n(M/N) \\
V(X) = n{M(N - M) / N^2}{(N - n)/(N - 1)}
\end{eqnarray}
冒頭のAの比率を$p = M/N$とすると、
\begin{eqnarray}
E(X) = np \\
V(X) = np(1 - p){(N - n)/(N - 1)}
\end{eqnarray}
ここで参考文献の110ppで取り扱われている超幾何分布の例についてRで計算を行う。\\ \\
<例>捕獲再獲得法 ある湖の中にいる魚1000匹(N = 10000)のうち、200匹(A; $M = 200$には尾部に赤い色の標識を人為的に付けて放流されてある。いま、池から
魚を5匹($n=5$)穫ったとき、そのうち標識がついた魚が一匹である確率はどれくらいであるか。0匹の場合はどうであろうか。\\
\\
\\
【参考文献】 \\
東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 109 - 111pp.


\pagestyle{empty}
\end{document}





チェビシェフの不等式 Chebyshev's inequality





% chebyshev.tex
\documentclass[a4j]{jarticle}
\usepackage{amsmath}

\begin{document}
以下の不等式がシェビシェフの不等式である。
\begin{eqnarray*}
P(|X - \mu| \geq k \sigma) \leq 1/k^2
\end{eqnarray*}

証明は、$I = { x : |x - \mu| \geq k \sigma}$とおいて、

\begin{eqnarray*}
\sigma ^2  & = & \int_{-\infty}^{\infty} (x - \mu)^2 f(x) dx \\
& \geq &   \int_{I} (x - \mu)^2 f(x) dx \\
& \geq &   (k \sigma )^ 2 \int_{I}  f(x) dx \\
& =  &   (k \sigma )^ 2 \cdot P(|X - \mu| \geq k \sigma) \\
\end{eqnarray*}
両辺を$ (k \sigma)^2$で割ると
\begin{eqnarray*}
P(|X - \mu| \geq k \sigma) \leq 1/k^2
\end{eqnarray*}
\\
【参考文献】 \\
東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 105pp.


積率 : Moment






% moment1.tex
\documentclass[a4j]{jarticle}
\usepackage{amsmath}

\begin{document}

$X$の原点まわり$r$次のモーメントmoment(積率) : $\mu _ r $を以下のように定義する。
\begin{eqnarray}
\mu _ r = E (X ^r )
\end{eqnarray}

同様に、平均値まわりの$r$次のモーメント : $\mu'  _r $も以下のように定義される。
\begin{eqnarray}
\mu' _ r = E (X - \mu )^r
\end{eqnarray}

以下のようにして、$X$の$r$次の標準化モーメント $\alpha _r$も定義されている。
\begin{eqnarray}
\alpha _ r = E \{(X - \mu )/ \sigma\}^r
\end{eqnarray}


モーメントの特殊な例として、期待値は$\mu _1$, 分散は$\mu' _ 2$, 歪度skewnessは$\alpha _3$, 尖度kurtosisは$\alpha _4$と定義されていることがわかる。
\begin{eqnarray}
\mu _ 1 = E (X) \\
\mu' _ 2 = V(X)
\end{eqnarray}
\\
【参考文献】 \\
東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 99 - 104pp.


確率変数の標準化






#Rで標準化前と標準後のヒストグラムを描写する。
#母集団は正規分布とする。
#乱数の種(seed)を指定
set.seed(100)

png("121223_normalization.png")
#ヒストグラムを重ねて描写
hist(rnorm(1000, mean=10, sd=3), xlim=c(-5,20), main="Normalization")
hist( ( rnorm(1000, mean=10, sd=3) - 10 ) / sqrt(3 ^ 2), add=T)
dev.off()


#標準化後の平均値
> mean ((rnorm(1000, mean=10, sd=3) - 10 ) / sqrt(3 ^ 2))
[1] 0.003523354

#標準化後の標準偏差
> var ((rnorm(1000, mean=10, sd=3) - 10 ) / sqrt(3 ^ 2))
[1] 0.9512305




## 数式のソースファイル ##

% normaliation.tex
\documentclass{jarticle}
\usepackage{amsmath}

\begin{document}
確率変数の標準化normalizationを行う。
今、連続型continuous typeの確率変数$X$が確率分布$f(x)$に従うとき、期待値の
演算$E$は次のように定義される。
\begin{eqnarray}
E(X) = \int_{-\infty}^{\infty} x f(x) dx
\end{eqnarray}
期待値Eの演算に関しては、下のような性質がある。
\begin{eqnarray}
E(c) = c \\
E(X + c) = E(X) + c \\ 
E(cX) = c E(X) \\
E(X+Y) = E(X) + E(Y) 
\end{eqnarray}
また、$X$の平均値のまわりの2次モーメント分散$V(X)$と呼び、以下の式で定義さ
れる。
\begin{eqnarray}
V(X) = E(X - \mu)^2 =\int_{-\infty}^{ \infty } (x - \mu )^2 f(x) dx
\end{eqnarray}
分散$V(X)$には以下のような性質がある。
\begin{eqnarray}
V(c) = 0 \\
V(X + c) = V(X) \\ 
E(cX) = c^2 V(X) 
\end{eqnarray}
任意のXからその期待値を引いて$X - E(X)$を考えると、期待値の性質と分散は、
それぞれ
\begin{eqnarray}E{X - E(X)} = E(X) - E (E(X)) = E(X) - E(X) = 0 \\
V{X - E(X)} = V(X) 
\end{eqnarray}
となる。ここで以下の式で$Z$を定義する。
\begin{eqnarray}
Z = \{X - E(X)\} \sqrt{V(X)}
\end{eqnarray}
この$Z$の期待値は0で、分散は1に調整されている。\\
いかなる確率変数もその期待値を引いて分散で除すことにより、期待値0、分散1に
調整することができる。\\
このような変換を標準化と呼び、$Z$を標準化変数と呼ぶ。
\\
\\
【参考文献】\\
東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 94 - 99pp.


\pagestyle{empty}
\end{document}


なお、アップロード用のpngファイル作成については、
$ platex normalization.tex
$ dvipdfm normalization.tex
として、pdfファイルを生成したあと、
$ open normalization.tex

でmac備え付けのviewerでファイルを開き、本文を選択して、「Tool 」-> 「Crop」でクロッピングを行い、最後にpng形式で保存した。

統計学を築いた10人


Karl PearsonにはじまりWilliam Gosset, Ronald Fisherによって完成した今日の近代統計学理論の方法論としての特色は、「部分」が'正しく'選ばれていれば、それから「全体」を知ることが、論理上可能であるとうことです。「部分」と「全体」のギャップを埋めているのが、「確率」という論理装置です。以下には、近代統計学理論が成立するに至る2世紀の歩みを記述しました。


1.     William Petty, 1627 - 1687
          社会経済現象の数量的観察。「政治算術」Political Arithmetick, 1960を執筆

2.     Gottfried Achenwall, 1719 - 1772
          国勢学派。統計調査(今日の官庁統計)"Statistik"の語を使用。Stae(国家)を記述する学問の意。

3.     Simon Laplace, 1749 - 1827
          古典確率論の大成と近代確率論の基礎。

4.     Carl Friedrich Gauss, 1777 - 1855
          誤差理論と正規分布。最小二乗法

5.     Adolphe Quetelet, 1796 -1874
          大量観察と統計的法則性。「平均人」、「平均」の概念

6.     Francis Galton, 1822 -1911
          遺伝学の数理的基礎。「回帰」の導入

7.     Karl Pearson, 1851 - 1936
          近代統計学の数理的基礎。「母集団(population)」の萌芽。「相関係数」、χ^2統計量の導入

8.     William Gosset, 1876 - 1937
          t分布の導入。小(精密)標本理論。

9.     Ronald Fisher, 1890 - 1962
          統計学的推測理論の確立。標本分布論。実験計画法。F分布

10.     Abraham Wald, 1902 - 1950
          統計学的決定論。検定理論と推定理論の数学的統一と精密化



【参考文献】
東京大学教養部統計学教室(1991) 『統計学入門』 東京大学出版 4pp.

Galtonのデータ

Galtonは子供の身長と親の身長の間の相関を調べました。
今回は、このGaltonのデータセットを用いてscatter plotを描写してみました。



#galtonデータを含むパッケージのインストール
install.packages("UsingR")

#パッケージの読み込み
library("UsingR")

#galtonデータオブジェクトの生成
data(galton)

#データを上から5行分表示
  child parent
1  61.7   70.5
2  61.7   68.5
3  61.7   65.5
4  61.7   64.5
5  61.7   64.0
6  62.2   67.5


png("121222_galton.png")

#散布図の描写
plot(jitter(child,5) ~ jitter(parent,5),galton, xlab="The midparent height(inch)", ylab="The children's height(inch)", main="Scatterplot of Galton's data-set")

dev.off()

q()


データの要約

 データの要約は統計学の基本中の基本です。

身長の測定値のデータを例にとってRでの要約の方法を記述します。


> bl <- c(165,167,187,156,145,166,176,143,169,175,148,150)
> #オブジェクトの中身を確認
> bl
 [1] 165 167 187 156 145 166 176 143 169 175 148 150
> #平均値
> mean(bl)
[1] 162.25

> #中央値
> median(bl)
[1] 165.5
> #四分位値
> quantile(bl)
   0%   25%   50%   75%  100%
143.0 149.5 165.5 170.5 187.0 
[1] 165.5
> #四分位値偏差
> IQR(bl)
[1] 21

> #不偏分散      
> var(bl)
[1] 192.2045
> #範囲
> range
range          range.default 
> #範囲
> max(bl)-min(bl)
[1] 44
> png("121220_body_length.png")
> #身長を箱ひげ図に描写
> boxplot(bl, ylab="cm", main="The body length")
> dev.off()
null device
          1 

箱の中にある線が中央値Q2=165.5
左右の四分位値Q1=149.5, Q3=170.5で箱を作る。
四分位値偏差Q.D=21の1.5倍の範囲内にある最小、最大のデータに対してひげを引き、それを超えるデータ(はずれ値)をひとつひとつプロットする。





Binomial Distribution

結果が1か0のいずれかである実験を独立にn回繰り返します。
このとき、1の生じる確率をp、0の
生じる確率を1-pとする。
このような試行をベルヌーイ試行と呼ぶ。
n回中1の生じる確率変数をxとすると、
以下のようになります
いま、n=20, p = 1/6としたときに、x=1,2, ... , 15に対応するf(x)の値を計算し、棒グラフに描写する。

x <- 0: 15
y <- dbinom(x, 20, 1/6)
names(y) <- x
png("121218_binominal.png") 
barplot(y, ylab="f(x)", xlab="binominal distribution : n = 20, p = 1/6")
abline(h=0)
dev.off()






% binomial.tex
\documentclass{jarticle}
\usepackage{amsmath}

\begin{document}
\begin{eqnarray}
f(x) = \binom{n}{x}  p^x  (1 - p)^{n - p}
\end{eqnarray}
\pagestyle{empty}
\end{document}


$ platex binomial.tex
$ dvipng -T tight binomial.dvi

macでwindowを整理する便利ソフト - shiftit

Macはウィンドウを複数開いているときの管理が面倒です。

そこで、shiftitというアプリケーションを使うとこの煩雑さから解放されます。


shiftit - Project Hosting on Google Code 


インストールの方法はMac OS 10.6であれば、
ShiftIt_10_6_v1_2.zipをダウンロードして解凍し、/Applications 以下のディレクトリに置くだけです。
一度だけ、手動で起動すれば、以後はlogin時に自動起動してくれるようになります。

command + alt(option) + 矢印キーで自由自在にwinodowを整理することができます。



おすすめの方法は、windowを左右に割当てることでしょうか。画面がとても広く使えて、作業が楽になりました(^^)

R: survivalパッケージ

生存分析をするのに有用なsurvivalパッケージを紹介します。

#Rの起動
$ R


#mirror site の選択
> chooseCRANmirror()
# install package
install.packages("survival")

# load survival package
library(survival)


ためしに、survivalパッケージの中のkidenyについてKaplan-meier plotとロングランク検定を行います。

> data(kidney)
> attach(kidney)
> surv.bysex <- survfit(Surv(time, status==1)~sex)

> png("121125_kidney_survival.png")
> plot(surv.bysex, conf.int=F, col=c("magenta", "green"))
> dev.off()

#ロングランク検定
> survdiff(Surv(time, status==1)~sex)
Call:
survdiff(formula = Surv(time, status == 1) ~ sex)

       N Observed Expected (O-E)^2/E (O-E)^2/V
sex=1 20       18     10.2      5.99      8.31
sex=2 56       40     47.8      1.28      8.31

 Chisq= 8.3  on 1 degrees of freedom, p= 0.00395



Virtualboxのゲストマシーンにssh接続

mac os x10.6.8
vrtualbox 4.2.6
ubuntu 10.04

の環境を前提に書きます。


virtualbox を起動して、画面左上のvirtualboxの中のpreferenceをクリックします。

次にNetworkをクリックして、プラスボタンを押し、追加します。追加したものを選んで、ドライバーマークをクリックすると「edit host-only network」をクリックします。すると、IPV4やMACが表示されるので、とりあえずデフォルトでOKを押します。








次にOS選択画面のSetting -> Networkをクリックして、host-only Adaptor ,  vboxnet0, Denyとして設定を行い、okを押します。




あとは、ゲストにsshサーバーをインストールすればよいです。

$ sudo apt-get update
$ sudo apt-get install openssh-server


ホスト側から、
$ ssh 192.168.56.101
と入力して、ゲスト側のユーザーとパスワードを入力すればログイン可能です。

GRUBに関連するファイルを確認する。


Vine Linux 5.2 の環境を前提のお話。
マシーンはLet's CF-T7

###デフォルトインストールの状態で、マウントされているデバイスを確認。
###/dev/sdaがハードディスクを表している。

[root@localhost kappa]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
none on /proc type proc (rw)
none on /proc/bus/usb type usbfs (rw)
none on /sys type sysfs (rw)
/dev/sda1 on /boot type ext3 (rw)  (ブート関連のディレクトリ)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)

###ハードディスクのパーティションの構成を確認
###ちなみにgrubは/dev/sdaのMBR(Master Boot Sector)と呼ばれる、ハードディスクの最初のセクターに記述されている。
[root@localhost kappa]# fdisk /dev/sda
コマンド (m でヘルプ): p

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5b1f

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14       14593   117113850   8e  Linux LVM

: q

###ブート関連のディレクトリをのぞく

[root@localhost boot]# ls -l /boot
合計 7163
lrwxrwxrwx 1 root root      23 11月 4日 11:48 System.map -> System.map-2.6.27-52vl5
-rw-r--r-- 1 root root 1136599  1月10日  2010 System.map-2.6.27-52vl5
lrwxrwxrwx 1 root root      23 11月 1日 13:19 System.map.old -> System.map-2.6.27-52vl5
-rw-r--r-- 1 root root   88489  1月10日  2010 config-2.6.27-52vl5
drwxr-xr-x 2 root root    1024 11月 3日 12:21 grub/
-rw------- 1 root root 3798240 11月 1日 13:32 initrd-2.6.27-52vl5.img
lrwxrwxrwx 1 root root      23 11月 1日 13:19 initrd.img -> initrd-2.6.27-52vl5.img
lrwxrwxrwx 1 root root      23 11月 1日 13:19 initrd.old.img -> initrd-2.6.27-52vl5.img
-rw-r--r-- 1 root root     405 11月 1日 13:19 kernel.h
drwx------ 2 root root   12288 11月 1日 13:17 lost+found/
lrwxrwxrwx 1 root root      20 11月 1日 13:19 vmlinuz -> vmlinuz-2.6.27-52vl5
-rw-r--r-- 1 root root 2261776  1月10日  2010 vmlinuz-2.6.27-52vl5
lrwxrwxrwx 1 root root      20 11月 1日 13:19 vmlinuz.old -> vmlinuz-2.6.27-52vl5

###grubの設定ファイルの中身をみる
#menu.lst に対してリンクが張られていることがわかる。
[kappa@localhost grub]$ ls -l /boot/
合計 367
-rw-r--r-- 1 root root    197 11月 1日 13:32 default
-rw-r--r-- 1 root root     63 11月 1日 13:32 device.map
-rw-r--r-- 1 root root     30 11月 1日 13:19 device.map.rpmsave
-rw-r--r-- 1 root root   7552 11月 1日 13:32 e2fs_stage1_5
-rw-r--r-- 1 root root   7392 11月 1日 13:32 fat_stage1_5
-rw-r--r-- 1 root root   6688 11月 1日 13:32 ffs_stage1_5
lrwxrwxrwx 1 root root     10 11月 1日 13:32 grub.conf -> ./menu.lst
lrwxrwxrwx 1 root root      8 11月 1日 13:19 grub.conf.rpmsave -> menu.lst
-rw-r--r-- 1 root root   6688 11月 1日 13:32 iso9660_stage1_5
-rw-r--r-- 1 root root   8160 11月 1日 13:32 jfs_stage1_5
-rw-r--r-- 1 root root    813 11月 3日 12:21 menu.lst
-rw-r--r-- 1 root root     37 11月 1日 13:19 menu.lst.rpmsave
-rw-r--r-- 1 root root   6848 11月 1日 13:32 minix_stage1_5
-rw-r--r-- 1 root root   9216 11月 1日 13:32 reiserfs_stage1_5
-rw-r--r-- 1 root root  41458 11月 3日 12:06 splash.xpm.gz
-rw-r--r-- 1 root root    512 11月 1日 13:32 stage1
-rw-r--r-- 1 root root 100426 11月 1日 13:33 stage2
-rw-r--r-- 1 root root 100426  1月21日  2009 stage2_eltorito
-rw-r--r-- 1 root root  41458 11月 3日 01:46 tux.xpm.gz
-rw-r--r-- 1 root root   7040 11月 1日 13:32 ufs2_stage1_5
-rw-r--r-- 1 root root   6240 11月 1日 13:32 vstafs_stage1_5
-rw-r--r-- 1 root root   8904 11月 1日 13:32 xfs_stage1_5

# less /boot/grub/menu.lst

############ここから#############
# menu.lst generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5

splashimage=(hd0,1)/boot/grub/splash.xpm.gz

title Vine Linux (Kappa kernel)
        root (hd0,0)
        kernel /vmlinuz ro root=/dev/VolGroup00/LogVol00 resume=swap:/dev/VolGroup00/LogVol01 vga=0x314 splash=silent 
        initrd /initrd.img

title Vine Linux (Previous kernel)
        root (hd0,0)
        kernel /vmlinuz.old ro root=/dev/VolGroup00/LogVol00 resume=swap:/dev/VolGroup00/LogVol01 vga=0x314 splash=silent 
        initrd /initrd.old.img
############ここまで#############


###実際に、設定ファイルに内容がgrubに反映されていることを確認する。
###リブートして、grubを開き、「e」を押す

root (hd0,0)
kernel /vmlinuz ro root=/dev/VolGroup00/LogVo100 resume=swap:/dev/Vol01 vga=0x314 splash=silent
initrd /initrd.img

buildrootを用いてusbブートのLinuxをビルドする。

ネット上の様々な有用情報を頼りにして、buildrootとLinuxカーネルのソースコードから、usbブート可能なLinuxをビルドし、usbにgrubとともにインストールすることができました。一連の行程を備忘録として残しておきます。

USBから起動できる最小構成のLinuxをビルド。

<参考Web site>

<(0)開発環境>
Vine Linux 5.1 on Let's note CF-T7
ユーザー名:kappa

※今回作成するMinuxというネーミングはhttp://plaza.rakuten.co.jp/slothstyle/diary/201105150000/のブログのものです。すばらしい内容で大部分を参考にさせていただきましたので、敬意を込めてそのままの名前を使用させていただきます。

<(1)ルートファイルシステムの作成>
Buildrootというソフトウェアを利用/buildrootとはルートファイルシステムを作成するためのtoolchan。uClibcやbusyboxをはじめとする様々なプログラムをビルドするためのMakefileやpatchで構成されている。
###Buildroot(buildroot-2011.02.tar.gz)をダウンロードする。
$ pwd
/home/kappa
$ mkdir minux
$ cd ./minux
$ wget http://buildroot.uclibc.org/downloads/buildroot-2011.02.tar.gz
$ tar -zxvf buildroot-2011.02.tar.gz

###Buildrootのソースコードダウンロード先ディレクトリを作成。Buildrootの設定でダウンロード先を指定することで、ダウンロードファイルを一箇所にまとめて共通化が可能。
$ pwd
/home/kappa/minux
$ mkdir buildroot-dl

###ビルドディレクトリを作成。 "minux" を親ディレクトリとし、Buildroot用に "br" という子ディレクトリを作成。
$ pwd
/home/kappa/minux
$ mkdir br

###"allnoconfig" でBuildrootの設定を初期化します。
$ pwd
/home/kappa/minux
$ make -C  /home/kappa/buildroot-2011.02 O=/home/kappa/br allnoconfig

###Buildrootの設定
$ cd ./br
$ make menuconfig

以下のようにオプションを設定。

(a)
Build options -> Download dirの
"$(TOPDIR)/dl"
"/home/admin/minux/buildroot-dl"
に変更。

(b)
BusyBoxをビルドするように設定。
Package Selection for the target -> BusyBox /// ON

(c)
ルートファイルシステムのイメージファイルをcpio形式に指定。
Target filesystem options -> cpio root filesystem /// ON

exitした後、ビルドする。
(1時間ほどかかりました。自分の環境 core 2 duo, 1.20GHz。ファイルダウンロードが行われるため、インターネット接続は必須です。)

$ make all

### fakeroot_1.9.5..tar.gzがダウンロードできないことが理由でインストールが止まるので、該当ファイルをダウンロードし適切な位置に配置
$ mv fakeroot_1.9.5.tar.gz /home/kappa/minux/buildroot-dl/
$ make all

ビルドに成功すると、/br/images/rootfs.cpio" というファイルが作成されます。これがcpio形式でアーカイブされたルートファイルシステムのイメージファイルになる。
###ルートファイルシステム(rootfs.cpio)を圧縮し、/home/kappa/minuxにinitrdという名前でコピーしておく。
$ gzip /home/kappa/minux/br/images/rootfs.cpio
$ cp /home/kappa/minux/br/images/rootfs.cpio.gz /home/kappa/minux/initrd

<(2)最小構成でkernelをビルド>
続いてUSBブートするための最小構成のカーネルをビルドする。
###linux-2.6.37.2のソースコードをダウンロードしてビルドした。
 $ pwd
/home/kappa/minux/
$ wget http://www.kernel.org/pub/linux/kernel/v2.6//linux-2.6.37.2.tar.bz2
$ tar jxf linux-2.6.37.2.tar.bz2
$ mkdir kernel

###allnoconfigで設定を初期化を行う。
$ make -C ./linux-2.6.37.2 O=/home/kappa/minux/kernel allnoconfig
$ cd kernel
$ make menuconfig

###以下のオプションを有効化する。モジュール化はせず、カーネルに組み込む。(モジュールはallnoconfigで無効になっている。)

・General setup -> Initial RAM filesystem and RAM disk (initramfs/initrd) support /// ON
!!圧縮ファイルの展開関連のオプションも自動的に有効化される。!!

・Executable file formats / Emulations
-> Kernel support for ELF binaries /// ON
-> Write ELF core dumps with partial segments /// ON (auto)

###ビルドします。"bzImage"が生成されれば成功。

$ make bzImage
...
Setup is 14008 bytes (padded to 14336 bytes).
System is 770 kB
CRC 5b2917a6
Kernel: arch/x86/boot/bzImage is ready (#1)
のように表示が出れば成功。




<(3)USBメモリ(/dev/sdb)へのMinimal Linux の導入>

###まずはusbをフォーマット
$ su 
# fdisk /dev/sdb
p (パーティション内容の表示)
d (パーティションの削除)
n (パーティションの作成. デフォルトで/dev/sdb1というパーティションが生成する。)

###usbの/dev/sdb1をext3でフォーマット
# mkfs.ext3 /dev/sdb1

###usbをアマウントして再度場所を変えて(/mnt/usb)マウント(わかりやすくするためである)
# umont /dev/sdb1
# mount /dev/sdb1 /mnt/usb


###grubをインストールする。
# mkdir /mnt/usb/grub
# cp /boot/grub/stage* /boot/grub/e2fs_stage1_5 /mnt/usb/grub/
# umount /mnt/usb

###/dev/sdb1にMBR(master boot record)をインストールする。MBRはブート処理専用としてデバイス上に各区帆された512byteの非表示領域である。MBRのインストールには、GRUB関連の処理を行うシンプルなコマンドシェル、GRUBシェルを使用する。
# grub
grub> device (hd0) /dev/sdb
grub> root (hd0, 0)
grub> setup (hd0)
grub> quit

###usbの/dev/sdb1にビルドしたルートシステム(/home/kappa/minux/initrd)とカーネルイメージ(/home/kappa/minux/kernel/arch/i386/boot/bzImage)を/dev/sdb1のルート(/mnt/usbにマウントした状態では、ビルド環境のマシーンから見ると/mnt/usb/がルートディレクトリ)にコピーしていく。
# mount /dev/sdb1 on /mnt/usb
# cp /home/kappa/minux/initrd /mnt/usb/
# cp /home/kappa/minux/kernel/arch/i386/boot/bzImage /mnt/usb/


###grubの設定ファイルに、/dev/sdb1の構成を書き込む。 bzImage及び、initrdが/dev/sdb1のルートディレクトリにおいてあるだけのので、素直にその旨を記述する。
# vim /boot/grub/menu.lst

////////////////////////////////////
title Minimal Linux
kernel /bzImage root=/dev/sdb
initrd /initrd
////////////////////////////////////

<(4)おわり>
再起起動すれば、BIOSの設定がUSB起動になっていれば、CUIでLinuxが起動する。
"root" ユーザーでログイン可能。
パスワードは未設定である。