Steigung einer Linie mit mehreren Punkten [geschlossen]

8

Ich habe Daten mit einem Startwert (y), der nacheinander inkrementiert / verringert wird, wenn (x) Zeit in Tagen vergeht. Ich habe diesen Link gefunden, um eine lineare Regression der Daten zu erstellen. Http://www.easycalculation.com/statistics/regression.php

Ich möchte die Steigungsberechnung in Excel automatisieren. Hat jemand eine Idee, wie es geht? Ich sehe die mathematische Formel am Ende der Seite

N.X.Y.- -X.Y.N.X.2- -(X.)2

aber ich weiß nicht, wie ich es in eine Excel-Formel übersetzen soll. Das Problem ist hauptsächlich die und . Die andere sind einfach mit der , und Funktion. Meine x- und y-Koordinaten befinden sich in Zeilen, die so sind und sind .X 2X.Y.X.2countsumpowC1x1D1x2

mpiktas
quelle
Es ist üblicher, dass y die abhängige und x die unabhängige (z. B. Zeit-) Variable ist.
Abe

Antworten:

10

Beachten Sie zunächst, dass Ihr Link auf ein funktionierendes Beispiel verweist verweist, das wahrscheinlich hilfreich sein wird.

So implementieren Sie die Gleichung in Excel:

  1. Erstellen Sie eine neue Spalte mit der Bezeichnung "XY" in E.
  2. Geben Sie die Anzahl der Zeilen in Zelle "F2" ein (dies ist N).
  3. Markierungsspalte F "X ^ 2"
  4. geben =C2^2in F2 zu caclulate X ^ 2, markierte F2: FN und hitctrl+D diese Gleichung nach unten zu füllen ,
  5. Geben Sie die Gleichung =(G2*sum(E:E) - sum(C:C)*sum(D:D))/(G2*sum(F:F) - sum(C:C)^2)in eine leere Zelle ein. Dies wird dein R ^ 2 sein
  6. Geben Sie die Gleichung =slope(D:D, C:C)in eine andere leere Zelle ein. Dies sollte Ihrer Berechnung entsprechen.

Das fertige Ergebnis wird in einem Google- Beispieldokument angezeigt , das hier im Excel-Format heruntergeladen werden kann .

David LeBauer
quelle
danke gib mir einen Moment, um es zu implementieren und ich werde eine Frage stellen
Ihr Beispiel zeigt x1 bei a1 und x2 bei a2, mein x1 ist bei c1 und mein x2 ist bei d2
Ich denke, ich muss n neue Spalten erstellen, damit es funktioniert
@ caseyr547 Sorry, das war der Link zur 'veröffentlichten' Version; Ich habe den Link zur
Rohkalkulationstabelle
8

Eine Lösung mit R und den von @David veröffentlichten Beispieldaten sowie Anweisungen zum Zugriff auf Daten aus Google-Tabellen aus dem Revolutions-Blog

require(RCurl)
mycsv <- getURL("https://docs.google.com/spreadsheet/pub?key=0Ai_PDCcY5g2JdGNabGs0R0IyVzhrUFIxOVRoTXMzUUE&single=true&gid=0&range=C1%3AD11&output=csv")
mydata <- read.csv(textConnection(mycsv))

x <- mydata$X
    y <- mydata$Y
n <- nrow(mydata)
xy <- x*y
m <- (n*sum(xy)-sum(x)*sum(y)) / (n*sum(x^2)-sum(x)^2)
m

Oder Sie können die integrierte Funktion von R verwenden

lm(y~x)
Abe
quelle
danke, aber meine Daten sind nicht in diesem Format, mein x1 ist bei c1 und mein x2 ist bei d1, die xs und ys befinden sich in getrennten Zeilen und nicht in getrennten Spalten.
2
dann können Sie verwenden t(mydata), um die Matrix zu transponieren, oder dies in Excel mitpaste -> special -> transpose
Abe
1

Mit Ihren X-Werten in Spalte A und Y-Werten in Spalte B (keine Spaltenüberschriften):

=( (COUNT(A:A)*(SUMPRODUCT(A:A,B:B)) - (SUM(A:A)*SUM(B:B))) )/ 
 ( (COUNT(A:A)*SUMPRODUCT(A:A,A:A)) - (SUM(A:A)^2) )

Wenn Sie Spaltenüberschriften wünschen, ersetzen Sie alle A: A- und B: B-Einträge durch die richtige Position Ihrer Werte.

Ich habe diese Formel herausgefunden, damit ich die Steigungsfunktion in PowerPivot verwenden kann, die keine SLOPE-Formel hat.

Mike Marsh
quelle