java拟合_最小二乘法多项式拟合的Java实现

本文展示了如何使用Java实现最小二乘法进行多项式拟合,通过示例数据进行操作,包括数据预处理、拟合计算以及剔除噪声点的过程。
摘要由CSDN通过智能技术生成

packagecom.zjanalyse.spark.maths;importjava.util.ArrayList;importjava.util.Comparator;importjava.util.List;importorg.ujmp.core.DenseMatrix;importorg.ujmp.core.Matrix;public classLastSquare {/*** y=ax+b a(0,1] b[5,20] x[0,500] y>=5*/

public static voidmain(String[] args) {//y= 0.8d*x+15//当x不变动时,y对应有多个值;此时把y求均值。

List samples = new ArrayList();

samples.add(new Sample(0.8d * 11 + 15 + 1, 11d));

samples.add(new Sample(0.8d * 24 + 15 + 0.8, 24d));

samples.add(new Sample(0.8d * 33 + 15 + 0.7, 33d));

samples.add(new Sample(0.8d * 24 + 15 + 0.4, 24d));

samples.add(new Sample(0.8d * 47 + 15 + 0.3, 47d));

samples.add(new Sample(0.8d * 60 + 15 + 0.4, 60d));

samples.add(new Sample(0.8d * 14 + 15 + 0.2, 14d));

samples.add(new Sample(0.8d * 57 + 15 + 0.3, 57d));

samples.add(new Sample(0.8d * 70 + 60 + 0.3, 70d));

samples.add(new Sample(0.8d * 80 + 60 + 0.3, 80d));

samples.add(new Sample(0.8d * 40 + 30 + 0.3, 40d));

sortSample(samples);

System.out.println("原始样本数据");for(Sample sample : samples) {

System.out.println(sample);

}

System.out.println("开始“所有点”通过“业务数据取值范围”剔除:");//按照业务过滤。。。

filterByBusiness(samples);

System.out.println("结束“所有点”通过“业务数据取值范围”剔除:");for(Sample sample : samples) {

System.out.println(sample);

}int sampleCount =samples.size();int fetureCout = 2;

System.out.println("第一次拟合。。。&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值