回帰分析におけるデータ正規化の意味と重回帰分析における正規化データの扱い

このQ&Aのポイント
  • 回帰分析においてデータの正規化は、入力と出力のデータのスケールを揃えるための処理です。データの正規化により、各変数のスケールの違いが予測結果に与える影響を均一化することができます。
  • ただし、データを正規化することで予測結果の解釈が難しくなる場合もあります。正規化したデータの予測結果は0以上1以下の値しか取らないため、実際の値として意味を持つかどうかは状況によります。
  • 正規化したデータで予測する場合、新しいデータを予測式に代入する前に、予測結果を元のスケールに戻す必要があります。具体的な方法は、正規化する前のデータの平均値や標準偏差を使用して、逆変換することです。
回答を見る
  • ベストアンサー

回帰分析におけるデータの正規化の意味

重回帰分析をプログラム作成することを考えています。 しかし、データの正規化について疑問が2つあります。 まず一つは、例えば、画像の解析をする場合にデータの正規化をすることは、 ノイズを除去したり、画像の向きを正しくすることを意味しますよね。 しかし、回帰分析においてデータの正規化をすることは何を意味しているのでしょうか? 画像のように見てイメージがわけばよいのですが、数値データなのでどういう意図があるのかよく分かりません。 2つ目の疑問です。 また、データを正規化して重回帰分析をしたとします。 ↓の重回帰分析を例に挙げます。 http://homepage2.nifty.com/crop_shimane-u/multipleregression_excel.htm この例では、入力として年平均気温、降水量、日照時間とし、出力を単収としています。 このときデータを正規化せずに解析し、次のような予測式を推定しています。  水稲単収=713.932-17.336×年平均気温+0.010666×降水量+0.017851×日照時間 ・・・ @ この場合に、正規化していないので新しいデータとして、例えば、  年平均気温=14.8、降水量=2431、日照時間=1721 ・・・ (*) から単収を推定したいとき、上記@の回帰式に代入することで単収を計算して推定できます。(1) しかし、データを正規化(平均が0、分散が1になるように)した場合、入力と出力のデータが0以上1以下の値しかとらなくなるので、 重回帰によって上記@のように予測式が得られてもその予測式の出力は0以上1以下の値しかとらないことになり、 新しいデータ(*)をそのまま予測式に代入しても正しい単収を推定できないのではないかと考えています。 この場合のように、データを正規化して得られた予測式で(1)のように正しく単収を推定するにはどうしたらよいのでしょうか? 長くなりましたが、回答よろしくお願いします。

  • nnsvm
  • お礼率16% (39/239)

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

  • ベストアンサー
回答No.1

問1 正規化をすると、単位に引きずられず偏回帰係数によってその因子の影響を比較評価できるようになります。 たとえば、mmとcmと単位を変えたとき、mmで式を作ると「降水量」が大きな偏回帰係数を持ち、「降水量」の影響が大きく見えます。正規化してみれば、各因子の係数が、「寄与率」のように比較できます。 正規化して重回帰分析を行ったときの係数を「標準偏回帰係数」といいます。多くの解析ソフトは、両方を表示します。 問2 ご質問者の誤解です。 平均を0、分散を1までは正しいです。 データはおおよそー3から3くらい(ー3σから+3σ)になっているはずです。なぜ、正値しか考えないのですか? 負値もとります。 正規化(基準化,標準化ともいいます)した場合の予測値は、しない場合と同じ値を与えないと間違いです。 問3 もし、手持ちのルーチンが正値しか扱えないのなら、学力試験の偏差値のように(50,10)(偏差値といいます)にしても良いかもしれません。

nnsvm
質問者

補足

問1については理解しました。 問2、3がちょっとまだ分からないので、もうちょっと教えてください。 重回帰分析のプログラムをC++で作成しました。 解析したデータはこちらのものにしました。 http://gucchi24.hp.infoseek.co.jp/MRAEX1.htm X = 8  4  8 7  7  7 5  8  9 4  3  3 6  8  8 2  5  3 3  6  6 9  9  7 Y =[18  12  14  6  12  8  10  16] 解析結果は以下のようになりました。 [正規化なし] Y=2.504 + 0.8161X1 - 0.2749X2 + 1.055X3 ・・・ (a) [正規化あり] Y=9.72832e-18 + 0.499768X1 - 0.145797X2 + 0.597074X3 ・・・ (b) 正規化の仕方  Xi = Σ( Xij-mean(Xi) ) / std(Xi)  j = 1・・・N  Y = Σ( Yj-mean(Y) ) / std(Y)  j = 1・・・N  Nはデータ数、mean(・)は平均、std(・)は標準偏差 [正規化したデータ] X = 1.02062 -1.06066 0.717805 0.612372 0.353553 0.276079 -0.204124 0.824958 1.15953 -0.612372 -1.53206 -1.49083 0.204124 0.824958  0.717805 -1.42887  -0.589256  -1.49083 -1.02062  -0.117851  -0.165647 1.42887  1.29636  0.276079 Y = [1.5  0  0.5  -1.5  0  -1  -0.5  1] このとき、  X1=6、X2=4、X3=8 ・・・ (c) として回帰式(a)、(b)で予測したところ  (a)=Predict_Y = 7.19201  (b)=Predict_Y = 14.741 となり予測値が一致しません。 これは単純にプログラムが間違っているということなのでしょうか? それとも、テストデータ(c)をそのまま予測式に入れたのではダメなのでしょうか? 回答お願いします。

その他の回答 (2)

回答No.3

> データはおおよそー3から3くらい(ー3σから+3σ)になっているはずです。と回答に書かれているのですが、-3から3という範囲はどのようにして求めているのですか? 正規分布の場合は、±3σの範囲内の分布密度は全体の99.7%で、ほぼ全データが入ります。ですからよくグラフを書くときに±3σの線を入れたりします。工程能力も±3σが安定の目安になっています。 すなわち、今、分布がN(0,1)ですから、±3の範囲に殆ど全てのデータが入ってくるだろうと考えて書きました。それを越えるものは異常値の疑いがあるわけです。 > 正規化なしの場合の回帰式の係数と、正規化ありの場合の回帰式の係数は異なっているわけですが、この係数を一致させることは可能なのでしょうか? 偏回帰係数と標準偏回帰係数は通常は一致しません。偏回帰係数と標準偏回帰係数が一致するのは、説明変数の分散と目的変数の分散が一致しているときだけです。 ただし、互いに変換は可能です。リンク先の式(2-6)をご覧下さい。 > そうできれば、テストデータを正規化する必要もなくなるので・・・。 リンク先にも書いてありますように、一般の統計ソフトではまず先に、桁落ち桁あふれの心配のない標準偏回帰係数を求めておき、それから偏回帰係数に変換するのが誤差の少ないやり方です。 まずは、正規化をやられてはいかがでしょうか。

参考URL:
http://staff.aist.go.jp/kudoh.yuki/ja/research/files/regression.pdf
nnsvm
質問者

お礼

詳細な回答ありがとうございました。 重回帰と正規化についてとてもよく理解できました。

回答No.2

#1です。 回答が遅くなりすみません。 説明変数(x)を正規化したデータで重回帰式を作ったときは、予測用代入値(x')もxを正規化した変換式で変換されたものでなくてはなりませんね。 それから、私は前の回答で少しはしょって書いてしまいましたが、説明変数(x)を正規化したときは、目的変数(y)も同様に正規化するケースが多く、そのような場合は予測値も正規分布N(0,1)に従います。よって逆変換しないと元の値と一致しません。 しかし、あくまで大小関係はしっかり保存されています。

nnsvm
質問者

補足

回答ありがとうございました。 おかげさまで、正規化なしの回帰式での予測値と正規化ありの回帰式の予測値が 一致しました。 前回の補足に書き忘れたのですが、 >データはおおよそー3から3くらい(ー3σから+3σ)になっているはずです。 と御回答にかかれているのですが、-3から3という範囲はどのようにして求めているのですか? また、最後にできるのかお聞きしたいのですが、正規化なしの場合の回帰式の係数と 正規化ありの場合の回帰式の係数は、異なっているわけですが、この係数を 一致させることは可能なのでしょうか? そうできれば、テストデータを正規化する必要もなくなるので・・・。 補足よろしくおねがいします。

関連するQ&A

  • 重回帰分析におけるP値とデータ数の関係について

    レポートで重回帰分析を用いた実証分析を行っているのですが、重回帰分析に関しての質問があります。 内容としては、企業のコスト構造に一定の費用関数を推定し、コストを被説明変数、その他の説明変数を複数推定して、そのパラメーター(2~3つ)を重回帰分析で求めるもの内容となっています。 財務データを年代順に収集し、上記の分析方法で計測したところ、分析結果(推定式)のR2はデータ量が増加しても良好に推移しています。 ところが、複数ある説明変数の一部のP値が、1%⇒5%⇒10%・・・と、どんどん大きくなってしまい、説明変数として有意でなくなってしまいました。 【質問1】 データ量の増加とともにP値が大きくなるのは、データ量の増加に伴い推定式における当該説明変数の説明力が減少した(有力な説明変数でなくなっている)、という理解でよいのでしょうか? 【質問2】 P値の説明力を維持する(P値が大きくならないようにする)方法はあるのでしょうか? 以上です。 知識のある方には愚問かも知れませんが、何卒よろしくご回答をお願い致します。

  • 重回帰分析について

    卒論を作成するに当たって、重回帰分析にて、「パソコンの需要量予測」をしたいと思っています。 いろいろな変量を用意し、そのデータを集めて、パソコンの需要量(販売数)を目的変量とする重回帰式を生成し、新製品のデータを入力してその製品の需要量予測をするつもりです。 ここで質問なのですが、目的変量(需要量)に対する説明変量として、どのようなものがいいのでしょうか? 今思いついているのはパソコンの性能、企業のブランド力です。 これからも自分で考えていきますが、良い説明変量があれば教えてください。お願いします。

  • 回帰分析と正規分布

    回帰分析にかけるデータはそれぞれ正規分布していないとダメですか?

  • エクセルの回帰分析はどこにあるのですか?

    重回帰分析をしたいです。 エクセルにおいて、メニューバーの「データ」→「データ分析」→「回帰分析」を選択するのですが,わたくしは見つけられませんでした。ありません。 わたくしは,データ分析が見つけられません。困っています。 どこにあるのでしょうか。 教えてください。よろしくお願い致します。 また,Kingsoft Spreadsheets では,重回帰分析ができないのでしょうか??? メニューバーの中の「データ」の中には データ分析が見つけられません。 教えてください。よろしくお願い致します。

  • ロジスティック回帰分析について

    ロジスティック回帰分析で、 (1)実験から得られた実測値(連続量と0,1の離散量が混在しているデータ)を用いたもの (2) (1)のデータの連続量のみを(実測値-平均値)/ 標準偏差で正規化したもの (3) (1)のデータの連続量のみを(実測値-最小値)/(最大値-最小値)で0から1までの数値に変換したもの 上述の(1)~(3)で回帰係数はそれぞれ異なるのに、目的変数のProbabilityが同じ数値になるのは、どのような理論的背景があるからなのでしょうか? ご存知の方がおられましたら、教えていただけないでしょうか?

  • エクセル統計2012を使用した重回帰分析について

    統計に関する質問をさせていただきます。 わかる方がいらっしゃいましたら、ご教授願います。 エクセル統計2012を使用して重回帰分析をしようとしたのですが、意図していた結果が出ず悩んでいます。 分析したい内容は以下の通りです。 1月から12月までの各月の「イベント入場者数」は、「その地域の観光客数」「気温」「降水量」が関係しているか?についてです。 エクセル統計2012にて、 目的変数:イベント入場者数 従属変数:その地域の観光客数、気温、降水量 それぞれ入力し、変数選択を「増減法」としたところ、重相関係数Rは「0.0000」、回帰式に含まれる変数は「定数項」のみという結果が出ました。 今回ご質問したいのは、 1、上記のようなRが0という結果がありえるのでしょうか? 2、また、増減法ではなく「全変数」を選択して再度分析したところ、こちらはRが0.78という結果が出ましたが、「全変数」で出すべきなのでしょうか? 3、変数選択はどのように見分ければよいのでしょうか? 以上の3点についてお願いいたします。 よろしくお願いいたします。

  • 重回帰分析で得られた予測式の妥当性について

    ある集団のデータから重回帰分析である値の予測式を作成しました。 その予測式を他の集団に当てはめてみましたが、その予測式が妥当か否かはどう判断したらよろしいのでしょうか? 予測値と実測値で有意差がなく、有意な相関があればいいのでしょうか?

  • 最小2乗法→回帰分析→?

    本には、「あるデータについて最小2乗法を行った後、回帰モデルの標準的仮定を置くと、最小2乗推定量は望ましい統計的性質を持ちます。しかし、実際の分析では、誤差項の正規性が付け加えられた「正規回帰モデルの標準的仮定」が仮定されることがほとんどである。」と書いてあるのですが、この正規性の条件はなぜ必要なのですか。 アバウトな質問になってしまいましたが、よろしくお願いします。

  • 重回帰分析と数量化理論について

    データ分析を行っているのですが、例えば売上を分析するときに、説明変数として気温などの量的データと曜日や天気などの質的データ(ダミー変数を用いる)を一緒にしてExcelの回帰分析の機能を使用し分析することは、数量化理論(1)類といえるのでしょうか?それとも重回帰分析というのでしょうか?それとも他に呼び名があるのでしょうか?

  • 回帰分析について

    回帰分析について 家計調査2009年の 「年間収入五分位階級・世帯人員別1世帯当たり年平均1か月間の収入と支出」 のExcel表から世帯人員・消費支出・食料支出・教育支出の四項目を抜き出し 食料支出・食料支出・教育支出を一人当たりのデータに直したあと これらを対数変換し、消費支出を独立変数とし回帰分析を行なって回帰式をだそうとしているのですが Excelのデータ分析ツールを使用して回帰式をだしたあとに確認のために計算したところ誤差がでてしまいました。 この誤差は回帰式上仕方のないものなのでしょうか 分かりにくいかもしれませんがよろしくお願いします ↓計算してでた回帰式です。 食料支出=6693.0903+0.14791147*消費支出 教育支出=-5942.3124+0.12495474*消費支出