% GLMFIT  一般化線形モデルのフィッティング
%
%   B = GLMFIT(X,Y,DISTR) は、予測変数行列 X、応答 Y、分布 DISTR に一般化
%   線形モデルをフィットします。結果の B は、係数推定値のベクトルです。
%   DISTR に対して指定可能な値は、'normal'、'binomial'、'poisson'、'gamma'、
%   'inverse gaussian' です。分布は、DISTR に対応する正準リンクを使用して
%   フィッティングを行ないます。
%
%   X は、観測値に対応する行と予測変数への列をもつ行列です。GLMFIT は、
%   モデルの定数項を自動的に含みます (直接 X にその列を入力しません)。
%   Y は応答値のベクトルです。DISTR が 'binomial' の場合、Y は成功/失敗を
%   示す 2 値ベクトルで、試行回数は、すべての観測に対して 1 とみなされます。
%   DISTR が 'binomial' の場合、Y は、1 番目の列が各観測に対する成功回数を
%   含み、2 番目の列が試行回数を含む 2 列の行列になる場合があります。
%
%   GLMFIT は、X と Y の中の NaN を欠損値として扱い、対応する観測値を
%   削除します。
%
%   B = GLMFIT(X,Y,DISTR,'PARAM1',val1,'PARAM2',val2,...) は、モデルの
%   フィッティングを制御するオプションパラメータの名前/値の組み合わせを
%   指定することが可能です。
%
%      'link' - 正準リンクの代わりに使用するためのリンク関数。
%         リンク関数は、平均応答 mu と予測子 x*b の線形結合間の関係 
%         f(mu) = x*b を定義します。つぎのいずれかのリンクパラメータを
%         指定します。
%            - テキスト文字列 'identity', 'log', 'logit', 'probit',
%              'comploglog', 'reciprocal', 'loglog'
%            - パワーリンク mu = xb^P を定義する指数 P
%            - リンク (FL)、リンクの微分 (FD)、逆リンク (FI) を定義する、
%              @ を使って作成される 3 つの関数ハンドルを含む {FL FD FI} 
%              の形式のセル配列。
%
%      'estdisp' - 標準誤差を計算する二項、またはポアソン分布の分散
%         パラメータを推定する場合 'on'、または、理論の分散値を使用する
%         場合 'off' (デフォルト) として指定。GLMFIT は、常に他の分布の
%         分散を推定します。
%
%      'offset' - 追加の予測変数として使用しますが、1.0 で修正した係数値を
%         もつベクトル。
%
%      'weights' - 各観測の相対分散の逆となるようなあらかじめ与えられた
%         重みのベクトル
%
%      'constant' - モデルの定数項を含む場合 'on' (デフォルト)、省略する
%         場合 'off' として指定。定数項の係数は、B の 1 番目の要素です。
%
%   [B,DEV] = GLMFIT(...) は、フィッティングの偏分を返します。
%
%   [B,DEV,STATS] = GLMFIT(...) は、つぎのフィールドを含む構造体を返します。
%   dfe (誤差の自由度)、s (理論値または推定値の分散パラメータ)、
%   sfit (推定値の分散パラメータ)、se (係数推定値 B の標準誤差のベクトル)、 
%   coeffcorr (B の相関行列)、t (Bの t 統計量)、p (B の p-値)、
%   resid (残差のベクトル)、residp (ピアソン残差のベクトル)、
%   residd (偏分残差のベクトル)、resida (Anscombe 残差のベクトル)
%
%   例:  x 上の y に対するプロビット回帰モデルにフィッティングします。
%        各 y(i) は、n(i) 回の試行での成功回数です。
%
%       x = [2100 2300 2500 2700 2900 3100 3300 3500 3700 3900 4100 4300]';
%       n = [48 42 31 34 31 21 23 23 21 16 17 21]';
%       y = [1 2 0 3 8 8 14 17 19 15 17 21]';
%       b = glmfit(x, [y n], 'binomial', 'link', 'probit');
%       yfit = glmval(b, x, 'probit', 'size', n);
%       plot(x, y./n, 'o', x, yfit./n, '-')
%
%   参考 GLMVAL, REGSTATS, REGRESS.


%   Copyright 1993-2007 The MathWorks, Inc.
