ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

prob.KernelDistribution クラス

パッケージ: prob
スーパークラス: prob.TruncatableDistribution

カーネル確率分布オブジェクト

説明

prob.KernelDistribution は、ノンパラメトリックなカーネル平滑化分布のパラメーター、モデルの説明、標本データで構成されるオブジェクトです。fitdist または dfittool を使用して prob.KernelDistribution オブジェクトを作成します。

構築

pd = fitdist(x,'Kernel') は、カーネル平滑化分布を x のデータに近似して、確率分布オブジェクトを作成します。

pd = fitdist(x,'Kernel',Name,Value) は、1 つまたは複数の名前と値のペア引数で指定された追加オプションを使用して、確率分布オブジェクトを作成します。たとえば、カーネル関数を変更したり、カーネルの帯域幅を指定できます。

入力引数

すべて展開する

カーネル平滑化分布で近似する入力データ。スカラー値の列ベクトルとして指定します。fitdistx 内の NaN 値を無視します。

データ型: single | double

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

すべて展開する

カーネル平滑化のタイプ。'Kernel' と、以下のカーネル平滑化関数タイプのいずれかで構成される、コンマ区切りのペアとして指定します。

  • 'normal'

  • 'box'

  • 'triangle'

  • 'epanechnikov'

カーネル密度のサポート。'Support' と、文字列または 2 要素ベクトルで構成されるコンマ区切りのペアとして指定します。文字列は次のいずれかでなければなりません。

'unbounded'密度は、実数直線全体に拡張できます。
'positive'密度は正の値に制限されます。

または、密度のサポートのために、有限の下限および上限を指定する 2 要素ベクトルを指定できます。

データ型: single | double

カーネル平滑化ウィンドウの帯域幅。'Width' とスカラー値で構成されるコンマ区切りのペアとして指定します。fitdist で使用される既定値は、正規分布の密度を推定するのに最適ですが、複数の最頻値のような特徴量を示すものには、より小さい値を選択してもかまいません。

データ型: single | double

プロパティ

すべて展開する

カーネル関数のタイプ。有効なカーネル関数タイプ名として格納されます。

カーネル平滑化ウィンドウの帯域幅。正のスカラー値として格納されます。

データ型: single | double

確率分布名。確率分布名として有効な文字列として保存します。このプロパティは読み取り専用です。

データ型: char

分布のあてはめに使用されるデータ。以下を含む構造体として格納します。

  • data: 分布のあてはめに使用するデータ ベクトル

  • cens: 打ち切りベクトル、ない場合は空

  • freq: 度数ベクトル、ない場合は空

このプロパティは読み取り専用です。

データ型: struct

打ち切られる分布を表す論理フラグ。論理値として格納します。IsTruncated0 である場合、分布は打ち切られません。IsTruncated1 である場合、分布は打ち切られます。このプロパティは読み取り専用です。

データ型: logical

確率分布の打ち切り区間。打ち切りの上限と下限を含むベクトルとして格納します。このプロパティは読み取り専用です。

データ型: single | double

メソッド

mean確率分布オブジェクトの平均
negloglik負の対数尤度
std 確率分布オブジェクトの標準偏差
var確率分布オブジェクトの分散

継承メソッド

cdf 確率分布オブジェクトの累積分布関数
icdf確率分布オブジェクトの累積分布逆関数
iqr確率分布オブジェクトの四分位範囲
median 確率分布オブジェクトの中央値
pdf確率分布オブジェクトの確率密度関数
random確率分布オブジェクトから乱数を生成します。
truncate確率分布オブジェクトの打ち切り

定義

カーネル分布

カーネル分布は、確率変数の確率密度関数 (pdf) のノンパラメトリック推定です。

カーネル分布は、次のオプションを使用します。

オプション説明取りうる値
Kernelカーネル関数のタイプnormal, box, triangle, epanechnikov
BandWidthカーネル平滑化パラメーターBandWidth > 0

カーネル密度の推定量は次のようになります。

f^h(x)=1nhi=1nK(xxih);<x<,

ここで、n は標本のサイズ、K(·) はカーネル関数、h は帯域幅です

すべて展開する

標本データを読み込みます。ヒストグラムを使用して患者の体重データを可視化します。

load hospital
histogram(hospital.Weight)

ヒストグラムは、データに女性の患者と男性の患者に 1 つずつ 2 つの最頻値があることを示しています。

カーネル分布を患者の体重データに近似して、確率分布オブジェクトを作成します。

pd_kernel = fitdist(hospital.Weight,'Kernel')
pd_kernel = 

  KernelDistribution

    Kernel = normal
    Bandwidth = 14.3792
    Support = unbounded

比較のため、正規分布を患者の体重データに近似して、別の確率分布オブジェクトを作成します。

pd_normal = fitdist(hospital.Weight,'Normal')
pd_normal = 

  NormalDistribution

  Normal distribution
       mu =     154   [148.728, 159.272]
    sigma = 26.5714   [23.3299, 30.8674]

x 値を定義し、分布ごとに確率密度関数を計算します。

x = 50:1:250;
pdf_kernel = pdf(pd_kernel,x);
pdf_normal = pdf(pd_normal,x);

各分布の確率密度関数をプロットします。

plot(x,pdf_kernel,'Color','b','LineWidth',2);
hold on;
plot(x,pdf_normal,'Color','r','LineStyle',':','LineWidth',2);
legend('Kernel Distribution','Normal Distribution','Location','SouthEast');
hold off;

正規分布などの単峰型分布ではなくカーネル分布を近似すると、女性患者と男性患者のそれぞれ異なる最頻値が示されます。

関連する例

この情報は役に立ちましたか?