以前在统计学的学习中,有回归分析,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析,最小二乘法可根据给定的数据拟合出一条近似的直线。
package cn.zhf.test;
/**
* 最小二乘法 线性回归 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 LinearRegression {
public static void main(String[] args) {
int n = 0;
double[] x = { 1, 2, 3 };
double[] y = { 3, 6, 9 };
// 计算总和
double sumx = 0.0, sumy = 0.0, sumx2 = 0.0;
while (n < x.length) {
sumx += x[n];
sumx2 += x[n] * x[n];
sumy += y[n];
n++;
}
// 求平均数
double xbar = sumx / n;
double ybar = sumy / n;
// 计算系数
double xxbar = 0.0, yybar = 0.0, xybar = 0.0;
for (int i = 0; i < n; i++) {
xxbar += (x[i] - xbar) * (x[i] - xbar);
yybar += (y[i] - ybar) * (y[i] - ybar);
xybar += (x[i] - xbar) * (y[i] - ybar);
}
double beta1 = xybar / xxbar;
double beta0 = ybar - beta1 * xbar;
System.out.println("y = " + beta1 + " * x + " + beta0);
}
}
分享到:
相关推荐
利用最小二乘法做线性回归,计算残差。
主要介绍了C#直线的最小二乘法线性回归运算方法,实例分析了给定一组点,用最小二乘法进行线性回归运算的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
用Matlab进行最小二乘法线性拟合求传感器非线性误差灵敏度.pdf用Matlab进行最小二乘法线性拟合求传感器非线性误差灵敏度.pdf用Matlab进行最小二乘法线性拟合求传感器非线性误差灵敏度.pdf用Matlab进行最小二乘法线性...
最小二乘法拟合工具,手动输入数据,自动计算拟合
本程序是写实验报告的必备工具 使用方法: 首先输入实验数据的对数 (一个x和一个y算一对) 然后输入x值和y值 全部输入结束时会被询问是否修改实验数据。如果修改,输入y,否则输入n 然后输入B类不确定度,随后...
最小二乘法非线性曲线参数拟合-最小二乘法原理及其MATLAB实现.pdf (初学者--我)最近正在研究matlab最小二乘法非线性拟合问题,昨天在论坛里求教,但没有人给予解答。只好自己查找相关文献,觉得其中最有用的一篇...
用matlab编写实现最小二乘法多元线性拟合,可以得到最终拟合方程,并画出预测的回归系数直方图
最小二乘法线性函数模型 - python实现 对应博客文章链接随后发布!
使C#语言实现最小二乘法的一元线性回归
用MATLAB实现最小二乘法一元线性拟合,并求出预测直线的斜率与截距。
【MATLAB实战应用源代码】MATLAB实现最小二乘法函数多元线性回归&多项式拟合.zip
这是机器学习中最常见的模型--线性回归的python实现,其中包含了最小二乘法和梯度下降法两种拟合算法
最小二乘法求线性回归方程.cpp
使用C#的Mathnet类库实现最小二乘法非线性拟合 作者:linbor tinka
最小二乘法与回归,讲述最小二乘法和回归的技术细节,学习好这个资源,大家可以更好的编程。
有关最小二乘法和线性回归的讲义,比较详细系统
在进行曲线拟合时用的最多的是最小二乘法,其中以一元函数(线性)和多元函数(多项式)居多,下面这个类专门用于进行多项式拟合,可以根据用户输入的阶次进行多项式拟合,算法来自于网上,和GSL的拟合算法对比过,...
最小二乘法和线性回归.ppt最小二乘法和线性回归.ppt
最小二乘法线性非线性拟合,讲义。但不涉及程序。
最小二乘算法的c程序,主要是针对现行拟合的情况