oracle数据库之统计分析(方差、标准差、协方差)
2015-12-17 10:15
1106 查看
1. 方差、标准差
引言:样本中各数据与样本平均数的差的平方和的平均数叫做样本方差;样本方差的算术平方根叫做样本标准差。样本方差和样本标准差都是衡量一个样本波动大小的量,样本方差或样本标准差越大,样本数据的波动就越大。
方差是标准差的平方
方差和标准差。方差和标准差是测算离散趋势最重要、最常用的指标。方差是各变量值与其均值离差平方的平均数,它是测算数值型数据离散程度的最重要的方法。标准差为方差的平方根,用S表示。
/* stddev返回expr的样本标准偏差。它可用作聚集和分析函数。 与stddev_samp的不同之处在于,当计算的输入数据只有一行时,stddev返回0,而stddev_samp返回null。 Oracle数据库中,标准偏差计算结果与variance用作集聚函数计算结果的平方根相等。该函数参数可取任何数字类型或是任何能隐式转换成数字类型的非数字类型。 */ /* STDDEV 功能描述:计算当前行关于组的标准偏离。(Standard Deviation) STDDEV_SAMP 功能描述:该函数计算累积样本标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同。 */ --sample: SELECT deptno, ename, --st_name || ' ' || last_name employee_name, hiredate, sal, STDDEV (sal) OVER (PARTITION BY deptno ORDER BY hiredate) AS "STDDEV", --标准差 STDDEV_SAMP (sal) OVER (PARTITION BY deptno ORDER BY hiredate) AS "STDDEV_SAMP", --样本标准差 VAR_POP (sal) OVER (PARTITION BY deptno ORDER BY hiredate) AS "VAR_POP", --方差 VAR_SAMP (sal) OVER (PARTITION BY deptno ORDER BY hiredate) AS "VAR_SAMP" --样本方差FROM scott.emp WHERE deptno IN (20); SELECT deptno, STDDEV (sal) AS "STDDEV", --标准差 STDDEV_SAMP (sal) AS "STDDEV_SAMP", --样本标准差 VAR_POP (sal) AS "VAR_POP", --方差 VAR_SAMP (sal) AS "VAR_SAMP" --样本方差 FROM scott.emp group by deptno;
2. 协方差
引言:协方差分析是建立在方差分析和回归分析基础之上的一种统计分析方法。
方差分析是从质量因子的角度探讨因素不同水平对实验指标影响的差异。一般说来,质量因子是可以人为控制的。
回归分析是从数量因子的角度出发,通过建立回归方程来研究实验指标与一个(或几个)因子之间的数量关系。但大多数情况下,数量因子是不可以人为加以控制的。
两个不同参数之间的方差就是协方差
若两个随机变量X和Y相互独立,则E[(X-E(X))(Y-E(Y))]=0,因而若上述数学期望不为零,则X和Y必不是相互独立的,亦即它们之间存在着一定的关系。
定义
E[(X-E(X))(Y-E(Y))]称为随机变量X和Y的协方差,记作COV(X,Y),即COV(X,Y)=E[(X-E(X))(Y-E(Y))]。
/* COVAR_POP 功能描述:返回一对表达式的总体协方差。 */ /* COVAR_SAMP 功能描述:返回一对表达式的样本协方差 */ --sample: SELECT a.department_id, a.employee_id, b.employee_id manager_id, a.first_name||' '||a.last_name employee_name, b.first_name||' '||b.last_name manager_name, a.hire_date, a.salary employee_salary, b.salary manager_salary, COVAR_POP(a.salary,b.salary) OVER (ORDER BY a.department_id,a.hire_date ) AS CUM_COVP, --总体协方差 COVAR_SAMP(a.salary,b.salary) OVER (ORDER BY a.department_id,a.hire_date ) AS CUM_SAMP --样本协方差 FROM employees a,employees b WHERE a.manager_id=b.employee_id(+)
相关文章推荐
- Oracle NID工具修改数据库DBID、数据库名称、数据库实例名
- 数据库oracle用户管理2
- oracle的各个版本的oci
- oracle 11g RAC 常用命令整理分享
- Oracle的数据表中行转列与列转行的操作实例讲解
- ubuntu通过ppa安装oracle jdk
- oracle表分区详解
- oracle表分区详解
- OCP课程之ORACLE审计
- oracle中的 exists 和 in 的效率问题
- Oracle小心得+前言
- Does Oracle GoldenGate requires Xlc.Adt.Include 8.0 (文档 ID 1147116.1)
- oracle存储过程中传入日期参数,插入到表
- ORA-1555,oracle读一致性
- oracle 为什么任何用户都能以SYSDBA登陆 即使用户名和密码都为空也能进入
- Oracle定义两个变量,并对两个变量的值的长度进行判断
- NodeJs oracledb无法完成删除数据项操作的处理方法
- Oracle定义常量和变量
- Oracle 12C 新建用户连接数据库设置
- Oracle的substr函数简单用法 与substring区别