java实现多元线性回归
文章目录
- 一个例子
- 分析计算
- 准备数据
- 计算
- 查看结果
- 参考
一个例子
约翰逊过滤股份公司对遍布南佛罗里达州的水过滤系统提供维修保养服务。当顾客的水过滤系统出现故障时,他们就要与约翰逊公司进行联系,请求公司对他们的水过滤系统进行维修。为了估计服务时间和服务成本,约翰逊公司的管理人员希望对顾客的每一次维修请求预测必要的维修时间。所以,按小时计算的维修时间是因变量。管理人员认为,维修时间依赖两个因素:从最近一次维修服务至今水过滤系统已经使用的时间和需要维修的故障类型。由10次维修服务组成一个样本,有关资料数据如下1:
维修服务请求 | 最近一次维修服务至今的时间(x1) | 维修的故障类型(x2) | 维修时间(y1) |
---|---|---|---|
1 | 2 | 1 | 2.9 |
2 | 6 | 0 | 3.0 |
3 | 8 | 1 | 4.8 |
4 | 3 | 0 | 1.8 |
5 | 2 | 1 | 2.9 |
6 | 7 | 1 | 4.9 |
7 | 9 | 0 | 4.2 |
8 | 8 | 0 | 4.8 |
9 | 4 | 1 | 4.4 |
10 | 6 | 1 | 4.5 |
分析计算
我们计算利用的工具是Apache Commons Math2:
准备数据
OLSMultipleLinearRegression oregression = new OLSMultipleLinearRegression();double[] y = new double[]{2.9, 3.0, 4.8, 1.8, 2.9,4.9,4.2,4.8,4.4,4.5};double[][] x = new double[10][2];x[0] = new double[]{2, 1};x[1] = new double[]{6, 0};x[2] = new double[]{8, 1};x[3] = new double[]{3, 0};x[4] = new double[]{2, 1};x[5] = new double[]{7, 1};x[6] = new double[]{9, 0};x[7] = new double[]{8, 0};x[8] = new double[]{4, 1};x[9] = new double[]{6, 1};
y
代表的是维修时间,为因变量;二维数组x代表最近一次维修服务至今的时间和故障类型,为自变量,其中数字10 表示维修服务的请求次数,也即样本的数量,数字2表示自变量的个数(这里例子中有2个变量:x1,x2),每个一维数组对应一组自变量的值。
计算
oregression.newSampleData(y, x);
查看结果
模型参数
double[] beta = oregression.estimateRegressionParameters();
for (double d : beta) {System.out.println(d);
}
打印的结果:
0.9304953560371505
0.38761609907120753
1.2626934984520124
数组beta中的值按顺序依次代表回归方程中的常量、x1系数、x2系数,因此,最终的回归方程为:
y = 0.93 + 0.3876 x 1 + 1.263 x 2 y=0.93+0.3876x_1+1.263x_2 y=0.93+0.3876x1+1.263x2
该方程的标准差S:
double s = oregression.estimateRegressionStandardError();
判定系数R2:
double rSquared = oregression.calculateRSquared();
参考
- [1] 《商务与经济统计》 - [2] http://commons.apache.org/proper/commons-math/userguide/stat.html#a1.4_Simple_regression
java实现多元线性回归相关推荐
- 机器学习入门04-线性回归原理与java实现多元线性回归
线性回归原理: 线性回归公式:y = b + w*x,w表示权重b表示偏置. 在实际实现中可以将公式写作:y = w[0] * x[0] + w[1] * x[1],x[0]=1,这样就可以很方便的进 ...
- 基于多元线性回归去除图片水印(Java版)
前提 采集的图片有淡淡的水印,为了避免不必要的麻烦,需要淡化或去除水印.图片如下所示: Java自带的工具可以对图片指定位置(x,y)的颜色(r,g,b)进行替换.如果图片上下左右颜色一致,则可进行颜 ...
- java算多元回归方程_java多元线性回归算法
多元线性回归的计算方法摘要 在实际经济问题中,一个变量往往受到多个变量的影响.例... STLyy UQ 在多元线性回归分析中,回归平方和表示的是所有 k 个自变量对 y 的变差的总影响,它可以 按公 ...
- 机器学习第3天:多元线性回归
文章目录 一.具体实现步骤 第1步:数据预处理 导入库 导入数据集 将类别数据数字化 躲避虚拟变量陷阱 拆分数据集为训练集和测试集 第2步: 在训练集上训练多元线性回归模型 第3步:在测试集上预测结果 ...
- android 揭示动画_遗传编程揭示具有相互作用的多元线性回归
android 揭示动画 We all had some sort of experience with linear regression. It's one of the most used re ...
- 机器学习多元线性回归_过度简化的机器学习(1):多元回归
机器学习多元线性回归 The term machine learning may sound provocative. Machines do not learn like humans do. Ho ...
- 多元线性回归分析c语言,多元线性回归公式推导及R语言实现
多元线性回归 多元线性回归模型 实际中有很多问题是一个因变量与多个自变量成线性相关,我们可以用一个多元线性回归方程来表示. 为了方便计算,我们将上式写成矩阵形式: Y = XW 假设自变量维度为N W ...
- 多元线性回归之Spss实现
我们还以上篇中的数据来进行多元线性回归的分析及说明: 首先来看引入一个变量时候,也就是分析不良贷款和各项贷款余额的回归分析,这里只做对比用,详细的分析结果可以上上一篇博客: 引入两个自变量时,各年贷款 ...
- 多元线性回归最小二乘法及其应用
Cholesky分解求系数参考: [1]冯天祥. 多元线性回归最小二乘法及其经济分析[J]. 经济师,2003,11:129. 还可以采用最小二乘法来估计参数: 算法设计也可以参考两种系数最终公式设计 ...
最新文章
- python编程问题---第一次
- 【swjtu】数字电路实验7_8_电子琴设计
- MOSS2007的网站和工作区
- SpringBoot中使用Thymeleaf常用功能(三):测试Thymeleaf循环取数据
- 数学家田野:感谢坐冷板凳的那六年
- zabbix3.0 监控mysql服务器性能实现过程
- ICLR 2022 论文列表公布,接收率高达 32%
- 关于Android中设置闹钟的相对完善的解决方案
- C# winForm启动最小化到任务栏右侧通知栏并交互操作
- mentohust for linux,GitHub - xdlinux/mentohust_xidian: A ruijie client for xidian university
- 这是一个转型AI的励志故事,从非科班到拿下竞赛一等奖
- 关于Android图形系统的一些事实真相
- 计算机应该玩什么游戏,电脑玩游戏主要靠什么配置
- 2022英语词汇积累
- 高效能人士的七个习惯-第四章-阅读
- 题解HDU6148 Valley Numer(数位DP+深搜DFS)
- Windows返回桌面快捷键
- category ue 协议_LTE中UE能力(UE Capability)的梳理和解析
- Cardboard -VR全景浏览
- 学号20189220 2018-2019-2 《密码与安全新技术专题》第五周作业