Ich möchte in der Lage sein, Regressionskoeffizienten aus multipler linearer Regression durch Bereitstellen einer Korrelations- oder Kovarianzmatrix anstelle eines data.frame. Mir ist klar, dass Sie einige Informationen verlieren, die für die Bestimmung des Achsenabschnitts relevant sind, aber es sollte sogar die Korrelationsmatrix ausreichen, um standardisierte Koeffizienten und Varianzschätzwerte zu erhalten.Wie erhalten Sie Regressionskoeffizienten und Modellanpassungen unter Verwendung von Korrelations- oder Kovarianzmatrix anstelle von Datenrahmen unter Verwendung von R?
So zum Beispiel, wenn Sie die folgenden Daten haben
# get some data
library(MASS)
data("Cars93")
x <- Cars93[,c("EngineSize", "Horsepower", "RPM")]
Sie eine Regression laufen könnten wie folgt aussehen:
lm(EngineSize ~ Horsepower + RPM, x)
aber was, wenn statt Daten, die Sie die Korrelationsmatrix hatten oder die Kovarianzmatrix:
corx <- cor(x)
covx <- cov(x)
- Mit welcher Funktion in R können Sie eine Regression basierend auf der Korrelations- oder Kovarianzmatrix durchführen? Im Idealfall sollte es ähnlich sein wie
lm
, so dass Sie leicht Dinge wie r-Quadrat, angepasste r-Quadrat, vorhergesagte Werte und so weiter erhalten können. Vermutlich müssten Sie für einige dieser Dinge auch die Stichprobengröße und möglicherweise einen Vektor von Mitteln angeben. Aber das wäre auch in Ordnung.
Das heißt, so etwas wie:
lm(EngineSize ~ Horsepower + RPM, cov = covx) # obviously this doesn't work
Beachten Sie, dass diese Antwort auf Stats.SE eine theoretische Erklärung sieht, warum es möglich ist, und liefert ein Beispiel für einige Code benutzerdefinierte R für Koeffizienten Berechnung?
Ist das hilfreich? http://stats.stackexchange.com/questions/107597/is-there-a-way-to-use-the-covariance-matrix-find-koeffizienten-for-multiple-re – thelatemail
@thelatemail \t Danke I ' Ich habe einige Punkte über diese Stats.SE-Frage in die Frage integriert. Es scheint so, als könnte dieser Post angepasst werden, um Koeffizienten zu erhalten. Ich habe meine Frage optimiert. Ich hoffe, ich hoffe auf eine Funktion, die "lm" ähnlich ist, aber nur Kovarianz anstelle von Daten verwendet. Das heißt, es ist dann einfach, Dinge wie Modellanpassungen usw. zu bekommen. –
Sie könnten lavaan verwenden. Es wird eine Korrelations-/Kovarianzmatrix als Eingabe benötigt. –