Bir "en uygun" Bul

6 Cevap php

Ben kolej ve en uygun satır hesaplamak için nasıl biliyordu, ama kendimi gerek bulmak beri bir süre oldu. Ben noktaları bir dizi var, ve ben bu noktaları iyi çizgiyi bulmak istediğinizi varsayalım.

What is the equation to determine a best fit line? How would I do that with PHP?

6 Cevap

İşte bir article veri bir satır sığdırmak için iki yol karşılaştırarak. Için dışarı izlemek için bir şey teoride doğru olan doğrudan çözüm ancak sayısal sorunları olabilir. Makalede bu yöntem başarısız olabilir neden gösteren ve daha iyi olan başka bir yöntem verir.

Eğer iteratif bir yaklaşım kullanabilirsiniz rağmen, doğrudan bir en küçük kareler yaklaşımı kullanarak gözlemler bir dizi verilen bir doğrunun eğimini ve intersepti hesaplayabilirsiniz. the Wikipedia article on linear regression a ve b içinde {[ve y = a + bx verilen setleri katsayılarını hesaplamak için nasıl bir "tek değişkenli Doğrusal Kasa" bölümüne bakın (4)]} sayı.

Denenmemiş wiki sayfasından uyguladı.

$sx = 0;
$sy = 0;
$sxy = 0;
$sx2 = 0;
$n = count($data);
foreach ($data as $x => $y)
{
    $sx += $x;
    $sy += $y;
    $sxy += $x * $y;
    $sx2 += $x * $x;
}
$beta = ($n*$sxy - $sx*$sy) / ($n*$sx2 - $sx*$sx);
$alpha = $sy/$n - $sx*$beta/$n;

echo "y = $alpha + $beta x";

Sen linear regression kontrol etmek isteyebilirsiniz, ya da daha genel olabilir, curve fitting.

Bir sık ​​kullanılan yaklaşım tekrarlanarak sizin noktaları ve uyum fonksiyonu arasındaki kare y-farkların toplamını minimize etmektir.