Engineering Skills

製品開発エンジニアがデータ解析のノウハウを垂れ流します

回帰分析(XとYを入れ替えた場合)の直感的なグラフ

回帰分析においてXとYを入れ替えると傾きが変わってしまう場合があることをこちらに書きました。内容は重複しますが、他の方に説明していてこんなグラフを使うと直感的に(なんとなく)伝わるように感じたので書き残しておきます。

単回帰分析でXとYの入れ替え

単回帰分析ではYの誤差を最小化します。最小二乗法による係数の求め方は下記でした。

[math] \displaystyle \min f=\sum_{i=1}^{n} \{ y_i - (ax_i+b) \}^2 [/math]

Yに関する誤差を最小化するため、X方向の誤差が考慮されていません。このため、XとYを入れ替えると結果が変わります。

f:id:OceanOne:20200701013739j:plain:w450

XとYの入れ替え例

下記はXを[0,1]の乱数、YはY=Xに標準偏差0.1の乱数を加えたグラフです。右のグラフはXとYを入れ替えたもの。1段目からデータ数を1000、3000、10000と増やしています。

f:id:OceanOne:20200701021110j:plain:w450

左列のグラフはY=Xの通りほぼ傾きは1です。右列のグラフは横軸にノイズが含まれるため傾きが寝ています。データ数が増えても傾きに変化はありませんが、グラフ形状から横軸方向のデータが横方向に引き伸ばされてしまうため傾きが寝てしまう傾向がわかるのではないかと思います。

今度はY=XのYに加えるノイズについて標準偏差0.05、0.1、0.2の乱数と変えたグラフです。右のグラフは先ほどと同様にXとYを入れ替えたものです。1段目からYに加えるノイズの標準偏差を0.05、0.1、0.2と増やしています。

f:id:OceanOne:20200701023113j:plain:w450

今度も左列は傾きはほぼ1で変化ありませんが、右列は横軸方向のノイズが増えるほど回帰直線の傾きが寝ています。やはり横軸方向にデータが引き伸ばされてしまう影響です。

まとめ

回帰分析でXとYを入れ替えると結果が変わるの続編でした。前回よりイメージつきやすいグラフにしたつもりでしたが、いかがでしょうか?こちらでは様々な回帰を実装しています。最小二乗法でXとYの入れ替えなどもそれぞれも算出します。遊んでみてください。