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 ...
随机推荐
- OpenStack共享组件-RabbitMQ消息队列
1. MQ 全称为 Message Queue, 消息队列( MQ ),是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 消息 ...
- web页面死链测试方法
一.概述 > 来自百度百科释义 死链:指服务器的地址已经改变了.无法找到当前地址位置,包括协议死链和内容死链两种形式.死链出现的原因有网站服务器设置错误:某文件夹名称修改,路径错误链接变成死链等 ...
- 调用图灵API V2 遇到的坑
1:遇到的第一个问题:跨域 解决办法: 第一种:使用query中的jsonp 可惜图灵要求post方法,而jsonp,只能使用get方法,才能跨域,失败 第二种:服务器添加header,可是我怎么去改 ...
- invoke和begininvoke 区别
一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解. 首先说下,invoke和begininvoke的使用有两种情况: 1. c ...
- 【NOIP2015】斗地主 D1 T3 及 增强版 (送命题)
恶心送命模拟题 暴搜顺子,DP预处理剩下的. 由于官方数据太水,很多情况没有讨论的都能过普通版本,想要测试自己代码正确性的同学们可以交交这道题,有很多dalao给出了hack数据 : Luogu P2 ...
- 基于Ubuntu1604+ROS-kinetic+roscpp的激光雷达定位算法从零开始移植
调试的过程太麻烦了,因此打算详细解释一下每步的含义,很多地方懂了之后发现其实很简单,但是学起来却发现很多地方无从下手,因为资料太少了,真的都是不断踩坑一点一点摸索出来的,写以此文以便后人乘凉 此处将展 ...
- Oracle iops测试
DECLARE lat INTEGER; iops INTEGER; mbps INTEGER;BEGIN DBMS_RESOURCE_MANAGER.CALIBRATE_IO(4, 10, ...
- 浅谈前端H5自定义分享实现方法
引入jweinxin相关js文件,然后才可以做H5的分享 <script src="js/jweixin-1.2.0.js"></script> let ...
- 1-开发共享版APP(源码介绍)-BUG修复
这一系列文章将介绍APP的源码,这一节作为所有BUG问题修复! https://www.cnblogs.com/yangfengwu/category/1512162.html //开发共享版A ...
- 解决js加减乘除精度问题
// 加法 const accAdd = (arg1, arg2) => { var r1, r2, m; try { r1 = arg1.toString(). ...