Pendiente de una línea dados múltiples puntos [cerrado]

8

Tengo datos con un valor inicial (y) que aumenta / disminuye secuencialmente a medida que pasa el tiempo (x) medido en días. Encontré este enlace para crear una regresión lineal de los datos http://www.easycalculation.com/statistics/regression.php

Me gustaría automatizar el cálculo de la pendiente en Excel. ¿Alguien tiene una idea de cómo hacerlo? Veo la fórmula matemática al final de la página.

NXYXYNX2(X)2

pero no sé cómo traducirlo a una fórmula de Excel. El problema es principalmente y . Los otros son fáciles con el , y la función. Mis coordenadas xy coordenadas y están en filas de modo que es y es .XYX2countsumpowC1x1D1x2

mpiktas
fuente
es más común que y sea la variable dependiente yx la independiente (por ejemplo, el tiempo).
Abe

Respuestas:

10

Primero, tenga en cuenta que su enlace enlaza con un ejemplo trabajado que probablemente sea útil.

Para implementar la ecuación en Excel:

  1. hacer una nueva columna etiquetada "XY" en E
  2. ingrese el número de filas en la celda "F2" (esto será N)
  3. etiqueta columna F "X ^ 2"
  4. ingrese =C2^2en F2 para calcular X ^ 2, resalte F2: FN y presione ctrl+Dpara completar esta ecuación
  5. ingrese la ecuación =(G2*sum(E:E) - sum(C:C)*sum(D:D))/(G2*sum(F:F) - sum(C:C)^2)en una celda vacía. Este será tu R ^ 2
  6. ingrese la ecuación =slope(D:D, C:C)en otra celda vacía, esto debería coincidir con su cálculo.

El resultado final se muestra en un documento de Google de ejemplo que se puede descargar en formato Excel aquí .

David LeBauer
fuente
gracias, dame un momento para implementarlo y haré una pregunta
su ejemplo muestra x1 en a1 y x2 en a2 mi x1 está en c1 y mi x2 está en d2
Creo que tengo para crear nuevas columnas n para que funcione
@ caseyr547 Lo sentimos, ese fue el enlace a la versión 'publicada'; He actualizado el enlace a la hoja de cálculo en bruto, o puede descargar una versión de Excel aquí
David LeBauer,
8

Una solución con R y los datos de ejemplo publicados por @David e instrucciones sobre cómo acceder a los datos de las hojas de cálculo de Google del blog Revolutions

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

O bien, puede usar la función incorporada de R

lm(y~x)
Abe
fuente
gracias, pero mis datos no están en ese formato, mi x1 está en c1 y mi x2 está en d1, las xs e ys están en filas separadas en lugar de columnas separadas.
2
entonces puede usar t(mydata)para transponer la matriz, o hacer esto en Excel usandopaste -> special -> transpose
Abe
1

Con sus valores X en la columna A e valores Y en la columna B (sin encabezados de columna):

=( (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) )

Si desea encabezados de columna, reemplace todas las entradas A: A y B: B con la ubicación adecuada de sus valores.

Descubrí esta fórmula para poder usar la función de pendiente en PowerPivot, que no tiene una fórmula SLOPE.

Mike Marsh
fuente