php生成拟合线,php – 找到一个“最佳拟合”方程

额外的兴趣可能是适合这条线的好处.

为此,使用Pearson相关性,这里是PHP函数:

/**

* returns the pearson correlation coefficient (least squares best fit line)

*

* @param array $x array of all x vals

* @param array $y array of all y vals

*/

function pearson(array $x, array $y)

{

// number of values

$n = count($x);

$keys = array_keys(array_intersect_key($x, $y));

// get all needed values as we step through the common keys

$x_sum = 0;

$y_sum = 0;

$x_sum_sq = 0;

$y_sum_sq = 0;

$prod_sum = 0;

foreach($keys as $k)

{

$x_sum += $x[$k];

$y_sum += $y[$k];

$x_sum_sq += pow($x[$k], 2);

$y_sum_sq += pow($y[$k], 2);

$prod_sum += $x[$k] * $y[$k];

}

$numerator = $prod_sum - ($x_sum * $y_sum / $n);

$denominator = sqrt( ($x_sum_sq - pow($x_sum, 2) / $n) * ($y_sum_sq - pow($y_sum, 2) / $n) );

return $denominator == 0 ? 0 : $numerator / $denominator;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值