Kemiringan garis yang diberikan banyak titik [tertutup]

8

Saya memiliki data dengan nilai awal (y) yang secara berurutan meningkat / menurun ketika (x) waktu yang diukur dalam hari berlalu. Saya menemukan tautan ini untuk membuat regresi linier dari data http://www.easycalculation.com/statistics/regress.php

Saya ingin mengotomatiskan perhitungan kemiringan dalam excel. Adakah yang punya ide bagaimana melakukannya? Saya melihat rumus matematika di bagian bawah halaman

NXYXYNX2(X)2

tetapi saya tidak tahu bagaimana menerjemahkannya ke formula excel. Masalahnya terutama XY dan X2 . Yang lain mudah dengan count, sumdan powfungsinya. Saya x koordinat dan y koordinat berada di baris sehingga C1adalah x1dan D1adalah x2.

mpiktas
sumber
itu lebih umum untuk memiliki y menjadi variabel dependen dan x independen (misalnya, waktu).
Abe

Jawaban:

10

Pertama, perhatikan bahwa tautan Anda menghubungkan ke contoh yang berfungsi yang mungkin akan membantu.

Untuk mengimplementasikan persamaan di Excel:

  1. buat kolom baru berlabel "XY" di E
  2. masukkan jumlah baris dalam sel "F2" (ini akan menjadi N)
  3. kolom label F "X ^ 2"
  4. masukkan =C2^2ke dalam F2 untuk menghitung X ^ 2, sorot F2: FN dan tekan ctrl+Duntuk mengisi persamaan ini
  5. masukkan persamaan =(G2*sum(E:E) - sum(C:C)*sum(D:D))/(G2*sum(F:F) - sum(C:C)^2)ke dalam sel kosong. Ini akan menjadi R ^ 2 Anda
  6. masukkan persamaan =slope(D:D, C:C)ke sel kosong lain, ini harus sesuai dengan perhitungan Anda.

Hasil akhir ditampilkan dalam contoh google doc yang dapat diunduh dalam format Excel di sini .

David LeBauer
sumber
terima kasih beri saya waktu untuk mengimplementasikannya dan saya akan mengajukan pertanyaan
contoh Anda menunjukkan x1 di a1 dan x2 di a2 x1 saya di c1 dan x2 saya di d2
saya kira saya harus membuat n kolom baru agar bisa berfungsi
@ caseyr547 Maaf, itu terkait dengan versi 'diterbitkan'; Saya telah memperbarui tautan ke spreadsheet mentah, atau Anda dapat mengunduh versi excel di sini
David LeBauer
8

Solusi dengan R dan contoh data yang diposting oleh @ David dan instruksi tentang cara mengakses data dari google spreadsheet dari 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

Atau, Anda bisa menggunakan fungsi bawaan R

lm(y~x)
Abe
sumber
terima kasih tetapi data saya tidak dalam format x1 saya di c1 dan x2 saya di d1 xs dan ys berada di baris terpisah daripada kolom yang terpisah.
2
maka Anda dapat menggunakan t(mydata)untuk mengubah posisi matriks, atau melakukan ini dalam excel menggunakanpaste -> special -> transpose
Abe
1

Dengan nilai X Anda di kolom A, dan nilai Y di kolom B (tanpa tajuk kolom):

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

Jika Anda ingin tajuk kolom, ganti semua entri A: A dan B: B dengan lokasi yang tepat dari nilai Anda.

Saya menemukan rumus ini sehingga saya bisa menggunakan fungsi slope di PowerPivot, yang tidak memiliki formula SLOPE.

Mike Marsh
sumber