package com.topsmob.amazon.utils;

import java.util.LinkedHashMap;

import java.util.List;

import java.util.Map;

/**

* Java线性回归实现

* x:是rank

* y: 是销量

*/

public class LinearRegression {

public static Map calculate(List> list){

Map map = new LinkedHashMap<>();

int MAXN = list.size();

int n = 0;

double[] x = new double[MAXN];

double[] y = new double[MAXN];

double sumx = 0.0, sumy = 0.0, sumx2 = 0.0;

for (Map item:list){

//这里是x轴的参数

x[n] = Double.parseDouble(item.get("rank").toString());

//这里是y轴的参数

y[n] = Double.parseDouble(item.get("qty").toString());

sumx += x[n];

sumx2 += x[n] * x[n];

sumy += y[n];

n++;

}

double xbar = sumx / n;

double ybar = sumy / n;

// second pass: compute summary statistics

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;

// print results

System.out.println("y = " + beta1 + " * x + " + beta0);

// analyze results

int df = n - 2;

double rss = 0.0; // residual sum of squares

double ssr = 0.0; // regression sum of squares

for (int i = 0; i < n; i++) {

double fit = beta1*x[i] + beta0;

rss += (fit - y[i]) * (fit - y[i]);

ssr += (fit - ybar) * (fit - ybar);

}

double R2 = ssr / yybar;

map.put("r",R2);

map.put("a",beta1);

map.put("b",beta0);

/* double svar = rss / df;

double svar1 = svar / xxbar;

double svar0 = svar/n + xbar*xbar*svar1;

System.out.println("R^2 = " + R2);

System.out.println("std error of beta_1 = " + Math.sqrt(svar1));

System.out.println("std error of beta_0 = " + Math.sqrt(svar0));

svar0 = svar * sumx2 / (n * xxbar);

System.out.println("std error of beta_0 = " + Math.sqrt(svar0));

System.out.println("SSTO = " + yybar);

System.out.println("SSE = " + rss);

System.out.println("SSR = " + ssr);*/

return map;

}

}

java 线性回归_Java线性回归相关推荐

  1. java实现一元线性回归算法

    网上看一个达人用java写的一元线性回归的实现,我觉得挺有用的,一些企业做数据挖掘不是用到了,预测运营收入的功能吗?采用一元线性回归算法,可以计算出类似的功能.直接上代码吧: 1.定义一个DataPo ...

  2. 多重线性回归 多元线性回归_了解多元线性回归

    多重线性回归 多元线性回归 Video Link 影片连结 We have taken a look at Simple Linear Regression in Episode 4.1 where ...

  3. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  4. 线性回归-多元线性回归

    线性回归-多元线性回归 上次讲到简单线性回归,本文主要讲下如何处理多元线性回归,多元线性回归中如何检查多重共线性,以及如何进行feature selection. 多元线性回归,故名思意,用多个变量来 ...

  5. 线性回归-简单线性回归

    线性回归-简单线性回归 线性回归是一个解释性很强的模型,它可以告诉我们哪个因素对被预测变量影响最大,也可以给定因变量的不同组合来判断被预测量的值.在业务上,运营同学可能想知道增加流量.价格变动等对销量 ...

  6. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  7. java 线性回归_java实现简单线性回归

    术语及定义 1.因变量 dependent variable 需要预测的变量 2.自变量 independent variable 用来预测因变量值的一个或多个变量 3.回归分析 利用统计学方法建立一 ...

  8. java 线性回归_Java实现一元线性回归

    最近在写一个荧光图像分析软件,需要自己拟合方程.一元回归线公式的算法参考了<Java数值方法>,拟合度R^2(绝对系数)是自己写的,欢迎讨论.计算结果和Excel完全一致. 总共三个文件: ...

  9. java 一元线性回归_java一元线性回归方程代码怎么理解的

    展开全部 1.1 变量间的关系 变量与变量之间的关系呢可以分为两种: (1)函数关系: (2)相32313133353236313431303231363533e58685e5aeb931333363 ...

最新文章

  1. Ubuntu下安装RabbitMQ
  2. 字符串加括号问题(矩阵乘法组合问题)C++
  3. 2022年美国大学生数学建模竞赛各题型常见参考代码汇总
  4. 【爬虫】beautiful soup笔记(待填坑)
  5. 热转印法手工自制单面PCB流程和技巧总结
  6. 为什么不用 LinkedList
  7. 配置Setting.xml文件提高maven更新下载jar包速度
  8. MongoDB学习记录:入门(一)——五叶草
  9. [AaronYang]C#人爱学不学[2]
  10. html 块 隐藏 显示,bootstrap如何显示或隐藏内容?
  11. 「 软件安装 」嵌入式开发Keil5安装教程
  12. [haut] 1281: 邪能炸弹 dp
  13. 程序猿给娃取名的正确姿势
  14. Atitit.论图片类型 垃圾文件的识别与清理  流程与设计原则 与api概要设计 v2 pbj...
  15. 什么是多租户saas架构设计
  16. Oracle 字符函数
  17. manjaro go的安装
  18. ODI KM二次开发手册
  19. python实战:合并多个不同样式的excel的sheet到一个文件中
  20. CentOS 7安装指南

热门文章

  1. 易语言数据库读取相关数据
  2. APL开发日志--2012-12-03
  3. Java--字符串反转函数
  4. Linux rsync命令
  5. 程序员自学编程被腾讯拒却月入3w是一种怎样的体验?
  6. 任务计划服务程序在哪里
  7. python中文朗读_python语音朗读
  8. Windows下强制删除文件的批处理文件
  9. Learning to Rank 简介
  10. 【软件安装】CUDA安装失败+win10+VS2015+CUDA8.0+CUDAVisualStudioIntegration找不到+Visual Studio Intergration安装失败