• ベストアンサー

回帰モデルの予測精度と回帰データサイズの関係を調べる方法

手元に200個(大きさ200;行数200)の観測データがあり、その一部(n個)を用いて回帰モデルを構築した場合の予測精度が、用いたデータ数nにどのように依存するかを調べたいと考えています。 このような場合、次の(1)~(3)を、様々なnについて繰り返す方法でよいのでしょうか? (1)200個のデータをランダムに、大きさn, (200-n)の2つの部分集合に分ける (2)前者を用いて構築した回帰モデルで後者を予測する (3)予測誤差を評価する 不安な点は、nに応じて、予測されるデータ数(精度検証に用いられるデータ数)が変化してしまうことです。 何かコメントをいただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • rei1701
  • ベストアンサー率100% (2/2)
回答No.1

もし予測精度を評価するための基準としてy=ax+bという回帰式のaとbというパラメータの標準誤差が、aとbの値の推定に使ったn数にどう依存するのかをシミュレーションで調べるのでよければ、次の方法(bootstrap)はいかがでしょうか: (1)200個のデータからn個のデータをランダムに復元抽出する。 (2)n個のデータに対して回帰分析を行いaとbの値を推定する。 (3)この作業をk回繰り返す(nの値は変えない)。 (4)aとbの推定値がそれぞれk個手元に残るので、そのデータからそれぞれの標準偏差を計算する。 ☆この作業をnの大きさを変えて繰り返し、aとbの標準誤差のn依存性をグラフにする。 復元抽出なので、nが200でも何通りものサンプルが作れて、質問にあるような心配は生じないはずです。

blueblink
質問者

補足

早速ご回答をいただきありがとうございます。 大変参考になりました。 私の今回の場合は、回帰パラメータの標準誤差ではなく、回帰式の予測誤差について、n依存性を調べたいという状況です。従って、回帰計算に用いていないデータを残しておいて、そのデータを予測し、誤差を調べることが必要かと思います。 もし仮に、1つのnについて調べるだけであれば、ランダムにn個を抽出して回帰モデルを構築し、残りの200-n個を予測して誤差を評価する操作を、多数回繰り返せばよいと思います(モンテカルロ法)。しかし、今回のように多数のnについて調べる場合は、nに応じて200-nが変化する(検証用データの数が変わる)ために、よくないのではないかという漠然とした不安を感じます。はっきりと表現できず申し訳ありません。