散点图中实现数据的线性回归分析

很多图表库都支持散点图的线性回归分析,可以显示线性回归很典型就是google

chart与highchart都支持这个功能,通过散点数据计算线性回归得到公式,然后

插值生成即可。

线性回归数据分析

线性回归分析,用来对一组数据实现线性建模,分析线性走势,从而实现对未来

数据的走势预期,线性回归分析是最简单也是最基础的数据回归分析。

数学基础

抽取数据,计算线性回归计算,得到等式y = a + bx;

最重要的就是要得到斜率b与相关因子a。假设数据集D为(年龄与葡萄糖含量对比)

序号

Age-x值

Glucose-y值

X*Y

X2

Y2

1

43

99

4257

1849

9801

2

21

65

1365

441

4225

3

25

79

1975

625

6241

4

42

75

3150

1764

5625

5

57

87

4959

3249

7569

6

59

81

4779

3481

6561

总和

247

486

20485

11409

40022


package com.gloomyfish.image.game;

public class LineRegressionDemo {
	
	private double slope;
	private double intrepter;
	private double[][] xyData;
	
	public LineRegressionDemo(double[][] data)
	{
		this.xyData = data;
	}
	
	public void calculate()
	{
		double sumx=0, sumy=0, sumxy=0, sumxx=0, sumyy=0;
		for(int i=0; i<xyData.length; i++)
		{
			sumx += xyData[i][0];
			sumy += xyData[i][1];
			sumxy += xyData[i][0] * xyData[i][1];
			sumxx += xyData[i][0] * xyData[i][0];
			sumyy += xyData[i][1] * xyData[i][1];
		}
		double n = xyData.length;
		intrepter = ((sumy * sumxx) - sumx * sumxy)/(n*sumxx - (sumx *sumx));		
		slope = (n * sumxy - (sumx* sumy))/(n*sumxx - (sumx * sumx));
		System.out.println("slope = " + slope);
		System.out.println("intrepter = " + intrepter);
	}
	
	public static void main(String[] args)
	{
		double[][] data = new double[][]{{43, 99},{21,65}, {25, 79}, {42, 75}, {57,87}, {59,81}};
		LineRegressionDemo demo = new LineRegressionDemo(data);
		demo.calculate();
		
	}

}
对明天最好的准备就是不要虚度今日,算是对自己的勉励!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值