最適なラインは、良いフィットのようには見えません。どうして?


82

このExcelグラフをご覧ください。 グラフ

「常識的な」最適なラインは、ポイントの中心を真っ直ぐに通るほぼ垂直の線に見えます(手作業で赤で編集)。ただし、Excelによって決定された線形トレンドラインは、示されている黒い斜めのラインです。

  1. Excelが(人間の目には)間違っているように見える何かを生成したのはなぜですか?
  2. もう少し直感的に見える最適な線(赤い線など)を作成するにはどうすればよいですか?

更新1.データとグラフを含むExcelスプレッドシートは、サンプルデータPastebinのCSVで入手できます 。type1およびtype2回帰手法はExcel関数として利用できますか?

更新2。このデータは、風と共に漂流している間にサーマルで登るパラグライダーを表します。最後の目的は、風の強さと方向が高さによってどのように変化するかを調べることです。私はエンジニアであり、数学者や統計学者ではないので、これらの回答の情報は、私が研究するためのより多くの分野を与えてくれました。


5
正直に言うと、これはデミング回帰とOLSの問題だとは思いません。との非常に小さな絶対変動性を見ると、これはExcelの数値の問題かもしれません。質問を編集してデータを含めることはできますか?yxy
ステファンKolassa

12
この現象は、19世紀の主要な統計的発見の1つでした(常にそうではないにしても)。それは平均に向かって回帰と呼ばれます。確かに、この統計的手順が「回帰」と呼ばれるまさにその理由です!
whuber

3
近似が非常に異なるように見える主な理由は、プロットがy軸のスケールを大きく誇張していることです。両方のスケールが限界標準偏差に比例するように描画すると、どちらの適合がより「常識」であるかについてまったく異なる結論に達する可能性があります。
whuber

6
@StephanKolassa-赤い線を使用してを予測した場合のエラーの大きさに注意してください。赤い線は、最小の最小二乗適合にはなりません。Excelには確かに問題がありますが、これはそれらの1つではないと思います。x = 0.714yx=0.714
jbowman

7
これは、すでにサイトで何度も対処されています(たとえば、こちらを参照)。回帰線とは何かを理解すると、なぜそれが黒い線なのかが簡単にわかります。2つの質問を自問してください:1:xが約0.712のときのyの平均値は?2.赤と黒の線は、それがどうあるべきかを予測しますか?... [ データに特定の問題があるため、今のところ重複として締め切りを保留しました。質問に
再度

回答:


111

従属変数はありますか?

Excelの傾向線は、独立変数「lon 」の従属変数「lat」の回帰からのものです。「常識線」と呼ばれるものは、従属変数を指定せず、緯度と経度の両方を等しく扱う場合に取得できます。後者は、PCAを適用することで取得できます。特に、これらの変数の共分散行列の固有ベクトルの1つです。これは、特定のポイントからライン自体までの最短距離を最小化するラインと考えることができます。つまり、ラインに垂直線を引き、各観測のそれらの合計を最小化します。(xi,yi)

ここに画像の説明を入力してください

Rでそれを行う方法は次のとおりです。

> para <- read.csv("para.csv")
> plot(para)
> 
> # run PCA
> pZ=prcomp(para,rank.=1)
> # look at 1st PC
> pZ$rotation
           PC1
lon 0.09504313
lat 0.99547316
> 
> colMeans(para) # PCA was centered
       lon        lat 
-0.7129371 53.9368720 
> # recover the data from 1st PC
> pc1=t(pZ$rotation %*% t(pZ$x) )
> # center and show
> lines(pc1 + t(t(rep(1,123))) %*% c)

Excelから得た傾向線は、Excel回帰で変数が等しくないことを理解している場合、PCAからの固有ベクトルと同じように常識です。ここでは、からまでの垂直距離を最小化しています。ここで、y軸は緯度で、x軸は経度です。 y x iyiy(xi)

変数を平等に扱うかどうかは、目的によって異なります。データに固有の品質ではありません。データを分析するには、適切な統計ツールを選択する必要があります。この場合、回帰とPCAのどちらかを選択します。

聞かれなかった質問への回答

それでは、なぜあなたの場合、Excelの(回帰)傾向線があなたの場合に適したツールとは思えないのでしょうか?その理由は、トレンドラインが、尋ねられなかった質問に対する答えだからです。その理由は次のとおりです。

Excel回帰は、行のパラメーターを推定しようとしています。したがって、最初の問題は、厳密に言えば緯度が経度の関数でさえないことであり(投稿の最後にあるメモを参照)、主な問題すらありません。本当の問題は、パラグライダーの場所にさえ興味がなく、風に興味があるということです。lat=a+b×lon

風がなかったと想像してください。パラグライダーは同じ円を何度も繰り返します。トレンドラインはどうなりますか?明らかに、それは平らな水平線であり、その勾配はゼロになりますが、風が水平方向に吹いているという意味ではありません!

これは、パラグライダーが完全な円を描いている間に、y軸に沿って強風がある場合のシミュレーションプロットです。線形回帰がどのように無意味な結果、水平トレンドラインを生成するかを確認できます。実際には、わずかにマイナスでも、重要ではありません。風向は赤い線で示されています。yx

ここに画像の説明を入力してください

シミュレーションのRコード:

t=1:123
a=1 #1
b=0 #1/10
y=10*sin(t)+a*t
x=10*cos(t)+b*t

plot(x,y,xlim=c(-60,60))
xp=-60:60
lines(b*t,a*t,col='red')

model=lm(y~x)
lines(xp,xp*model$coefficients[2]+model$coefficients[1])

したがって、風の方向は明らかにトレンドラインとまったく一致していません。もちろん、それらはリンクされていますが、重要な方法です。したがって、Excelのトレンドラインはある質問に対する答えであり、あなたが尋ねた質問に対する答えではないという私の声明です。

PCAを選ぶ理由

お気付きのとおり、パラグライダーの動きには少なくとも2つの要素があります。風によるドリフトと、パラグライダーによって制御される円運動です。これは、プロット上のドットを接続するとはっきりとわかります。

ここに画像の説明を入力してください

一方では、円運動は本当にあなたにとって迷惑です:あなたは風に興味があります。一方、風速は観測せず、パラグライダーのみを観測します。したがって、あなたの目的は、観測可能なパラグライダーの位置の読み取りから観測できない風を推測することです。これはまさに、因子分析やPCAなどのツールが役立つ状況です。

PCAの目的は、出力の相関を分析することにより、複数の出力を決定するいくつかの要因を分離することです。出力が因子に線形にリンクしている場合に効果的です。これは、データの場合に当てはまります。風のドリフトは、円運動の座標に単純に加算されるため、PCAはここで機能しています。

PCAセットアップ

そこで、PCAにここでチャンスがあることを確立しましたが、実際にどのように設定するのでしょうか?3番目の変数timeの追加から始めましょう。一定のサンプリング周波数を想定して、123の各観測に時間1〜123を割り当てます。データの3Dプロットがどのように見え、そのらせん構造が明らかになります。

ここに画像の説明を入力してください

次のプロットは、パラグライダーの想像上の回転中心を茶色の円で示しています。青い点で示されたパラグライダーがその周りを旋回している間、それが風で緯度経度面でどのようにドリフトするかを見ることができます。時間は垂直軸上にあります。回転の中心を、最初の2つの円のみを示すパラグライダーの対応する位置に接続しました。

ここに画像の説明を入力してください

対応するRコード:

library(plotly)       

 para <- read.csv("C:/Users/akuketay/Downloads/para.csv")
 n=24

   para$t=1:123 # add time parameter

   # run PCA
     pZ3=prcomp(para)
     c3=colMeans(para) # PCA was centered
     # look at PCs in columns
       pZ3$rotation

       # get the imaginary center of rotation 
       pc31=t(pZ3$rotation[,1] %*% t(pZ3$x[,1]) )
     eye = pc31 + t(t(rep(1,123))) %*% c3
     eyedata = data.frame(eye)

     p = plot_ly(x=para[1:n,1],y=para[1:n,2],z=para[1:n,3],mode="lines+markers",type="scatter3d") %>%
       layout(showlegend=FALSE,scene=list(xaxis = list(title = 'lat'),yaxis = list(title = 'lon'),zaxis = list(title = 't'))) %>%
     add_trace(x=eyedata[1:n,1],y=eyedata[1:n,2],z=eyedata[1:n,3],mode="markers",type="scatter3d") 
     for( i in 1:n){
         p = add_trace(p,x=c(eyedata[i,1],para[i,1]),y=c(eyedata[i,2],para[i,2]),z=c(eyedata[i,3],para[i,3]),color="black",mode="lines",type="scatter3d")
       }

subplot(p)

パラグライダーの回転中心のドリフトは主に風によって引き起こされ、ドリフトの経路と速度は風の方向と速度、相関関係のない観測可能な変数と相関しています。これは、緯度経度平面に投影したときのドリフトの様子です。

ここに画像の説明を入力してください

PCA回帰

そのため、以前は、ここでは通常の線形回帰がうまく機能しないようであることを確認しました。パラグライダーの動きは非常に非線形であるため、基になるプロセスを反映していないためです。円運動と線形ドリフトの組み合わせです。また、この状況では、因子分析が役立つ可能性があることも説明しました。このデータをモデル化する1つの可能なアプローチの概要は次のとおりです。PCA回帰。しかし、拳私はあなたにPCA回帰紹介フィットカーブ:

ここに画像の説明を入力してください

これは次のようにして得られました。前述のように、追加の列t = 1:123があるデータセットでPCAを実行します。3つの主要コンポーネントを取得します。最初のものは単にtです。2番目はlon列に対応し、3番目はlat列に対応します。

後者の2つの主成分をa形式の変数に適合させます。ここで、は成分のスペクトル解析から抽出されます。それらはたまたま同じ周波数で異なる位相を持っていますが、これは円運動を考えると驚くことではありません。ω φasin(ωt+φ)ω,φ

それでおしまい。近似値を取得するには、PCA回転行列の転置を予測主成分に差し込むことにより、近似コンポーネントからデータを復元します。上記の私のRコードは手順の一部を示し、残りは簡単に理解できます。

結論

基礎となるプロセスが安定しており、入力が線形(または線形化された)関係を介して出力に変換される物理現象に関して、PCAやその他のシンプルなツールがどれほど強力かを見るのは興味深いことです。したがって、この場合、円運動は非常に非線形ですが、時間tパラメーターで正弦/余弦関数を使用することで簡単に線形化できます。あなたが見たように、私のプロットはほんの数行のRコードで作成されました。

回帰モデルは、基礎となるプロセスを反映する必要があります。その場合、そのパラメーターに意味があると期待できるのはあなただけです。これが風に漂うパラグライダーである場合、元の質問のような単純な散布図は、プロセスの時間構造を隠します。

また、Excel回帰は断面分析であり、線形回帰が最適に機能しますが、データは時系列プロセスであり、観測値が時間順に並べられます。ここで時系列分析を適用する必要があり、それはPCA回帰で行われました。

機能に関する注意

パラグライダーは円を描いているため、単一の経度に対応する複数の緯度があります。数学では、関数は値を単一の値マッピングします。多対1の関係です。つまり、複数のがに対応する場合がありますが、複数のが単一の対応することはありません。厳密に言えば、が関数ではない理由です。x y x y y x l a t = f l o n y=f(x)xyxyyxlat=f(lon)


11
らせん構造をよくキャッチ!両側のコメント:代替パラメーター化としてを使用する方が簡単です。主な問題に興味を持たない、または関連しない周期性を平均化することを選択するケースがたくさんあります。a sin ωt+b cos ωt
ニックコックス

11
それらを平等に扱いたいかどうかは、目的によって異なります。データに固有の品質ではありません。-すばらしい点と+1。
リチャードハーディ

@NickCox、そうです、それはあまり仕事がなかっただろう
-Aksakal

PCAは、変数が2つを超える状況への主軸回帰の一般化であることに注意してください。ただし、この場合は2つの変数しかないため、この手法の標準名は主軸回帰(直交回帰またはタイプII回帰とも呼ばれる)です。
トムウェンセリアーズ

61

答えはおそらく、回帰直線までの距離を精神的に判断する方法に関係しています。標準(タイプ1)回帰は、誤差が直線までの垂直距離に基づいて計算される二乗誤差を最小化します。

タイプ2回帰は、最適なラインの判断により類似している場合があります。その中で、最小化された二乗誤差は、ラインへの垂直距離です。この違いには多くの結果があります。1つの重要なことは、プロットのX軸とY軸を入れ替えて線を再調整すると、タイプ1回帰の変数間に異なる関係が得られることです。タイプ2回帰の場合、関係は同じままです。

私の印象では、タイプ1とタイプ2の回帰を使用する場所についてかなりの議論があるため、どちらを適用するかを決定する前に、違いについて注意深く読むことをお勧めします。タイプ1回帰は、1つの軸が実験的に制御されているか、少なくとも他の軸よりもはるかに少ないエラーで測定されている場合に推奨されます。これらの条件が満たされない場合、タイプ1回帰は勾配を0にバイアスするため、タイプ2回帰が推奨されます。しかし、両方の軸に十分なノイズがある場合、タイプ2回帰は明らかに1に偏らせる傾向があります(2006)およびSmith(2009)は、議論を理解するための良い情報源です。

また、タイプ2回帰(主軸、縮小主軸、および標準主軸回帰)の広範なカテゴリに含まれる微妙に異なるメソッドがいくつかあり、特定のメソッドに関する用語が矛盾していることにも注意してください。

ウォートン、DI、IJライト、DSファルスター、M。ウェストビー。2006.アロメトリー用の二変量ラインフィッティング法。バイオ 改訂 81:259–291。doi:10.1017 / S1464793106007007

スミス、RJ2009。ラインフィッティングのための縮小された主軸の使用と誤用について。あ。J. Phys。アントロポール。140:476–486。doi:10.1002 / ajpa.21090


編集

@amoebaは、上記でタイプ2回帰と呼んでいるものは、直交回帰としても知られていることを指摘しています。これはより適切な用語かもしれません。上記で述べたように、この分野の用語は一貫性がないため、特別な注意が必要です。


19
タイプ1とタイプ2のどちらを使用するかについての議論 目標(目的関数または損失関数)が何であるかを知っているとき、議論することはありません。そうでない場合は、先に進む前にそれを明確にする必要があります。
リチャードハーディ

7
タイプ2は、両方の軸が異なる単位を使用する場合、無意味な結果も生成します。
ジョンドヴォルザーク

4
「タイプ1」と「タイプ2」を標準用語として使用しています。彼らは?私は、通常の回帰と直交回帰を「タイプ1」と「タイプ2」と呼んでいます。
アメーバ

2
@RichardHardyもちろん、特定の目標を明確にすることが最善です。しかし、答えで言ったように、私の印象は、ケースのサブセットでの使用について継続的な議論があるということです-そして、私が引用するそれらの論文(および私がレビュアーから得続ける矛盾する推奨事項)はこれを支持しているようです。
mkt

3
@mkt、説明をありがとう。確かに、自分が何を求めているのかわからない人々の間で議論があるかもしれません。そこでは、議論の焦点は、2つのうちどちらが主題の目標により関連するかです。私が強調したかったのは、目標が明確になれば議論はないということです。つまり、主題の目標は統計的言語に翻訳されます(統計的手法を採用する場合は避けられません)。だから、私たちは同意すると思う、私たちは議論のさまざまな部分を強調しているだけだ。
リチャードハーディ

31

Excelが答えようとする質問は、「yがxに依存していると仮定すると、どの行がyを最適に予測するか」です。答えは、yに大きなばらつきがあるため、特に良い線はない可能性があり、Excelで表示されるものが最善であるということです。

提案された赤い線を取り、x = -0.714およびx = -0.712まで続けると、その値はチャートから外れており、対応するy値から非常に離れていることがわかります。 。

Excelが答える質問は、「どの行がデータポイントに最も近いか」ではなく、「どの行がx値からy値を予測するのが最適か」であり、これは正しく行われます。


4
まさに。基本的な仮定は、「xが与えられ、yが測定/予測される」です。
フローリス

12

他の答えには何も付け加えたくありませんが、悪い用語、特に統計コースで使用される「最適な線」という用語に惑わされていると言いたいです。

直感的に、「最適な線」は赤い線のように見えます。ただし、Excelによって生成される行は「最適な行」ではありません。なろうとさえしません。それは質問に答える行です:xの値が与えられた場合、yに対して可能な限り最良の予測は何ですか?または、各x値の平均y値は何ですか?

ここで、xとyの間の非対称性に注意してください。「最適なライン」という名前を使用すると、これがわかりにくくなります。Excelの「トレンドライン」の使用も同様です。

次のリンクで非常によく説明されています。

https://www.stat.berkeley.edu/~stark/SticiGui/Text/regression.htm

上記の回答で「タイプ2」と呼ばれるもの、またはバークレー統計コースページの「SDライン」のようなものが必要な場合があります。


11

光学的な問題の一部は、異なるスケールに由来します。両方の軸で同じスケールを使用すると、すでに異なって見えます。

つまり、1つの軸を拡大することで、このような「最適な」線のほとんどを「直感的でない」ように見せることができます。


1
私はこれが答えであることに同意します-値のX範囲は約0.02幅ですが、Y範囲は約0.005だけです-実際にはチャートは高さの約4倍の幅である必要があり、最適なフィットは水平です。問題の現象は、スケールが異なるため純粋に視覚的です。
-RemcoGerlich

3
@RemcoGerlich質問で示したように、グラフのアスペクト比は役に立たないことに同意できます。しかし、数値的に範囲がその比率内にあるため、4倍の幅のグラフが必要であるという提案は信じがたいことであり、確かに事実ではありません。いずれかの軸の単位が1000倍に変更された場合、アスペクト比4000または0.004を提案しますか?4倍の比率は、異なる単位の単なる副作用である可能性があります。
ニックコックス

4
他の答えは正しい答えを与えます。これは悲しいことにそうではありません。同じ視覚イメージが得られるように値を再スケーリングしても、軸が等しい場合、それは依然として「タイプ1」対「タイプ2」適合問題です。
ハンスヤンセン

1
彼は、「人間の目には」正しい「常識」について話します。そして、軸のスケーリングが重要です。
-RemcoGerlich

彼にはポイントがあります。時々、直感的に見えるものはスケーリングのような愚かなことの影響を受けますが、そうではありません。ここでは、Excel何の間、本物のミスマッチが行う必要があり、どのようなOPが望んでいる
Aksakal

4

この問題は視覚的なものであると数人の個人が指摘しています-採用されているグラフィカルなスケーリングは誤解を招く情報を生成します。より具体的には、「lon」のスケーリングは、回帰線が不十分なフィットを提供することを示唆するタイトなスパイラルであるようなものです(同意する評価、あなたが描く赤い線は、データが提示された方法で成形された)。

以下に、Excelで作成された散布図を示します。散布図にタイトスパイラルが生成されないように、「lon」のスケーリングが変更されています。この変更により、回帰直線の視覚的適合性が向上し、元の散布図のスケーリングが適合性の誤解を招く評価をどのように提供したかを示すのに役立つと思います。

ここでは回帰がうまくいくと思います。もっと複雑な分析は必要ないと思います。

ここに画像の説明を入力してください

興味のある方のために、マッピングツールを使用してデータをプロットし、データに適合した回帰を示しました。赤い点は記録されたデータで、緑は回帰直線です。

ここに画像の説明を入力してください

そして、ここに回帰線を含む散布図と同じデータがあります。ここでは、latは従属として扱われ、latスコアは地理的プロファイルに合うように反転されます。

ここに画像の説明を入力してください


1
回帰は、風のドリフトの方向を示していません
Aksakal

latとlonのみを知っており、提供されたデータについては、一方が他方に対して相対的に変化していることを示しています。
ブライアン

それでは、この傾向線は何を意味するのでしょうか?
アクサカル

データファイルの最初のポイントが開始位置であると仮定すると、さらに東に進むにつれてルートが北にわずかに増加しているように見えます。データは風の強さや高さに関する情報を提供しませんが、東から北への方向を提供します。
ブライアン

修正、私が使用した地図ソフトウェアは緯度経度を要求しますが、彼のデータは経度緯度です。したがって、風の方向は東から北にわずかになります。旅行した)。
ブライアン

1

混同しない通常の最小二乗(OLS)回帰(予測値に関する2乗偏差の合計を最小化(観測-予測)^ 2)および長軸回帰(各点間の垂直距離の二乗和を最小化)回帰直線。これは、タイプII回帰、直交回帰、または標準化された主成分回帰と呼ばれることもあります)。

Rで2つのアプローチを比較する場合は、チェックアウトしてください。

data=read.csv("https://pastebin.com/raw/4TsstQYm")
require(lmodel2)
fit = lmodel2(lat ~ lon, data=data)
plot(fit,method="OLS") # ordinary least squares regression

ここに画像の説明を入力してください

plot(fit,method="MA") # major axis regression

ここに画像の説明を入力してください

最も直観的なもの(赤い線)は主軸の回帰です。視覚的に言えば、ポイントへの垂直距離を最小化するため、実際に最も論理的に見える回帰です。OLS回帰は、変数xとyが同じ測定スケールにある場合、および/または同じ量の誤差がある場合にのみ、ポイントへの垂直距離を最小化するように見えます(これはピタゴラスの定理に基づいて簡単に確認できます)。あなたの場合、あなたのy変数はその上ではるかに広がっており、したがって違いが...


0

PCAの答えは最高です。なぜなら、それはあなたの問題の説明を考えるとあなたがやるべきことだと思うからです。この特定のデータセットを外挿する場合は、回帰を行う必要があり、デミング回帰を行う可能性があります(この説明は聞いたことがないが、Type IIで行われることがあります)。ただし、どの方向が最も重要か(固有ベクトル)を調べ、それらがデータセット(固有値)に相対的な影響のメトリックを持っている場合は、PCAが正しいアプローチです。


4
これは主に、他の回答に関する一連のコメントです。それぞれに直接コメントする方が良いでしょう。@Aksakalの答えがPCAとリグレッションを混同しているとは思いません。
ニックコックス

直接コメントしたかったのですが、評判が十分ではありませんでした。Aksakalは回帰を混乱させるとは思わないが、PCAと回帰が完全に異なることをOPに指摘する価値があると思った。
アンドリューH
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.