频道栏目
首页 > 资讯 > 负载均衡 > 正文

用线性回归方法计算直线斜率

16-01-07        来源:[db:作者]  
收藏   我要投稿
最近在做设备负载预测,考虑到负载波动,需要拿出近似增长率来计算未来数天的设备负载增长状况,想想看以前的数学都没有学好,算法也没有搞好,只能求助同事和百度Google,最终还是折腾出来了。

  关于线性回归可以参考百度知道。其中采用最小二乘法可以比较容易的算出过往设备负载增长的斜率,具体公式如下:
最小二乘法公式

最小二乘法公式


下面代码简单枚举历史10个点来计算该设备负载增长率:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//Y坐标值表示设备历史负载
$y=array(52.09, 52.4, 53.29, 54.22, 55.15, 55.83, 56.89, 56.98, 57.55, 57.8);
 
//X坐标值表示顺序天数
$x=array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 
//计算X和Y均值
$ax=array_sum($x)/count($x);
$ay=array_sum($y)/count($y);
 
//计算斜率公式中的分母(em)和分子(ez)
$em= 0;
$ez= 0;
for($i= 0;$i
//分母求和
$em+= (($x[$i] -$ax) * ($y[$i] -$ay));
//分子求和
$ez+= pow(($x[$i] -$ax), 2);
}
 
//斜率0.69
echo$em/$ez;
 
//第十一个点预测负载值58.34
echo$em/$ez* 10 +$ay- ($em/$ez)*$ax;

  很多概念都不甚懂,反正数学是没有学好的,找来公式代一代,嘿嘿,还算可以,对于波动比较大的就比较难以预测,这个近似值还是很有参考意义的。

相关TAG标签
上一篇:WEB监控体系之设备负载监控
下一篇:大流量网站如何做到负载均衡
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站