100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php 线性回归算法 PHP计算线性回归方程式 Y = a + bX

php 线性回归算法 PHP计算线性回归方程式 Y = a + bX

时间:2023-09-04 16:23:28

相关推荐

php 线性回归算法 PHP计算线性回归方程式 Y = a + bX

在游戏的开发过程中,我们会用到很多的算法,其中数学中的线性回归可以很好地运用到一些游戏里,下面是由PHP写的一段计算线性回归的方程式的代码:

线性回归LinearRegression

计算线性回归方程式Y=a+bX

如果两组数据相关系数很高,可以用一条近似直线Y=a+bX来预估,谓之线性回归

根据统计学理论,Y=a+bX中

斜率b=X,Y离均差交乘积和/X离均差平方和

常数项a=Y平均值-b*X平均值

header("Content-Type:text/html;charset=utf-8");

if(empty($_REQUEST["X"])){

?>

X:

Y:

}else{

$X=explode(",",$_REQUEST["X"]);

$Y=explode(",",$_REQUEST["Y"]);

$xavg=array_sum($X)/count($X);//X平均值

$yavg=array_sum($Y)/count($Y);//Y平均值

$XMD=Array();//X离均差

$YMD=Array();//Y离均差

$mdcross_sum=0;//X,Y离均差交乘积和

$xdif_square_sum=0;//X离均差平方和

$count=count($X);

for($i=0;$i

$xdif=(float)$X[$i]-$xavg;//X离均差

$ydif=(float)$Y[$i]-$yavg;//Y离均差

$XMD[$i]=$xdif;

$YMD[$i]=$ydif;

$mdcross_sum+=$xdif*$ydif;//X,Y离均差交乘积和

$xdif_square_sum+=pow($xdif,2);//X离均差平方和

}//endoffor

$b=round($mdcross_sum/$xdif_square_sum,2);//计算斜率b

$a=round($yavg-$b*$xavg,2);//计算常数项a

echo"X=".join(",",$X)."

";

echo"Y=".join(",",$Y)."

";

echo"常数项a=".$a."

";

echo"斜率b=".$b."

";

echo"线性回归方程式Y=".$a."+(".$b.")X

";

echo"X平均值=".$xavg."

";

echo"Y平均值=".$yavg."

";

echo"X离均差=".join(",",$XMD)."

";

echo"Y离均差=".join(",",$YMD)."

";

echo"X,Y离均差交乘积和=".$mdcross_sum."

";

echo"X离均差平方和=".$xdif_square_sum."

";

}

echo'

';

echo'计算两点之间的角度。';

$a=array('x'=>10,'y'=>0);

$c=array('x'=>80,'y'=>80);

$pi_v=atan2($c['y']-$a['y'],$c['x']-$a['x']);

$n_v=rad2deg($pi_v);

echo'弧度:',$pi_v,'角度:',$n_v;

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。