Ich verwende die von Terry T. bereitgestellte Deming-Funktion für diesen archivierten R-Help-Thread . Ich vergleiche zwei Methoden, daher habe ich Daten, die so aussehen:
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
... ... ... ...
Ich habe meine Deming-Regression durchgeführt (auch als "Total Least Squares Regression" bezeichnet) und bekomme eine Steigung und einen Achsenabschnitt. Ich möchte einen Korrelationskoeffizienten erhalten, also beginne ich mit der Berechnung des . Ich habe die Formel manuell eingegeben:
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))
}
Diese Formel funktioniert und gibt mir Ausgabe.
- Gibt es eine Möglichkeit, einen Korrelationskoeffizienten aus einer Regression des kleinsten Quadrats zu erhalten?
ERGEBNIS DER DEMING-REGRESSION:
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
>
r
r-squared
deming-regression
total-least-squares
Nico Coallier
quelle
quelle
Antworten:
Um die Antwort von whuber oben zu erläutern - Pearson wird Ihnen geben, was Sie wollen. Es bestimmt, wie gut y mit x korreliert, indem ein vom Regressionsmodell unabhängiger Ansatz verwendet wird :
gx.rma aus dem rgr-Paket führt insgesamt die kleinsten Quadrate aus und berechnet Pearson für Sie (oder Sie können mit Deming fortfahren und dies manuell tun).
Die grundlegende Antwort auf Ihre Frage lautet also: Wenn Sie die kleinsten Quadrate ausführen, vergessen Sie das R-Quadrat und verwenden Sie einfach Pearson. Sie können das immer quadrieren, wenn Sie ein Ergebnis zwischen 0 und 1 wünschen. Dies wird alles tun, was Sie brauchen.
Trotzdem werde ich ein wenig näher darauf eingehen, da ich verstehe, dass wir in der Lage sein sollten, ein R-Quadrat-Äquivalent zu berechnen.
Versuchen wir zunächst eine normale Regressionssumme der Quadrate für die Daten mit lm. Beachten Sie, dass es den gleichen Korrelationskoeffizienten wie Pearson gibt (nach quadratischer Wurzelbildung und offensichtlich nur mit Sorge um die Größe).
Dies wird aus dem Ergebnis des lm-Modells unter Verwendung des traditionellen Ansatzes der Quadratsumme berechnet
Vorausgesetzt, Sie verwenden das von lm angegebene Modell, sind (Pearson) -Quadrat und R-Quadrat äquivalent.
Wenn Sie jedoch das Modell aus der Gesamtsumme der Quadratregression verwenden und versuchen, die letztere Gleichung zu verwenden, erhalten Sie ein etwas anderes Ergebnis. Dies ist offensichtlich, da normale und kleinste Quadrate unterschiedliche Minimierungsfunktionen verwenden. Geben Sie daher Modelle mit leicht unterschiedlichen Verläufen und Abschnitten an. (Denken Sie daran, dass die erste Gleichung immer noch das gleiche Ergebnis liefert, wenn nur die Daten betrachtet werden.)
Hier werde ich allerdings aufgehängt. Wenn die beiden Gleichungen bei Verwendung des lm-Modells das gleiche Ergebnis liefern, muss es sicherlich eine äquivalente Formulierung für die letztere Gleichung geben, aber bei Verwendung des Modells der kleinsten Quadrate insgesamt, das auch das gleiche Ergebnis liefert?
Ich hatte ein kurzes Herumspielen mit verschiedenen Ansätzen unter Verwendung der entsprechenden Minimierungsfunktion (wie das Poster hier: Bestimmungskoeffizient einer orthogonalen Regression ), kann aber keinen Weg finden, dies zu tun - wenn es einen Weg gibt.
Vielleicht hängen wir beide daran, dass Pearson und R-Quadrat das gleiche Ergebnis erzielen, wenn sie normale kleinste Quadrate verwenden - und es gibt einfach keine Möglichkeit, R-Quadrat auf insgesamt kleinsten Quadraten zu machen, was das gleiche Ergebnis liefert als Pearson. Aber ich weiß nicht genug darüber, um zu sagen, warum nicht.
quelle
Verwenden des Pakets "mcr"
und Verwenden der Funktion zum Generieren Ihres Deming-Regressionsmodells
und Erstellen eines Diagramms unter Verwendung der Funktion
Dies zeigt die Korrelation des Pearson-Produktionsmoments auf dem Plot für das Modell an, die Ihnen die Stärke und die Richtung der linearen Beziehung zwischen Ihren beiden x, y-Variablen angibt, aber nicht den Anteil der erklärten Variation angibt.
Ich hoffe, das hilft.
quelle