Oracle 回归分析函数使用

Oracle 回归分析函数使用


文章目录

  • Oracle 回归分析函数使用
  • 什么是 回归分析函数
  • 回归分析函数示例
    • 1. 分析 SAL 和 COMM 之间的回归关系
    • 2. 按部门分析 SAL 和 COMM 的关系
    • 3. 根据 SAL 预测 COMM
    • 4. 分析员工薪资与工作年限的关
    • 5. 按部门分析工作年限与薪资的关系
    • 6. 计算 REGR_AVGX 和 REGR_AVGY
    • 7. 检测薪资和奖金的相关性
    • 8. 分析奖金与薪资平方和
    • 总结


什么是 回归分析函数

回归分析的定义
回归分析是一种统计方法,用于分析两个或多个变量之间的关系。在回归分析中:

自变量(独立变量 X):用于预测的变量。
因变量(依赖变量 Y):被预测或解释的变量。
回归分析的目的是通过数学模型表示变量之间的关系,常用于预测和因果分析。


提示:以下是本篇文章正文内容,下面案例可供参考

回归分析函数示例

回归分析函数是一组内置在数据库中的统计函数,用于直接在 SQL 查询中完成线性回归的计算。这些函数帮助用户分析数据集中的两列数据(X 和 Y)之间的关系,无需借助外部工具(如 Python、R)。

1. 分析 SAL 和 COMM 之间的回归关系

分析员工的薪资(SAL)和奖金(COMM)之间的关系。

SELECT REGR_SLOPE(comm, sal) AS slope,
       REGR_INTERCEPT(comm, sal) AS intercept,
       REGR_R2(comm, sal) AS r_squared,
       REGR_AVGX(comm, sal) AS avg_sal,
       REGR_AVGY(comm, sal) AS avg_comm,
       REGR_COUNT(comm, sal) AS valid_pairs
FROM emp
WHERE comm IS NOT NULL;

结果解释
SLOPE:薪资每增加 1 单位时,奖金的变化量。
INTERCEPT:回归线在 Y 轴上的截距。
R_SQUARED:拟合优度,越接近 1,表示模型越准确。
AVG_SAL:参与计算的薪资的平均值。
AVG_COMM:参与计算的奖金的平均值。
VALID_PAIRS:有效的薪资和奖金数据对数。

2. 按部门分析 SAL 和 COMM 的关系

对于每个部门,分析薪资与奖金之间的关系。

SELECT deptno,
       REGR_SLOPE(comm, sal) AS slope,
       REGR_INTERCEPT(comm, sal) AS intercept,
       REGR_R2(comm, sal) AS r_squared,
       REGR_AVGX(comm, sal) AS avg_sal,
       REGR_AVGY(comm, sal) AS avg_comm,
       REGR_COUNT(comm, sal) AS valid_pairs
FROM emp
WHERE comm IS NOT NULL
GROUP BY deptno;

结果解释
每个部门的回归模型描述了薪资和奖金之间的线性关系。
有效数据点数目可以帮助判断模型的可靠性。

3. 根据 SAL 预测 COMM

假设 COMM 是因变量,使用回归模型根据薪资预测奖金。

SELECT empno, ename, sal,
       REGR_SLOPE(comm, sal) OVER () * sal + REGR_INTERCEPT(comm, sal) OVER () AS predicted_comm
FROM emp
WHERE comm IS NOT NULL;

结果解释
PREDICTED_COMM 是根据薪资计算出的预测奖金。
可以与实际奖金值(COMM)比较,以评估模型的准确性。

4. 分析员工薪资与工作年限的关

假设 HIREDATE 表示员工入职日期,可以计算员工的工作年限,并分析薪资与工作年限之间的关系。

SELECT REGR_SLOPE(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS slope,
       REGR_INTERCEPT(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS intercept,
       REGR_R2(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS r_squared,
       REGR_AVGX(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS avg_years,
       REGR_AVGY(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS avg_sal
FROM emp;

结果解释
SLOPE:工作年限每增加 1 年,薪资的平均增量。
INTERCEPT:工作年限为 0 时的起始薪资。
R_SQUARED:薪资与工作年限的拟合优度。
AVG_YEARS:工作年限的平均值。
AVG_SAL:薪资的平均值。

5. 按部门分析工作年限与薪资的关系

对每个部门的员工,分析工作年限与薪资之间的关系

SELECT deptno,
       REGR_SLOPE(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS slope,
       REGR_INTERCEPT(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS intercept,
       REGR_R2(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS r_squared,
       REGR_COUNT(sal, FLOOR(MONTHS_BETWEEN(SYSDATE, hiredate) / 12)) AS valid_pairs
FROM emp
GROUP BY deptno;

结果解释
每个部门的回归模型显示工作年限对薪资的影响。
VALID_PAIRS 表示有效数据对数,数据对越多,模型越可靠。

6. 计算 REGR_AVGX 和 REGR_AVGY

直接计算 SAL 和 COMM 的平均值,作为回归分析的辅助信息。

SELECT REGR_AVGX(sal, comm) AS avg_salary,
       REGR_AVGY(sal, comm) AS avg_comm
FROM emp
WHERE comm IS NOT NULL;

结果解释
AVG_SALARY 是薪资的平均值。
AVG_COMM 是奖金的平均值。

7. 检测薪资和奖金的相关性

使用 CORR 函数计算薪资与奖金之间的相关性。

SELECT CORR(sal, comm) AS correlation
FROM emp
WHERE comm IS NOT NULL;

结果解释
CORRELATION 是相关系数:
值为 1:表示完全正相关。
值为 -1:表示完全负相关。
值为 0:表示无相关性。

8. 分析奖金与薪资平方和

计算奖金和薪资的平方和及协方差,用于进一步的回归分析。

SELECT REGR_SXX(comm, sal) AS sxx,  -- X 的平方和
       REGR_SYY(comm, sal) AS syy,  -- Y 的平方和
       REGR_SXY(comm, sal) AS sxy   -- X 和 Y 的协方差
FROM emp
WHERE comm IS NOT NULL;

结果解释
SXX 是薪资的平方和。
SYY 是奖金的平方和。
SXY 是薪资和奖金的协方差,用于表示 X 和 Y 的关系。

总结

在这里插入图片描述
在这里插入图片描述
Oracle 的回归分析函数提供了一种快速、高效的方法来分析变量之间的线性关系。通过这些函数,用户可以直接在 SQL 中完成线性回归建模、相关性分析和预测任务,特别适合简单的单变量线性回归场景。对于更复杂的回归分析(如多元回归或非线性回归),可以结合其他工具(如 Python 或 R)进一步分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/945952.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea项目导入gitee 码云

1、安装gitee插件 IDEA 码云插件已由 gitosc 更名为 gitee。 1 在码云平台帮助文档http://git.mydoc.io/?t153739上介绍的很清楚,推荐前两种方法, 搜索码云插件的时候记得名字是gitee,gitosc已经搜不到了。 2、使用码云托管项目 如果之…

Cesium 实战 27 - 三维视频融合(视频投影)

Cesium 实战 27 - 三维视频融合(视频投影) 核心代码完整代码在线示例在 Cesium 中有几种展示视频的方式,比如墙体使用视频材质,还有地面多边形使用视频材质,都可以实现视频功能。 但是随着摄像头和无人机的流行,需要视频和场景深度融合,简单的实现方式则不能满足需求。…

spring boot的各个版本介绍

Spring Boot 是一个用于创建独立、生产级别的基于 Spring 的应用程序的框架。自2014年首次发布以来,Spring Boot 经历了多个版本的迭代,每个版本都带来了新特性、性能改进和错误修复。下面是对Spring Boot一些主要版本的简要介绍: Spring Boo…

基于zynq在linux下的HDMI实战

ZYNQ系列文章目录 第一章:基于zynq在linux下的phy调试记录 第二章:qemu制作ubuntu文件系统 第三章:基于zynq在linux下的AXI-CAN实战 第四章:基于zynq在linux下的HDMI实战 文章目录 ZYNQ系列文章目录前言一、vivado中HDMI的配置1.…

LabVIEW 实现自动对焦的开发

自动对焦(Autofocus, AF)技术是通过分析图像或传感器信号,动态调整焦点位置以实现清晰成像或高精度定位的过程。在LabVIEW中,可以通过集成信号采集、数据处理、控制算法和硬件接口模块,实现多种自动对焦方法&#xff0…

机器人C++开源库The Robotics Library (RL)使用手册(四)

建立自己的机器人3D模型和运动学模型 这里以国产机器人天机TR8为例,使用最普遍的DH运动学模型,结合RL所需的描述文件,进行生成。 最终,需要的有两个文件,一个是.wrl三维模型描述文件;一个是.xml运动学模型描述文件。 1、通过STEP/STP三维文件生成wrl三维文件 机器人的…

直播电商系统源码搭建实战:快速开发多商户带货APP的指南

今天,笔者将从源码选择、功能设计、开发流程等方面,带你了解如何快速开发一个高效实用的直播电商系统。 一、明确需求:功能设计是基础 以下是一个多商户直播电商系统的核心功能模块: -商户管理模块 -直播带货模块 -商品管理模…

风力涡轮机缺陷检测数据集,86.6%准确识别率,11921张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注

风力涡轮机缺陷检测数据集,86.6%准确识别率,11921张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注 数据集下载 yolov11: https://download.csdn.net/download/pbymw8iwm/90206849 yolov…

委外加工业务如何调整原材料的消耗-MIGO A11-后续调整

业务背景:用户反馈委外加工业务回收后,产品已经销售,但委外加工结算时要对原材料消耗时行调整。如果没有销售,准备采用收货冲销后重新收货,但现在已经是2024年最后一天了。。。销售业务已经做完。不可能再冲销。其实这…

ultralytics库RT-DETR代码解析

最近读了maskformer以及maskdino的分割头设计,于是想在RT-DETR上做一个分割的改动,所以选择在ultralytics库中对RTDETR进行改进。 本文内容简介: 1.ultralytics库中RT-DETR模型解析 2. 对ultralytics库中的RT-DETR模型增加分割头做实例分割 …

25. C++继承 1 (继承的概念与基础使用, 继承的复制兼容规则,继承的作用域)

⭐上篇模板文章:24. C模板 2 (非类型模板参数,模板的特化与模板的分离编译)-CSDN博客 ⭐本篇代码:c学习 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分 目录 一. 继承的基础使用 1.1 继承的格式 1.2 …

宽带、光猫、路由器、WiFi、光纤之间的关系

1、宽带(Broadband) 1.1 宽带的定义宽带指的是一种高速互联网接入技术,通常包括ADSL、光纤、4G/5G等不同类型的接入方式。宽带的关键特点是能够提供较高的数据传输速率,使得用户可以享受到稳定的上网体验。 1.2 宽带的作用宽带是…

【AndroidAPP】权限被拒绝:[android.permission.READ_EXTERNAL_STORAGE],USB设备访问权限系统报错

一、问题原因 1.安卓安全性变更 Android 12 的安全性变更,Google 引入了更严格的 PendingIntent 安全管理,强制要求开发者明确指定 PendingIntent 的可变性(Mutable)或不可变性(Immutable)。 但是&#xf…

Inno Setup生成exe安装包

Inno Setup生成exe安装包 第一步:创建一个带向导的脚本文件 第二步:直接 Next,不要创建空的脚本文件 第三步:填写相关的应用程序信息 第四步:指定应用程序的安装目录相关的信息 第五步:选择可执行程序和相…

数据库MHA

MHA 什么是MHA -------- MASTER HIGH AVAILABILITY 建立在主从复制基础之上的故障切换到软件系统 主从复制的单点问题: 当主从复制当中,主服务器发生故障,会自动切换到一台从服务器,然后把从服务器升格为主,继续主…

vue2 - Day04 - 插槽、路由

插槽、路由 一、插槽(solt)1.1 概念1.2 基本用法1.3 分类1.3.1 默认插槽(Default Slot)例子: 1.3.2 具名插槽(Named Slots)语法: 1.3.3 作用域插槽(Scoped Slots&#xf…

微信小程序:定义页面标题,动态设置页面标题,json

1、常规设置页面标题 正常微信小程序中,设置页面标题再json页面中进行设置,例如 {"usingComponents": {},"navigationBarTitleText": "标题","navigationBarBackgroundColor": "#78b7f7","navi…

【数据可视化-10】国防科技大学录取分数线可视化分析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

Spring Boot教程之四十一:在 Spring Boot 中调用或使用外部 API

如何在 Spring Boot 中调用或使用外部 API? Spring Boot 建立在 Spring 之上,包含 Spring 的所有功能。它现在越来越受到开发人员的青睐,因为它是一个快速的生产就绪环境,使开发人员能够直接专注于逻辑,而不必费力配置…

L25.【LeetCode笔记】 三步问题的四种解法(含矩阵精彩解法!)

目录 1.题目 2.三种常规解法 方法1:递归做 ​编辑 方法2:改用循环做 初写的代码 提交结果 分析 修改后的代码 提交结果 for循环的其他写法 提交结果 方法3:循环数组 提交结果 3.方法4:矩阵 算法 代码实践 1.先计算矩阵n次方 2.后将矩阵n次方嵌入递推式中 提…