最小二乘法Java实现
来源:互联网 发布:软件需求分析常见问题 编辑:程序博客网 时间:2024/06/03 23:01
package com.util;/** * 作者:杜航 功能:最小二乘法 线性回归(Least squares) * * y = a x + b b = sum( y ) / n - a * sum( x ) / n a = ( n * sum( xy ) - sum( x * ) * sum( y ) ) / ( n * sum( x^2 ) - sum(x) ^ 2 ) * */public class LeastSquares{/* * 杜航 功能:返回估计的y值 */public static float estimate(float[] x, float[] y, float input){float a = getA(x, y);float b = getB(x, y);System.out.println("线性回归系数a值:\t" + a + "\n" + "线性回归系数b值:\t" + b);return (a * input + b);}/* * 杜航 功能:返回x的系数a 公式:a = ( n sum( xy ) - sum( x ) sum( y ) ) / ( n sum( x^2 ) * - sum(x) ^ 2 ) */public static float getA(float[] x, float[] y){int n = x.length;return (float) ((n * pSum(x, y) - sum(x) * sum(y)) / (n * sqSum(x) - Math.pow(sum(x), 2)));}/* * 杜航 功能:返回常量系数系数b 公式:b = sum( y ) / n - a sum( x ) / n */public static float getB(float[] x, float[] y){int n = x.length;float a = getA(x, y);return sum(y) / n - a * sum(x) / n;}/* * 杜航 功能:求和 */private static float sum(float[] ds){float s = 0;for (float d : ds){s = s + d;}return s;}/* * 杜航 功能:求平方和 */private static float sqSum(float[] ds){float s = 0;for (float d : ds){s = (float) (s + Math.pow(d, 2));}return s;}/* * 杜航 功能:返回对应项相乘后的和 */private static float pSum(float[] x, float[] y){float s = 0;for (int i = 0; i < x.length; i++){s = s + x[i] * y[i];}return s;}/* * 杜航 功能:main()测试线性回归的最小二乘法java实现函数 */public static void main(String[] args){float[] x =//{ 540, 360, 240, 480, 420 };{ 205, 325, 445, 505, 625 };float[] y =//{ 520, 475, 430, 386, 500 };{ 100, 123, 148, 407, 319, 301 };System.out.println("经线性回归后的y值:\t" + estimate(x, y,240));}}
0 0
- java 实现最小二乘法
- 最小二乘法Java实现
- 最小二乘法多项式拟合的Java实现
- 机器学习知识点(四)最小二乘法Java实现
- 最小二乘法实现直线拟合
- 最小二乘法及其c++实现
- 最小二乘法实现数据拟合
- 最小二乘法编程实现方法
- 最小二乘法及C++实现
- 最小二乘法及其python实现
- 最小二乘法的实现
- 最小二乘法的实现
- Python实现最小二乘法
- 最小二乘法及其C++实现
- MATLAB实现最小二乘法
- 最小二乘法的实现
- 最小二乘法c实现
- 最小二乘法python实现
- listView实现圆角显示(第一个是左上角和右下角有圆角 中间没有圆角 最后一个是右下角和左下角圆角)
- Android ADB命令 浅试
- WebView代码交互
- count和capacity的区别
- 顺序表逆置法换元素位置
- 最小二乘法Java实现
- QT打包程序
- WebView性能优化
- 初步建模 2016.07.28回顾
- xUtils框架中关于注解的使用
- c# 调用webApi
- CodeForces 371C Hamburgers(二分)
- 解决android studio提示不分大小写的设置
- QQ聊天快捷键【很好用的哦】