二つの正規母集団の母平均の差の信頼係数1-aの信頼区間を求める


%formula.tex
\documentclass{jsarticle}
\usepackage{amsmath}

\begin{document}
\title{\TeX 母平均の差の信頼区間}
\author{kappa}
\date{Sunday September 30}
\maketitle
確率変数 $X$, $Y$ に関して以下の条件を前提にする。\\
%align requires amsmath package.
\begin{align}
X \stackrel{}{\sim} N(\mu_1, \sigma _2 ^2) \\
Y \stackrel{}{\sim} N(\mu_2, \sigma _2 ^2)
\end{align}
いまから、母平均の差$\mu_1 - \mu_2$の信頼区間について考える。\\
母分散が等しいとは仮定できるとすると、\\
\begin{align}
\sigma_1^2 = \sigma_2^2 = \sigma^2
\end{align}
母分散が共通の二つの標本を合併したものから、合併した分散(pooled variance):$s$を定義する。\\
\begin{align}
s^2 = \frac{\sum_{i=1}^m (X_i - \bar X)^2 + (Y_i - \bar Y)^2}{m + n - 2}\notag \\
= \frac{(m-1)s_1^2 + (n-1)s_2^2}{m + n - 2}
\end{align}
二標本を標準化すると
\begin{align}
Z = \frac{(X - Y) -(\mu_1 - \mu_2)}{\sqrt{(\frac{1}{m} + \frac{1}{n})\sigma^2}}\\
Z \stackrel{}{\sim} N(1, 0)
\end{align}
二標本のt統計量は
\begin{align}
t = \frac{Z}{\sqrt{s^2/\sigma^2}}\\
= \frac{(X - Y) -(\mu_1 - \mu_2)}{s \sqrt{\frac{1}{m} + \frac{1}{n}}}\\
t \stackrel{}{\sim} t(m + n - 2)
\end{align}
したがって、
\begin{align}
P(-t_{\alpha / 2} (m + n - 2) \leq \frac{(X - Y) -(\mu_1 - \mu_2)}{s \sqrt{\frac{1}{m} + \frac{1}{n}}} \leq P(-t_{\alpha / 2} (m + n - 2))
= 1 - \alpha
\end{align}
となる。差$\mu_1 - \mu_2$に関して解くと、信頼係数$1-\alpha$の信頼区間は
\begin{align}
[\bar X - \bar Y - t_{\alpha/2}(m + n - 2) s \sqrt{\frac{1}{m}} , \bar X - \bar Y + t_{\alpha/2}(m + n - 2) s \sqrt{\frac{1}{m}} ]
\end{align}
差$\mu_1 - \mu_2$の$1-\alpha$の信頼区間が0を含まない時、二群の母平均に有意差があるといえる。
\end{document}

platexによる数式集

platexを用いて少し体裁の整った数式集を作ってみました。
以下にスクリプトも記述しておきます。

$ vim formula.tex

%formula.tex
\documentclass{jsarticle}
\usepackage{amsmath}
\begin{document}
\title{\TeX による数式集}
\author{kappa}
\date{Friday September 28}
\maketitle
\begin{enumerate}
\item
\begin{verbatim}
\[ \sum_{k=1}^5 a_k = a_1 + a_2 + a_3 + a_4 + a_5 \]
\end{verbatim}
\[ \sum_{k=1}^5 a_k = a_1 + a_2 + a_3 + a_4 + a_5 \]
\item
\begin{verbatim}
\[ y=\frac{1}{1-x} \]
\end{verbatim}
\[ y=\frac{1}{1-x} \]
\item
\begin{verbatim}
\[ A = \left(
\[ \begin{array}{@{\,}cccc@{\,}}
        a_{11} & a_{12} & \ldots & a_{1n} \\
        a_{21} & a_{22} & \ldots & a_{2n} \\
        \vdots & \vdots & \ddots & \vdots \\
        a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{array}
\right) ]\
\end{verbatim}
\[ A = \left(
\begin{array}{@{\,}cccc@{\,}}
        a_{11} & a_{12} & \ldots & a_{1n} \\
        a_{21} & a_{22} & \ldots & a_{2n} \\
        \vdots & \vdots & \ddots & \vdots \\
        a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{array}
\right) \]
\item
\begin{verbatim}
% requiring "usepackage{amsmath}" at the head of the script
\[ A = \begin{pmatrix}
        a_{11} & a_{12} & \ldots & a_{1n} \\
        a_{21} & a_{22} & \ldots & a_{2n} \\
        \vdots & \vdots & \ddots & \vdots \\
        a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{pmatrix} \]
\end{verbatim}
\[ A = \begin{pmatrix}
        a_{11} & a_{12} & \ldots & a_{1n} \\
        a_{21} & a_{22} & \ldots & a_{2n} \\
        \vdots & \vdots & \ddots & \vdots \\
        a_{m1} & a_{m2} & \ldots & a_{mn} \\
\end{pmatrix} \]
\end{enumerate}
\end{document}
      

$ platex formula.tex
$ dvipdfm formula.dvi        
#dvipdfmのコマンドを使用しないと、Macの場合は日本語が文字化けしてしまう。

TeXworks、TeXShopの紹介

texで数式を文中に含む文書を書くとき、どうしてもスクリプトを書くのとコンパイルの作業の行き来が面倒です。

そこで、TeXworksやTeXShopを用いると、簡単にtexのファイルをコンパイルしてpdfファイルにすることができます。

どちらもhttp://www.tug.org/mactex/からMacTeX をダウンロードしてインストールすれば、自動的に使用可能となります。

スクリプトの修正も迅速にできます。




#TeXworks

#TeXShop

カイ二乗分布と分散の推定

正規分布N(μ, σ^2)に従う母集団から、大きさnの無作為標本x1,x2, ..., xnが得られたとき、母分散σ^2の点推定量は、不偏分散Vである。


##########################

\documentclass{jarticle}

\begin{document}

Normal distribution
\begin{eqnarray}
\sigma ^2 = V = \frac{S}{n - 1} = \frac{1}{n-1}\sum_{i=1}^n (x_i - \bar{ x})^2
\end{eqnarray}
\pagestyle{empty}
\end{document}
##########################


このσ^2の信頼区間を求めるには、S/σ^2の分布が必要になる。
標準正規分布(0, 1^2)からとられた大きさnの無作為標本x1,x2, ... , xuについて
χ^2 =  x1^2 + x2^2  … + xn^2
の分布(カイの二乗)であるf(χ^2)は、

Rで描写
#################################

#カイ2乗分布
png("120927_chi.png")
curve(dchisq(x,1), from=0, to=20, lty=1, xlab="Z", ylab="Tn(Z)", ylim=c(0,0.8), main = "chi square distribution")
abline(h=0)
curve(dchisq(x,3), add=T, lty=2)
curve(dchisq(x,5), add=T, lty=5)
curve(dchisq(x,7), add=T, lty=7)
legend(x=15, y=0.8, lty=c(1,2,3,4), legend=c("n+1", "n=3", "n=5", "n=7"))
dev.off()
#################################


 ここでさらに
正規分布N(μ, σ^2)に従う母集団から、大きさnの無作為標本x1,x2, ..., xnが得られたとき
は、自由度nのカイ二乗分布に従う。
同様に、母集団の平均値が不明のとき、標本平均を推定値として採用した式、



は自由度n-1のカイ二乗分布に従う。標本平均を使用した場合、自由に動きうる変数の個数が一つ減るため、自由度はn - 1n
#################################


\documentclass{jarticle}

\begin{document}
unbiased variance
\begin{eqnarray} 
z = {(x_1 - \bar{\mu})^2 +  (x_2 - \bar{\mu})^2 + \cdots +  (x_n - \bar{\mu}^2} / \sigma ^2
\end{eqnarray}
\pagestyle{empty}
\end{document}
#################################

S/σ^2がn-1の自由度のカイ二乗分布に従うこと利用すると、

こにょうにして、






 

Normal distribution

正規分布の確率密度関数を標準偏差を0.5, 1.0, 2.0と変化させて描写します。

正規分布の確率密度関数は以下のものです。


########################
Normal distribution
\begin{eqnarray} 
f(x) = \frac{1}{\sqrt{2  \pi \sigma}} e^{- \frac{(x - \mu)^2}{2 \sigma ^2} }
\end{eqnarray}
\pagestyle{empty}
\end{document}
#######################



Rのスクリプトです。
#script.R
#正規分布
png("120923_normal distribution.png")
#σ=0.5の正規分布、横軸、縦軸のラベル、縦軸の目盛,タイトル
curve(dnorm(x,0,0.5), from=-7,to=7, lty=2, xlab="x", ylab="y", ylim=c(0,0.8), main="Normal distribution") 
#縦軸のベースライン
abline(h=0)
#σ=1.0の正規分布、add=T:図を重ねる
curve(dnorm(x,0,1.0),add=T, lty=1)
#σ=2.0の正規分布、add=T:図を重ねる
curve(dnorm(x,0,2.0),add=T, lty=3)
#Figure legend
legend(x=4,y=0.6,lty=c(1,2,3),legend=c("σ=1","σ=0.5","σ=2.0"))
dev.off()

$ R
> source("script.R")
q()




ベイズの定理の証明

事象A1, A2, ..., Anが互いに排反な事象であり、かつA1, A2, ..., Anの総和が標本空間(sample space)を満たすとき、任意の事象Bに大して成り立つBayesの定理を証明する。


統計学の基本的な定義

n個のデータ x1, x2, x3, ... xnが得られたとき、これらの標本の要約を行うための種々の定義列挙します。




\documentclass{jarticle}

\begin{document}

Mean : $\bar{x}$
\begin{eqnarray}
\bar{x} = \frac{x_1 + x_2 + \cdots + x_n} {n} =\sum^n_{i=1}x_i
\end{eqnarray}

Median : $\widetilde{x}$
\begin{eqnarray}
\widetilde{x}=\left\{ \begin{array}{ll}
the \, middle \, number \\
the\, mean\,  of\, the\, pair\, of\, middle\, numbers \\
\end{array} \right.
\end{eqnarray}

Sum of squares : $S$
\begin{eqnarray}
S = \sum^n_{i+1}(x_i - \widetilde{x})^2 = \sum^n_{i=1}x_i^2 -\frac{(\sum^n_{i=1}x_i)^2}{n}
\end{eqnarray}

Unbiased variance : $V$
\begin{eqnarray}
V = = S/(n-1)=\sum^n_{i+1}((x_i - \bar{x})^2)^2 / (n - 1)
\end{eqnarray}

Standard deviation : $S.D.$
\begin{eqnarray}
S.D = \sqrt{V}
\end{eqnarray}

Range : $R$
\begin{eqnarray}
R = x_{max} - x_{min}
\end{eqnarray}

quantile deviation : $Q.D$
\begin{eqnarray}
Q.D = \frac{Q_3-Q_1}{2}
\end{eqnarray}

\pagestyle{empty}
\end{document}



Macにblast+をインストール

snow leopardの環境でblast+をインストールしてみます。

#まずは、ncbiのftpサイトからバイナリファイルをダウンロードしてきます。

$ curl -O ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.26/ncbi-blast-2.2.26+.dmg

#インストーラーの起動
$ open ncbi-blast-2.2.26+.dmg

#データベース構築のための準備

$ mkdir ~/blast
$ cd ~/blast
$ mkdir db
$ cd db

#ncbiのftpサーバーから、zebrafishのmRNAのRefseqの情報を取得する。
$ ftp ftp.ncbi.nlm.nih.gov
# usernameはanonymous です。passwordはmail addressです。
> cd ./refseq/D_rerio/mRNA_Prot
> get zebrafish.rna.fna.gz
> quit

#ダウンロードしたファイルを解凍
$ gunzip zebrafish.rna.fna.gz

#解凍したファイルの中身を確認
$ less zebrafish.rna.fna

#データベースを作成(zebrafish.rnaとする)
$ makeblastdb -in zebrafish.rna.fna -out zebrafish.rna -dbtype nucl -hash_index
# ~/blast/dbに先ほど作成したデータベースに関係するバイナリファイルが生成しているか確認する。
a$ ls -l
total 161072
-rw-r--r--  1 kappa  staff  61601369  9 18 06:23 zebrafish.rna.fna
-rw-r--r--  1 kappa  staff    463168  9 18 23:49 zebrafish.rna.nhd
-rw-r--r--  1 kappa  staff     10816  9 18 23:49 zebrafish.rna.nhi
-rw-r--r--  1 kappa  staff   4681996  9 18 23:49 zebrafish.rna.nhr
-rw-r--r--  1 kappa  staff    340056  9 18 23:49 zebrafish.rna.nin
-rw-r--r--  1 kappa  staff    113356  9 18 23:49 zebrafish.rna.nog
-rw-r--r--  1 kappa  staff    714386  9 18 23:49 zebrafish.rna.nsd
-rw-r--r--  1 kappa  staff     14750  9 18 23:49 zebrafish.rna.nsi
-rw-r--r--  1 kappa  staff  14506797  9 18 23:49 zebrafish.rna.nsq

#ホームディレクトリに設定ファイル(.ncbirc)を作る
$ ~/.ncbirc


; Start the section for BLAST configuration
[BLAST]
; Specifies the path where BLAST databases are installed
BLASTDB=/Users/kappa/blast/db
; Specifies the data sources to use for automatic resolution
; for sequence identifiers
DATA_LOADERS=none
; Specifies the BLAST database to use resolve protein sequences
;BLASTDB_PROT_DATA_LOADER=nr
; Specifies the BLAST database to use resolve protein sequences
;BLASTDB_NUCL_DATA_LOADER=nt
; Windowmasker settings (experimental)
[WINDOW_MASKER]
WINDOW_MASKER_PATH=/Users/kappa/blast/db/windowmasker
; end of file


#これで設定完了
#tp53のmRNAの配列をblastにかけてみる。
$ head tp53.fasta

>gi|18859502|ref|NM_131327.1| Danio rerio tumor protein p53 (tp53), mRNA
GTTTAGTGGAGAGGAGGTCGGCAAAATCAATTCTTGCAAAGCAATGGCGCAAAACGACAGCCAAGAGTTC
GCGGAGCTCTGGGAGAAGAATTTGATTATTCAGCCCCCAGGTGGTGGCTCTTGCTGGGACATCATTAATG
ATGAGGAGTACTTGCCGGGATCGTTTGACCCCAATTTTTTTGAAAATGTGCTTGAAGAACAGCCTCAGCC
ATCCACTCTCCCACCAACATCCACTGTTCCGGAGACAAGCGACTATCCCGGCGATCATGGATTTAGGCTC
AGGTTCCCGCAGTCTGGCACAGCAAAATCTGTAACTTGCACTTATTCACCGGACCTGAATAAACTCTTCT
GTCAGCTGGCAAAAACTTGCCCCGTTCAAATGGTGGTGGACGTTGCCCCTCCACAGGGCTCCGTGGTTCG
AGCCACTGCCATCTATAAGAAGTCCGAGCATGTGGCTGAAGTGGTCCGCAGATGCCCCCATCATGAGCGA
ACCCCGGATGGAGATAACTTGGCGCCTGCTGGTCATTTGATAAGAGTGGAGGGCAATCAGCGAGCAAATT
ACAGGGAAGATAACATCACTTTAAGGCATAGTGTTTTTGTCCCATATGAAGCACCACAGCTTGGTGCTGA

$ blastn -db zebrafish.rna -query tp53.fasta  -out blast.out

$ less blast.out

macbook air のUSキーボードで日本語入力

macbook air で snow leopard 10.6.8の状況でお話しします。

一般に、USキーボーで日本語入力するときには、command + spaceを入力しなくてはならず毎回労力が必要でした。今回は、KeyRemap4MacBookを紹介します。

http://pqrs.org/macosx/keyremap4macbook/

このアプリをインストールしさいすれば、キーボードの調整が自由自在に行うことができます。

詳しくは、下記のブログを参照してください。

http://yucomac.blog96.fc2.com/blog-entry-576.html

snow leopardにMacTexをインストール

MacTexのホームページから、MacTeX.pkgをダウンロード&インストールをすればOK

http://www.tug.org/mactex/
$ vim test.tex


\documentclass{jsarticle}
\begin{document}
こんにちは!!
\pagestyle{empty}
\end{document}

$ platex test.tex
$ dvipdfmx test.dvi


snow leopard に scilabをインストール

scilabのホームページからsnow leopard用のバイナリファイルをダウンロードしてきてGUIにてインストールすればよい。

http://www.scilab.org/products/scilab/download

インストールするだけでは、パスが通らないので、aliasの設定をしておくとよい。

$ alias  scilab="/Applications/scilab-5.3.3.app/Contents/MacOS/bin/scilab" >> ~/.bash_profile

ただし、ターミナルから呼び出しても、独自にscilab用のターミナルが開いてくることに注意です。RのようにGUIとCUI用の両方が用意されているわけではないようです。

Macに標準搭載のgrapherがグラフの作図に大変便利です。

grapherというmacに標準でインストールされているソフトをご存知ですか。

僕は知りませんでした。これまで、Rやgnuplotなどで関数の作図は行ってきましたが、grapherを使うと、簡単な数式のグラフなら圧倒的に早いです。それに、軸の2D, 3Dも自由自在です。
スクリーンショットは以下。


3D座標系でのサンプル


電子回路図を描く

今回は、回路図を簡単に作図できるオープンソースのソフトウェアを詳解します。

その名もBSch

水魚堂さんが配布されています。
http://www.suigyodo.com/

Mac OS X用にコンパイルされたバージョンは、以下のサイトから飛ぶことができます。
Sork Lab
http://storklab.cyber-ninja.jp/index.html

ダウンロードしたら、qtbsch3vのアイコンをクリックするとアプリケーションが立ち上がります。
最初に行うことは、ライブラリの登録です。これを行わないと、抵抗などの一般的な部品を回路に挿入できません。

スクリーンショットは以下。

フィギアとしてはこんなものが簡単に作成できました。


外積の成分表示と行列式を用いた表記




% bm package tex
\documentclass{jarticle}
\usepackage{bm}

\begin{document}

Definition of Cross product
\begin{eqnarray}
 \bm{c} = \bm{a} \times \bm{b}= ( |\bm{a}||\bm{b}| sin \theta)\bm{e}
\end{eqnarray}

Unit vector for $x,y,z$  axis  : $\bm{i},\bm{j},\bm{k}$
\begin{eqnarray}
\bm{i} \times \bm{i} = 0,\   \bm{j} \times \bm{j} = 0,\   \bm{k} \times \bm{k} = 0\\
\bm{i} \times \bm{j} = \bm{k},\   \bm{j} \times \bm{k} = \bm{i},\   \bm{k} \times \bm{i} = \bm{j}\\
\bm{j} \times \bm{i} = -\bm{k},\   \bm{k} \times \bm{j} = -\bm{i},\   \bm{i} \times \bm{k} = -\bm{j}
\end{eqnarray}

Elements of cross product
\begin{eqnarray}
\lefteqn{\bm{a} \times \bm{b} }\nonumber \\
&= &(a_x\bm{i} + a_y\bm{j} + a_z\bm{k}) \times (b_x\bm{i} + b_y\bm{j} + a_z\bm{k}) \nonumber \\
&=&(a_y a_z - a_z b_y)\bm{i} + (a_z b_x - a_x b_z)\bm{j} + (a_x b_y - a_y b_x)\bm{k}
\end{eqnarray}

Cross product using vector determinant
\begin{eqnarray}
\bm{a} \times \bm{b} =\left| \begin{array}{ccc}
\bm{i} & \bm{j} & \bm{k} \\
a_x & a_y & a_z \\
b_x & b_y & b_z
\end{array} \right|
\end{eqnarray}



\pagestyle{empty}
\end{document}








bmパッケージを用いて太字イタリックのベクトル表記


platexをインストールするとデフォルトでインストールされるbmというパッケージを用いればOK。
ソースコードの頭に \usepackage{bm}と入れれば、数式内で\bm{}とき記述するだけでお望みのベクトルが作成できます。


#ソースコードを編集
$ vim bold.tex

% bm package tex
\documentclass{jarticle}
\usepackage{bm}

\begin{document}

Commutative law
\begin{eqnarray}
 \bm{a} + \bm{b}= \bm{b} + \bm{a}
\end{eqnarray}
Associative law
\begin{eqnarray}
 \bm{a} + (\bm{b} + \bm{c})= (\bm{a} + \bm{b}) + \bm{c}
\end{eqnarray}
Distributive law
\begin{eqnarray}
 k(\bm{a} + \bm{b})= k\bm{a} + k\bm{b}
\end{eqnarray}


\pagestyle{empty}
\end{document}
bold.tex (END)

#コンパイル
$ platex bold.tex
#pngへ変換
$  dvipng -D 500 -T tight bold.dvi