非心t分布、カイ二乗分布とF分布

# 非心t分布

正規分布$N(\mu, \sigma^2)$からN個サンプルして標本平均と不偏分散を求める。
```math 
\bar X = {1 \over N} ( X_1 + X_2 + \cdots + X_n )\\

s^2 ={1 \over N−1} \sum_{i=1}^N (X_i−\mu)^2
```
このとき次の統計量tは自由度(N-1)、非心パラメータ$\delta$の非心t分布に従う。

```math 
t = { \bar X \over { \sqrt{ s^2/N } } } \\
\delta = { \mu \over \sqrt{\sigma^2 / N}  }

```

以上を確認するため、標本平均と標本分散から計算した統計量tの度数分布とmatlabの非心t分布の確率密度関数を比較した。

統計量tの計算に母分散ではなく標本分散を用いていることに注意する。これにより統計量tの分布は左右非対称になる。

非心t分布は、帰無仮説$\mu=\mu_0$の対立仮説の第二種の過誤の確率の計算に用いられる。

片側検定を行う場合、帰無仮説のt分布の上側の累積密度関数の逆関数から上側の100$\alpha$パーセント点tvをもとめる。このとき第二種の過誤の確率は、

```math
\beta = \int_{-\infty}^{tv} (非心t分布) dx 
```

である。また$(1-\beta)$を検出力という。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2517058/ff3c12a1-fee2-5752-1852-5dc97ff92a7d.png)


```matlab 
clear all; close all; 

rng( 'default' );
N = 10;
M = 10^6;
mu = 2;
sigma = 1;
delta = mu / ( sigma / sqrt( N ) );

Data = zeros( M, 1 );
for i = 1:M
Data(i, 1 ) = makeSingleData( N, sigma, mu );
end
histogram( Data, 1000, 'Normalization', 'pdf', 'EdgeColor','cyan', 'Facecolor', 'cyan' );
hold on;
Tpx = -5:0.1:15;
Tpy = nctpdf( Tpx, (N-1), delta );
plot( Tpx,Tpy, 'LineWidth', 2 );
hold off;
legend( '標本平均と不偏分散から計算した非心t統計量の分布','非心t分布の確率密度関数', 'FontSize', 12 );


function ret = makeSingleData( N, sigma, mu )
X = randn( N, 1 ) * sigma + mu;
smu = sum( X )/N;
sva = 1/(N-1) *  sum( (X - smu ).^2 );
ret = ( smu - 0 )/( sqrt(sva) / sqrt(N) );
end
```

# カイ二乗分布

以上と同様にカイ二乗分布についても確認しよう。

標準正規分布したがうN個の独立な確率変数の二乗和は自由度Nのカイ二乗分布に従う。以上を確認するためにN=5の場合について統計量の度数分布とカイ二乗分布の紙率密度関数を比較した。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2517058/0bfc5a73-d500-fdb4-5437-a24351a3e522.png)

```matlab 
rng( 'default' );
N = 5;
M = 10^6;


Data = zeros( M, 1 );
for i = 1:M
Data(i, 1 ) = makeSingleData( N);
end
histogram( Data, 1000, 'Normalization', 'pdf', 'EdgeColor','cyan', 'Facecolor', 'cyan' );
hold on;
Tpx = -5:0.1:20;
Tpy = chi2pdf( Tpx, N );
plot( Tpx,Tpy, 'LineWidth', 2 );
hold off;
legend( '標準正規分布に従うN個の独立な確率変数の二乗和','カイ二乗分布の確率密度関数', 'FontSize', 12 );


function ret = makeSingleData( N )
X = randn( N, 1 );
ret = sum( X.^2 );

end
```

# F分布

$X1_i,X2_i$がそれぞれ標準正規分布に従うとき、次式の統計量はF分布に従う。
```math 
F = {  (X1_1^2 + X1_2^2 + \cdots + X1_{K1}^2 ) / K1  \over  (X2_1^2 + X2_2^2 + \cdots + X2_{K2}^2 ) / K2    }
```

以下のmatlabスクリプトは、$K1=7, K2=6$の場合についてX1,X2をサンプルし統計量Fを計算し度数分布にあらわし、F分布の確率密度分布と比較する。両者はほぼ一致する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2517058/255407fe-aaa6-553e-ff3a-ecc1c5a4c2fd.png)

```matlab
rng( 'default' );
K1 = 7; K2 = 6
M = 10^5;


Data = zeros( M, 1 );
for i = 1:M
Data(i, 1 ) = makeSingleData( K1, K2 );
end
histogram( Data, 1000, 'Normalization', 'pdf', 'EdgeColor','cyan', 'Facecolor', 'cyan' );
hold on;
Tpx = -5:0.1:20;
Tpy = fpdf( Tpx, K1, K2 );
plot( Tpx,Tpy, 'LineWidth', 2 );
hold off;
legend( '正規分布に従うX1_i,X2_iの二乗平均の比の度数分布','F分布の確率密度関数', 'FontSize', 12 );
xlim( [ -5 20] );

function ret = makeSingleData( K1, K2 )
X1 = randn( K1, 1 );
X2 = randn( K2, 1 );

ret = (sum(X1.^2)/K1)/(sum(X2.^2)/K2) ;

end
```

# F分布と不偏分散の比

標準正規分布に従う標本数n,mの標本から不偏分散$s_1^2,s_2^2$が得られるとき、この不偏分散の比は自由度(n-1),(m-1)のF分布にしたがう。

このことを確認するため、以下のmatlabスクリプトは、標本数7と6のサンプルから不偏分散の比を計算しその度数分布あらわし、F分布の確率密度分布とあわせて表示する。細部を確認するため大きく拡大したが、両者はよく一致している。仮に、F分布の自由度を変えれば、もちろん両者は一致しない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2517058/6993ba21-d93f-c2c1-fc77-081538946c2e.png)

```matlab 
rng( 'default' );
K1 = 10; K2 = 6;
M = 10^6;

Data = zeros( M, 1 );
for i = 1:M
Data(i, 1 ) = makeSingleData( K1, K2 );
end
histogram( Data, 10000, 'Normalization', 'pdf', 'EdgeColor','cyan', 'Facecolor', 'cyan' );
hold on;
Tpx = -5:0.1:20;
Tpy = fpdf( Tpx, K1-1, K2-1 );
plot( Tpx,Tpy, 'LineWidth', 2 );
hold off;
legend( '二つ不偏分散の比の度数分布','F分布の確率密度関数', 'FontSize', 12 );
xlim( [ -5 20] );

function ret = makeSingleData( K1, K2 )
X1 = randn( K1, 1 )+3;
X2 = randn( K2, 1 )+4;

ret = (var(X1))/(var(X2)) ;

end
```

以上