2

入力データを保存せずに多変量の通常の線形回帰を行う方法 (および結果の R 2 乗を取得する方法) については、誰でも良いリファレンスを持っています。ユースケースは、保存するには行が多すぎるデータセットです。回帰は、x[i]*x[j] と y * x[i] を累積し、そこから行列計算を行うことで取得できますが、統計を取得するための同様の式が見つかりません。完了 (スターターの R 二乗)。ありがとう。

4

1 に答える 1

1

私は良い参考文献を持っていませんが、私がそれにアプローチする方法は、二乗和の式を展開し、蓄積している期待の観点からそれらを書くことです.

  • <.>データ行の平均を示すために使用するので、それ<y>は y 値の平均などです。

  • 質問で示したように、行列<x[i]*x[j]>とベクトルから回帰係数 a[i] と b をいつでも取得できます<y*x[i]>

  • 以下sum_i{ a[i]*x[i] }では、独立変数を構成するコンポーネントの合計を示すために使用します。
  • 使用されるデータ行の数を N とします。

説明された平均二乗偏差を計算する方法は次のとおりです。

SS_reg/N = < (f -<y> )^2 >    

         = < ( sum_i {a[i]*x[i] } + b - <y> )^2 > 
         = < sum_i { a[i]^2*x[i]^2}  +b^2 +<y>^2 +sum_i{ 2*b*a[i]*x[i]}-2*<y>* sum_i{a[i]*x[i]}-2*b*<y> >
         = sum_i { a[i]^2*<x[i]*x[i]> } +
           b^2 +
           <y>^2 + 
           2*b*sum_i{a[i]*<x[i]>} -
           2*<y>*sum_i{ a[i]*<x[i]>} -
           2*b*<y>

<x[i]*x[i]>回帰係数を導出するために、行列の対角要素として既に維持しています。また、従属変数 ( )だけでなく、独立変数 (<x[i]>ごと)の平均も維持する必要があります。i<y>

合計または残差平均二乗誤差のいずれかに対して同様の展開を実行し、R^2 値の計算に使用できます。

于 2012-07-03T19:08:08.110 に答える