PHP 相关性系数计算
相关系数公式
参考:https://baike.baidu.com/item/相关系数
PHP 实现代码
public static function calc($list)
{
$cv = [];
$X = [];
$Y = []; foreach ($list as $r)
{
if (count($r) != 2)
{
continue;
} $X[] = floatval($r[0]);
$Y[] = floatval($r[1]);
} $xavg = array_sum($X)/count($X); // X 平均值
$yavg = array_sum($Y)/count($Y); // Y 平均值
$XMD = []; // X 离均差
$YMD = []; // Y 离均差
$mdcross_sum = 0; // X,Y 离均差交乘积和
$xdif_square_sum = 0; // X 离均差平方和
$count = count($X);
for ($i=0; $i<$count; $i++)
{
$xdif = (float)$X[$i]-$xavg; // X 离均差
$ydif = (float)$Y[$i]-$yavg; // Y 离均差
$XMD[$i] = $xdif;
$YMD[$i] = $ydif;
$mdcross_sum += $xdif*$ydif; // X,Y 离均差交乘积和
$xdif_square_sum += pow($xdif, 2); // X 离均差平方和
} if ($xdif_square_sum == 0)
{
$b = 0;
$a = 0;
}
else
{
$b = round($mdcross_sum/$xdif_square_sum, 2); // 计算斜率 b
$a = round($yavg-$b*$xavg, 2); // 计算常数项 a
} /*
$str = '';
$str .= "X = ".join(", ",$X)."<br>";
$str .= "Y = ".join(", ",$Y)."<br>";
$str .= "常数项 a = ".$a."<br>";
$str .= "斜率 b = ".$b."<br>";
$str .= "线性回归方程式 Y = ".$a." + (".$b.")X<br>";
$str .= "X 平均值 = ".$xavg."<br>";
$str .= "Y 平均值 = ".$yavg."<br>";
$str .= "X 离均差 = ".join(", ",$XMD)."<br>";
$str .= "Y 离均差 = ".join(", ",$YMD)."<br>";
$str .= "X,Y 离均差交乘积和 = ".$mdcross_sum."<br>";
$str .= "X 离均差平方和 = ".$xdif_square_sum."<br>"; SysLog::add($str, 'debug');
*/ $cv['a'] = $a;
$cv['b'] = $b; // 计算相关系数
$cv_up = 0;
$cv_down_x = 0;
$cv_down_y = 0;
for ($i=0; $i<$count; $i++)
{
$cv_up += ($X[$i]-$xavg) * ($Y[$i]-$yavg);
$cv_down_x += pow($X[$i]-$xavg, 2);
$cv_down_y += pow($Y[$i]-$yavg, 2);
} if ($cv_down_x * $cv_down_y == 0)
{
$cv['cv'] = 0;
}
else
{
$cv['cv'] = round($cv_up / sqrt($cv_down_x * $cv_down_y), 2);
} return $cv;
}
PHP 相关性系数计算的更多相关文章
- 相关性系数及其python实现
参考文献: 1.python 皮尔森相关系数 https://www.cnblogs.com/lxnz/p/7098954.html 2.统计学之三大相关性系数(pearson.spearman.ke ...
- 统计学三大相关性系数:pearson,spearman,kendall
目录 person correlation coefficient(皮尔森相关性系数-r) spearman correlation coefficient(斯皮尔曼相关性系数-p) kendall ...
- 相关性系数缺点与证明 k阶矩
相关性系数 https://baike.baidu.com/item/相关系数/3109424?fr=aladdin 缺点 需要指出的是,相关系数有一个明显的缺点,即它接近于1的程度与数据组数n相关, ...
- Python 余弦相似度与皮尔逊相关系数 计算
夹角余弦(Cosine) 也可以叫余弦相似度. 几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异. (1)在二维空间中向量A(x1,y1)与向量B(x2,y2 ...
- kappa 一致性系数计算实例
kappa系数在遥感分类图像的精度评估方面有重要的应用,因此学会计算kappa系数是必要的 实例1 实例2
- B-spline Curves 学习之B样条曲线的系数计算与B样条曲线特例(6)
B-spline Curves: Computing the Coefficients 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完成相关 ...
- R语言矩阵相关性计算及其可视化?
目录 1. 矩阵相关性计算方法 base::cor/cor.test psych::corr.test Hmisc::rcorr 其他工具 2. 相关性矩阵转化为两两相关 3. 可视化 corrplo ...
- Elasticsearch学习笔记(十四)relevance score相关性评分的计算(1)
一.多shard场景下relevance score不准确问题 1.问题描述: 多个shard下,如果每个shard包含指定搜索条件的document数量不均匀的情况下, ...
- python数据相关性分析 (计算相关系数)
#-*- coding: utf-8 -*- #餐饮销量数据相关性分析 计算相关系数 from __future__ import print_function import pandas as pd ...
随机推荐
- 前端JS
目录 1.javascript介绍 1.1Web前端有三层: 1.2其中JavaScript基础又分为三个部分: 1.3JavaScript入门易学性 1.4JavaScript的组成 1.5Java ...
- Linux系统自动化安装之cobbler实现
一.cobbler简介 cobbler是快速网络安装linux操作系统的服务,支持众多的Linux发行版本,如redhat|.fedora.centos.debian.ubuntu和suse,也可以支 ...
- Linux设备管理——sysfs、udev
What is the use of Sysfs sysfs is a pseudo file system provided by the Linux kernel that exports inf ...
- VUE--404页面
<一 404 动态页面> <!-- 2017/5/26- yyy-404页面--> <template> <section class="page_ ...
- 记一次对上传对jsp限制的绕过
当访问网站任何.jsp后缀的文件时都会显示如下图所示或者session timeout等提示, 并且网站防护会,对上传大马和一句话会被查杀. 解决方法: 利用jspx包含,利用jspx包含图片或者cs ...
- 移动平台前端开发总结(ios,Android)
首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content="width=device-width; ...
- 用junit Test Suite来组合测试
在测试过程中,有时可能想一次性运行所有的测试类,或是选择性的运行某些测试类.这样的话我们就可以用TestSuite来统一管理我们的测试类. 比如说我现在有三个测试类:junitTest4,TestCa ...
- 使用Ajax实现三级联动
首先准备数据库只有一张表 分析数据库根据 parentid来查 jsp代码 servlet代码 <%-- Created by IntelliJ IDEA. User: 60590 Date: ...
- Redis 高可用架构设计(转载)
转载自:https://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=2649263292&idx=1&sn=b170390684 ...
- zzulioj - 2628: 小新的字母广场
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2628 题目描述 放假了,小新决定出去散散心,于是他来到了著名的字母广场.这个广场是由n*m块砖 ...