- 締切済み
基準化したデータより得られた回帰式に新たな説明変数を代入する際の取り扱いについて
基準化したデータより得られた回帰式に新たな説明変数の数値を代入し、従属変数の数値を計算(予測)する際、その代入される説明変数も基準化されている必要があると思いますが、その基準化の方法はどのように行えばよいのでしょうか? 例えば、サンプル数10、従属変数1、説明変数4というデータセットがあり、全変数を基準化し回帰係数を求めたとします。 得られた回帰式を用い新しいデータの説明変数の数値を代入することにより説明変数の値を予測したいと思います。 この際、この新たなデータも基準化される必要があると思うのですが、基準化する際には回帰係数を求めるために用いた10個のサンプルより計算された各説明変数の平均及び標準偏差を用いて、基準化を行うのでしょうか? 具体的には10個のサンプルから計算された説明変数a,b,c,dの平均がそれぞれ2,4,6,8、及び標準偏差が10,20,30,40であったとします。 新たなデータの説明変数a,b,c,dの値が3,6,9,12であった場合は、それぞれ(3-2)/10, (6-4)/20, (9-6)/30, (12-8)/40の値を計算し、その数値を回帰式に代入するのでしょうか? 長くなってしまい申し訳ありませんが、どなたか詳しい方がいましたら是非教えていただきたくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- backs
- ベストアンサー率50% (410/818)
質問者さんの意図している基準化というものがどういうものか分からないのですが、、、 通常は平均0、分散1となるように変数の値を変換することを基準化といいますが、それとは違うものなのでしょうか? 基準化とは"個々の変数に対して"行われるものですから、新たに基準化したデータを投入して問題ないでしょう(というかそれ以外の方法が分からないのですが)。 a = {12, 20, 15, 30, 29} #原データ a' = {-1.135, -0.148, -0.764, 1.085, 0.962} #基準化されたデータ
補足
ご回答頂き、有難うございます。 今回計算した回帰係数は標準化偏回帰係数であるため新たなデータを代入する際は基準化されたデータ(ここの言い回しが難しいのですが)でなければならないと思います。 しかし回答者さんのおっしゃるとおり、基準化は平均0、分散1となるように数値を変換する作業であります。 つまり、標準化偏回帰係数を計算する際に生データを基準化し回帰係数を計算した場合、当然その標準化偏回帰係数は平均0、分散1となる各説明変数のデータよりその係数が計算されています。 得られた標準化偏回帰係数により表される回帰式に、その式を計算する際は使用されていないデータ(新たな説明変数データ)を代入し従属変数の数値を計算する際の、その新たなデータの処理方法がわかりません。 例えば、ここに以下のデータセットがあります(サンプル数5、説明変数3つ、従属変数1つ)。 サンプルID = [説明変数1,説明変数2,説明変数3,従属変数] a = [2,12,10,200] b = [5,7,6,150] c = [4,24,20,210] d = [3,19,4,220] e = [6,16,14,280] 平均及び標準偏差[平均,標準偏差] 説明変数1 = [4.0, 1.58] 説明変数2 = [15.6, 6.50] 説明変数3 = [10.8, 6.42] 従属変数 = [212.0, 46.58] 上記の生データを基準化[(データ-平均)/標準偏差] a' = [-1.26, -0.55, -0.12, -0.26] b' = [0.63, -1.32, -0.75, -1.33] c' = [0.00, 1.29, 1.43, -0.04] d' = [-0.63, 0.52, -1.06, 0.17] e' = [1.26, 0.06, 0.50, 1.46] このa'~e'の基準化されたデータを使い回帰式を計算すると y = 0.00 + 0.38*説明変数1 + 0.58*説明変数2 - 0.06*説明変数3 という数式が得られます。 この数式に新たなデータ(説明変数のみ) f = [5,12,13] を用いて、このfの従属変数を予測する場合 生データである[5,12,13]を上記回帰式に代入することはできません(基準化されたデータにより算出されたため)。 そのためこのfを得られた回帰式に代入できる形に変形しなければなりません。 質問はここです。 標準化変回帰式に数値を代入するため、f 'を計算する必要があると思います。 その際には、生データを基準化する際に用いた(回帰式を求める際に使用した)平均及び標準偏差を用いてf'を計算するのでしょうか? つまり 説明変数1 = [4.0, 1.58] 説明変数2 = [15.6, 6.50] 説明変数3 = [10.8, 6.42] より f ' = [(5-4.0)/1.58, (12-15.6)/6.50, (13-10.8)/6.42] = [0.63, -0.55, 0.34] を算出し、この[0.63, -0.55, 0.34]回帰式に代入し y = 0.00 + 0.38*説明変数1 + 0.58*説明変数2 - 0.06*説明変数3 = 0.00 + 0.38*0.63 + 0.58*(-0.55) - 0.06*0.34 = -0.10 と計算してよいのでしょうか? 長くなってしまい大変申し訳ありません。 もし、ご存知でありましたら教えていただきたくお願いいたします。