合計最小二乗回帰でR-2乗を計算することは可能ですか?


8

このアーカイブされたr-helpスレッドで Terry T.が提供するDeming関数を使用しています。2つの方法を比較しているので、次のようなデータがあります。

y  x     stdy   stdx
1  1.2   0.23   0.67
2  1.8   0.05   0.89
4  7.5   1.13   0.44
... ...  ...   ...

デミング回帰(「総最小二乗回帰」とも呼ばれます)を実行し、勾配と切片を取得しました。相関係数を取得したいので、計算を開始します。数式を手動で入力しました:R2

R2 <- function(coef,i,x,y,sdty){
    predy    <- (coef*x)+i
    stdyl    <- sum((y-predy)^2)   ### The calculated std like if it was a lm (SSres)
    Reelstdy <- sum(stdy)          ### the real stdy from the data  (SSres real)
    disty    <- sum((y-mean(y))^2) ### SS tot
    R2       <- 1-(stdyl/disty)    ### R2 formula
    R2avecstdyconnu <- 1-(Reelstdy/disty) ### R2 with the known stdy
    return(data.frame(R2, R2avecstdyconnu, stdy, Reelstdy))
}

この式は機能し、出力を提供します。

  • 2つののどちらがより意味がありますか?(私は個人的にはどちらも偏ったものだと思っています。) R2
  • 合計最小二乗回帰から相関係数を取得する方法はありますか?

デミング回帰からの出力:

Call:
deming(x = Data$DS, y = Data$DM, xstd = Data$SES, ystd = Data$SEM,     dfbeta = T)

               Coef  se(coef)         z            p
Intercept 0.3874572 0.2249302 3.1004680 2.806415e-10
Slope     1.2546922 0.1140142 0.8450883 4.549709e-02

   Scale= 0.7906686 
> 

2
相関係数は、すべての回帰を参照せずに計算することができますので、あなたは何を明確にできますが、「相関係数」によって意味ですか?ピアソンのがあなたの質問に答えるかどうか、あるいは最小二乗類似体として役立つ何らかの "決定係数"を探しているかどうかを調べています。後者の場合、このアナログがあなたに何を伝えたいと思っていますか?R 2ρR2
whuber

私はyがxとどれだけよく相関するかを見ようとしています。デミング回帰(総最小二乗回帰)の質問に自分の出力を追加しました。つまり、2つの方法は、言い換えれば同様の結果を与えると言えるでしょう。
Nico Coallier、2015年

回答:


6

上記のwhuberの答えについて詳しく説明します-ピアソンはあなたが欲しいものを提供します。回帰モデルに依存しないアプローチを使用して、yがxとどの程度相関するかを決定します。

ρX,Y=cov(X,Y)σXσY

rgrパッケージのgx.rmaは合計最小二乗を実行し、ピアソンを計算します(または、デミングを続行して手動で実行できます)。

require(rgr)
set.seed(3)
x<-rnorm(101,mean=2.3,sd=4.2)
x<-x+seq(0,100) 
set.seed(3)
y<-rnorm(101,mean=4.9,sd=1.9)
y<-y+seq(6,206,length=101)

rma<-gx.rma(x,y)
rma$corr
[1] 0.9922014

だから、あなたの質問に対する基本的な答えは、総最小二乗を行うときは、R二乗を忘れてピアソンを使用することです。0と1の間の結果が必要な場合は、常に2乗することができます。これにより、必要なすべてが実行されます。

そうは言っても、R二乗等価を計算できるはずだと感じているので、少し詳しく説明します。

最初に、lmを使用してデータの通常の二乗和回帰を試してみましょう。ピアソンと同じ相関係数が得られることに注意してください(平方根計算後、大きさのみを考慮した後)。

ols<-lm(y~x)
sqrt(summary(ols)$r.squared)
[1] 0.9922014

これは、従来の二乗和アプローチを使用したlmモデルの結果から計算されます

R2=1SresStot

したがって、lmで指定されたモデルを使用する場合、(ピアソン)二乗とR二乗は同等です。

ただし、二乗総和回帰のモデルを使用し、後者の方程式を使用しようとすると、わずかに異なる結果が得られます。通常の最小二乗法と合計最小二乗法では異なる最小化関数が使用されるため、勾配と切片がわずかに異なるモデルを指定するので、それは明らかです。(最初の方程式は、データのみを見ているので、同じ結果になります。)

これは私がハングアップするところです。lmモデルを使用するときに2つの方程式が同じ結果を与える場合、確かに後者の方程式の同等の定式化が存在する必要がありますが、合計最小二乗モデルを使用する場合も同じ結果になりますか?

適切な最小化関数を使用してさまざまなアプローチを試してみましたが(ポスター:直交回帰の決定係数)、方法がある場合はそれを行う方法が見つかりません。

おそらく、ピアソンとR-squaredが通常の最小二乗法を使用した場合に同じ結果を与えるという事実に両方とも夢中になっています-そして、最小二乗法でR-Squaredを実行する方法はなく、同じ結果が得られますピアソンとして。しかし、なぜそうではないのかについて、私はこれについて十分に知りません。


答えてくれてありがとうございます...私はまだgx.rmaが私がやろうとしていることに適切ではないと思うので、デミング回帰を使用しています。gx.rmaが実際に既知の標準エラーをどのように説明しているかがわからないので...しかし、ここで何かを誤解しているのかもしれません...時間があるときに確認する必要があります
Nico Coallier

1
重要なのは、xとyの間の相関係数(あなたが言及している)を、回帰をまったく必要とせずに計算できることです。データ間の相関関係の違い、および回帰の質の評価に悩まされていると思います。これらは必ずしも同じではありません。Pearson ^ 2は前者を提供し、通常のLS(lm付き)の場合、R ^ 2と同じです。直交LSの場合、そうではありません。相関係数について尋ねます。とR ^ 2(特に、標準エラーについて言及している)は、実際には2つの異なる質問です。OPを言い換えるとよいでしょう。
Mooks

私は十分に明確ではなかったかもしれません...私がやりたいのはピアソンです。しかし、私を悩ませているのは、総最小二乗回帰のR ^ 2がないことです。合計最小二乗法を使用して係数(勾配)を調整します。しかし、あなたが提案したように、相関にはピアソンを使用します。ありがとう
Nico Coallier

わかりました、それも私を悩ませているものです!総最小二乗法のR2を与える同等の式もあるはずだと思いますが、おそらく完全には理解していません。ただし、傾斜を調整するだけの場合は、Demingの総LSの基礎である最小化関数を使用できます。mathworld.wolfram.com/…またはarxiv.org/pdf/math/9805076.pdfを試してください。また、prcompまたはprincompを使用した主成分分析を検討することもできます。これは基本的に同じであり、おそらく役立つものを追い出します。
Mooks

1

パッケージ「mcr」の使用

関数を使用してデミング回帰モデルを生成する

yourmodel<-mcreg(x, y, ...) # you need to be familiar with the various types of deming constant SD or CV%. these can give very different results. But that's different question.

関数を使用してプロットを作成する

MCResult.plot(your model)

これは、ピアソンの生産モーメントの相関関係をモデルのプロットに表示します。これは、2つのx、y変数間の強度と線形関係の方向を示しますが、説明される変動の割合は示しません。

お役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.