% ROBUSTFIT ロバスト線形回帰
%
%   B = ROBUSTFIT(X,Y) は、線形モデル Y=Xb を推定するためにロバスト回帰を
%   実行することで得られた回帰係数のベクトル B を返します。X は、予測変数
%   の nxp の行列で、Y は、nx1 の観測ベクトルです。アルゴリズムは、bisquare 
%   の重み関数をもつ繰り返し重みを適用した最小二乗を使用します。デフォルト
%   では、ROBUSTFIT は、B の 1 番目の要素の定数項に対応する 1 つの列を
%   X に追加します。直接 X にその列を入力しません。
%
%   B = ROBUSTFIT(X,Y,'WFUN',TUNE) は、重み関数 'WFUN' と調整定数 TUNE を
%   使用します。'WFUN' は、'andrews', 'bisquare', 'cauchy', 'fair', 
%   'huber', 'logistic', 'talwar', 'welsch' のいずれかになります。さらに、
%   'WFUN' は、入力として残差ベクトルをとり、出力として重みベクトルを生成
%   する関数になります。残差は、重み関数を呼び出す前に、調整定数と誤差の
%   標準偏差によってスケールされます。'WFUN' は、@ (@myfun のように) を
%   使用して指定できます。TUNE は、重みを計算する前に、残差のベクトルで
%   分割される調整定数で、'WFUN' が関数として指定される場合に必要になります。
%
%   B = ROBUSTFIT(X,Y,'WFUN',TUNE,'CONST') は、モデルが定数項を含むか
%   どうかを制御します。'CONST' は、定数項を含むには 'on' (デフォルト)、
%   あるいは、省略するには 'off' です。
%
%   [B,STATS] = ROBUSTFIT(...) は、つぎのフィールドを含む STATS 構造体も
%   返します。
%       stats.ols_s     最小二乗フィットからの sigma 評価 (rmse) 
%       stats.robust_s  sigma のロバスト評価 
%       stats.mad_s     sigma の MAD 評価。反復フィッティングの間、残差を
%                       スケーリングするために使用されます。 
%       stats.s         sigma の最終評価。robust_s と ols_s と robust_s の
%                       重み平均の大きい方の値
%       stats.se        推定係数の標準誤差 
%       stats.t         stats.se と b の比 
%       stats.p         stats.t に対するp値 
%       stats.coeffcorr 推定係数の相関の評価 
%       stats.w         ロバストフィッテイングの重みベクトル 
%       stats.h         最小二乗フィッティングに対するリべレッジベクトル
%       stats.dfe       誤差に対する自由度 
%       stats.R         行列 X の QR 分解の R 因子 
%
%   ROBUSTFIT は、係数評価の分散共分散行列を V=inv(X'*X)*STATS.S^2 と評価
%   します。標準誤差と相関は、V から導かれます。
%
%   ROBUSTFIT は、X、または Y の NaN を欠損値として扱い、それらを削除します。
%
%   例:
%      x = (1:10)';
%      y = 10 - 2*x + randn(10,1); y(10) = 0;
%      bls = regress(y,[ones(10,1) x])
%      brob = robustfit(x,y)
%      scatter(x,y)
%      hold on
%      plot(x,brob(1)+brob(2)*x,'r-', x,bls(1)+bls(2)*x,'m:')
%
%   参考 REGRESS, ROBUSTDEMO.


%   Copyright 1993-2007 The MathWorks, Inc.  
