How to | 線形回帰を行う方法
統計モデルでもっともよく使用される方法のひとつに線形回帰モデルがある.線形モデルは,予測変数あるいは予測変数の関数を組み合せることによって反応変数の値を予測しようとする.Wolfram言語では,LinearModelFitが線形回帰モデルのフィットに関する情報を含むオブジェクトを返し,結果と診断が容易に抽出できるようにする.
data = Table[{3 + i + RandomReal[{-3, 7}], i + RandomReal[{-2, 5}]}, {i, 1, 20}];LinearModelFit を使ってそのデータから線形モデルを構築する:
model = LinearModelFit[data, x, x]model["BestFit"]Plot[model["BestFit"], {x, 0, 20}]Show[ListPlot[data], Plot[model["BestFit"], {x, 0, 30}]]model["ParameterTable"]標準化された残差を抽出してプロットし,残差をフィットさせる:
{sr, fr} = model[{"StandardizedResiduals", "FitResiduals"}];
{{ListPlot[sr], ListPlot[fr]}}//GraphicsGridListPlot[model["CookDistances"], Filling -> Axis, FillingStyle -> Thick, PlotStyle -> Thick]もうひとつの方法としてクックの距離と予測値を比較したものをプロットする:
ListPlot[Transpose[{data[[All, 1]], model["CookDistances"]}], Filling -> Axis, FillingStyle -> Thick, PlotStyle -> Thick]上の例は, LinearModelFitがサポートする特性の選択肢を示しているが,その他にも多くが使用できる:
model["Properties"]