Matlab std関数_MATLAB確率と統計(2)
Matlab Std Function _matlab Probability
7.最大および最小関数
関数maxおよびminは、ベクトルまたは行列の最大要素または最小要素を見つけるために使用され、それらの呼び出し形式は基本的に同じです。ここでは、例としてmaxを取り上げます。
(1)C = max(A):入力パラメーターAは、ベクトルまたは行列にすることができます。ベクトルの場合は、ベクトル内のすべての要素の最大値を返します。行列の場合は、行ベクトルを返します。ベクトルの各要素は、行列の各列要素の最大値です。
(2)C = max(A、B):AとBの対応する要素のサイズを比較します。AとBは行列またはベクトルにすることができます。サイズが同じ場合は、AとBの大きな要素で構成される行列またはベクトルを返します。さらに、AとBのいずれかをスカラーにすることができ、スカラーと比較して得られた行列またはベクトルが返されます。
(3)C = max(A、[]、dim):Aのdim次元の最大値を返します。
(4)[C、I] = max(...):ベクトルまたは行列の最大値とその添え字値を返します。
【例4-22】関数maxとminの使用例。
>> A = magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> max(A)最大値を求めます
年=
16 14 15 13
>> min(A)最小値を%で求めます
年=
4 2 3 1
>> B = reshape(1:16,4,4)
B =
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
>> max(A、B)2つの行列の比較
年=
16 5 9 13
5 11 10 14
9 7 11 15
4 14 15 16
>> [C、I] = min(A、[]、2)%最小値を見つけて、添え字を返します
C =
二
5
6
1
I =
二
1
3
4
8.平均関数
平均関数は、ベクトルまたは行列の平均値を見つけるために使用されます。その呼び出し構文は次のとおりです。
(1)M = mean(A):入力パラメータAがベクトルの場合、ベクトルのすべての要素の平均値を返します。行列の場合は、各列要素の平均値を返します。
(2)M = mean(A、dim):行列Aのdim次元の各要素の平均値を返します。
【例4-23】平均関数の使用例。
>> A = reshape(1:25,5,5)
A =
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
>> mean(A)%列方向の平均を計算します
年=
3 3 8 13 18 23 >> mean(A、2)%行の方向の平均
年=
十一
12
13
14
15
9.中央値関数
中央値関数は、ベクトルまたは行列の中央値を見つけるために使用されます。これは、統計ツールボックスの関数です。その呼び出し構文は、平均関数に似ています。以下は、例の簡単な説明です。
【例4-24】中央値関数の使用例。
>> A = [1 2 4 4 3 4 6 6 5 6 8 8 5 6 8 8]
A =
1 2 4 4
3 4 6 6
5 6 8 8
5 6 8 8
>>中央値(A)列方向の中央値
年=
4 5 7 7
>>中央値(A、2)行方向の中央値の%
年=
3
5
7
7
10.std関数
std関数は、ベクトルまたは行列の要素の標準偏差を見つけるために使用されます。一般的な本では、標準偏差(標準偏差)には次の2つの異なる計算方法(標準偏差とサンプル標準偏差)があります。
その中で:
n サンプル内の要素の数です。これら2つの方法の違いは、前の除数が n -1、もう一方は n 。
std関数呼び出しの構文は次のとおりです。
(1)s = std(x):xがベクトルの場合、式(1)に従ってベクトル要素のサンプル標準偏差を計算します。xが行列の場合、xの各列の標準偏差を返します。
(2)s = std(x、flag):flag = 0の場合、s = std(x)と同等です。flag= 1の場合、式(2)に従ってxの標準偏差を計算します。
(3)s = std(x、flag、dim):dim次元の各要素の標準偏差を返します。
【例4-25】std関数の使用例。
>> A = magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> s1 = std(A、0,1)
s1 =
7.2457 8.0623 9.4868 8.0623 7.2457
>> s2 = std(A、1,1)
s2 =
6.4807 7.2111 8.4853 7.2111 6.4807
>> s3 = std(A、0,2)
s3 =
8.8034
7.2457
8.0623
7.2457
8.8034
11.var関数
var関数は、ベクトルまたは行列の要素の分散を見つけるために使用されます。分散は標準偏差の2乗です。 var関数の呼び出し構文は次のとおりです。
(1)V = var(X):Xがベクトルの場合、Xのサンプル分散を計算します。Xが行列の場合、列ごとにXの分散を計算します。
(2)V = var(X、1):上記の式(2)のsの2乗に従ってXの分散を計算します。
(3)V = var(X、w):重みベクトルwを使用して分散を計算します。
(4)V = var(X、w、dim):行列Xの薄暗い次元の分散を計算します。
【例4-26】var関数の使用例。
>> A = magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> v1 = var(A)サンプル分散
v1 =
52.5000 65.0000 90.0000 65.0000 52.5000
>> v2 = var(A、0,1)v1と同じ結果
v2 =
52.5000 65.0000 90.0000 65.0000 52.5000
>> v3 = var(A、1,1)%分散を計算する
v3 =
42 52 72 52 42
12.機能
cov関数は、共分散行列を見つけるために使用されます。共分散を計算するための数式は次のとおりです。cov(x1、 バツ二)= E [(x1-u1) (バツ二-u二)]。ここで、Eは数学的期待値、u1=例1、u二=例二。 cov関数の呼び出し構文は次のとおりです。
(1)C = cov(x):xがベクトルの場合、ベクトル要素の分散が返されます。xが行列の場合、スカラーが返され、共分散行列が返されます。
(2)C = cov(x、y):列ベクトルxとyの共分散を計算し、xとyが同じ数の要素を持つ必要があります。 xとyが行列の場合、MATLABはそれらを列ベクトルに変換します。これはcov([A(:)、B(:)])と同等です。
【例4-27】cov関数の使用例。
>> A = [-1 1 2 -2 3 1 4 0 3]
A =
-1 1 2
-2 3 1
4 0 3
>> C = cov(A)共分散行列
C =
10.3333 -4.1667 3.0000
-4.1667 2.3333 -1.5000
3.0000 -1.5000 1.0000
>> v = diag(cov(A)) '%行列Aの各列の分散
v =
10.3333 2.3333 1.0000
>> V = var(A)%行列Aの各列の分散
V =
10.3333 2.3333 1.0000
比較すると、共分散行列の主対角線上の要素が各列の分散であることがわかります。
13.corrcoef関数
corrcoef関数は、行列の相関係数を計算するために使用されます。相関係数は記号で表され、無次元量です。計算式は次のとおりです。関数corrcoefの呼び出し構文は次のとおりです。
(1)corrcoef(x):xが行列の場合、返されるのは行列xと同じサイズの相関係数行列です。
(2)corrcoef(x、y):列ベクトルxとyの相関係数を計算します。ただし、xとyの要素数は同じである必要があります。 xとyが行列の場合、corrcoef関数はそれらを列ベクトルに変換します。これはcorrcoef([x(:)、y(:)])と同等です。
【例4-28】ランダムにデータセットを生成し、4列目と他の列との相関を調べます。
>> x = randn(30,4)%無関係なデータ
>> x(:、4)= sum(x、2)%相関を導入
>> [r、p] = corrcoef(x)%サンプルの相関とp値を計算します
r =
1.0000 0.3006 -0.1030 0.6403
0.3006 1.0000 -0.1786 0.6412
-0.1030 -0.1786 1.0000 0.2719
0.6403 0.6412 0.2719 1.0000
p =
1.0000 0.1065 0.5881 0.0001
0.1065 1.0000 0.3449 0.0001
0.5881 0.3449 1.0000 0.1461
0.0001 0.0001 0.1461 1.0000
>> [i、j] = find(p<0.05)% Find significant correlation
>> [i、j]添え字インデックスを表示
年=
4 1
4 2
1 4
2 4
4.3.2確率関数、分布関数、逆分布関数、および乱数
以前は、イベントの確率と信頼区間を知るために、ルックアップテーブルからほとんど切り離せませんでした。確率密度関数、分布関数、およびグラフの信頼区間の描画に関しては、より多くの労力が必要です。現在、MATLABの助けを借りて、上記の問題を簡潔かつ効率的に解決できるだけでなく、複雑な問題もより自由に調査することができます。
表4-1に、7つの一般的なディストリビューションを持つ4つのコマンドグループを示します。これらの4つのコマンドは、確率密度関数、累積分布関数、逆累積分布関数、乱数ジェネレーターです。
表4-17つの一般的な分布の相関関数
ディストリビューション名 | 確率密度関数 | 累積分布関数 | 逆累積分布関数 | 乱数ジェネレーター |
二項分布 | binopdf | binocdf | binoinv | binornd |
魚の分布 | poisspdf | poisscdf | poissinv | poissrnd |
正規分布 | normpdf | normcdf | norminv | normrnd |
続く
ディストリビューション名 | 確率密度関数 | 累積分布関数 | 逆累積分布関数 | 乱数ジェネレーター |
均等に分散 | unifpdf | unifcdf | unifinv | unifrnd |
配布 | chi2pdf | chi2cdf | chi2inv | chi2rnd |
F 配布 | fpdf | fcdf | finv | frnd |
t 配布 | tpdf | tcdf | tinv | trnd |
スペースが限られているため、このセクションでは、ポアソン分布、正規分布、および分布の例のみを示します。他のディストリビューション対応関数の使用も同様であり、ここでは繰り返さないことにします。
【例4-29】ポアソン分布と正規分布の関係。
ポアソン分布が> 10の場合、ポアソン分布は正規分布に非常に近くなります。ポアソン分布と対応する正規分布の確率密度関数は、次のコマンドを使用して計算できます。
>> Lambda = 20x = 0:50yd_p = poisspdf(x、Lambda)%ポアソン分布
>> yd_n = normpdf(x、Lambda、sqrt(Lambda))%正規分布
この例では、グラフを描いて2つの分布を比較し、その結果を図4-1に示します。
>> plot(x、yd_n、 'b-'、x、yd_p、 'r +')Draw%
>> text(30,0.07、 ' fontsize {12} { mu} = { lambda} = 20')%画像にマークを付ける
【例4-30】分布の逆累積分布関数の適用例。
>> v = 4xi = 0.9x_xi = chi2inv(xi、v)%文字レベルを90%に設定します
>> x = 0:0.1:15yd_c = chi2pdf(x、v)%(4)の確率密度関数を計算します
%グラフを描き、信頼区間を記入します
>> plot(x、yd_c、 'b')、ホールド
>> xxf = 0:0.1:x_xiyyf = chi2pdf(xxf、v)%は着色のために計算されます
>> fill([xxf、x_xi]、[yyf、0]、 'g')ポイント(x_xi、0)を追加して、塗りつぶされた領域を閉じます
%メモを追加
>> text(x_xi * 1.01,0.01、num2str(x_xi))
>> text(10,0.16、[' fontsize {16} x〜 { chi} ^ 2' '(4)'])
>> text(1.5,0.08、 ' fontname {} fontsize {22}信頼水準0.9')
>>ちょっと待って
結果を図4-2に示します。
図4-1 = 20ポアソン分布と= 20正規分布の比較
図4-2分布レベルが90%の信頼区間