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 ...
随机推荐
- MYSQL中常见的时间处理
use test; select getdate() select sysdate(); select now(); select current_timestamp select current_t ...
- 洛谷P3629 [APIO2010]巡逻(树的直径)
如果考虑不算上新修的道路,那么答案显然为\(2*(n-1)\). 考虑\(k=1\)的情况,会发现如果我们新修建一个道路,那么就会有一段路程少走一遍.这时选择连接树的直径的两个端点显然是最优的. 难就 ...
- 《逆袭团队》第九次团队作业【Beta】Scrum meeting 3
项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...
- jq function return value
所有 JS 函数 都会返回值 假如 没有 return 则返回 undefined
- 04 Vue Router路由管理器
路由的基本概念与原理 Vue Router Vue Router (官网: https://router.vuejs.org/zh/)是Vue.js 官方的路由管理器. 它和vue.js的核心深度集成 ...
- git添加doc文件维护
原文地址:https://www.cnblogs.com/yezuhui/p/6853271.html 说明: git 一般只能对纯文本文件进行版本控制,但是如果有其他中间转化软件的协助,就可以对任意 ...
- 跨子域的iframe高度自适应
一.跨子域的iframe高度自适应 比如 'a.jd.com/3.html' 嵌入了 'b.jd.com/4.html',这种跨子域的页面 3.html 1 2 3 4 5 6 7 8 9 10 11 ...
- centos7最小化安装无法tab补全
yum install -y bash-completion 安装完后reboot重启生效
- 【转载】Visual Studio(VS) F12 查看DLL源代码
https://www.cnblogs.com/zhaoqingqing/p/6751757.html esharper官网:https://www.jetbrains.com/resharper/ ...
- wget递归下载网站资源
wget -r -p -np -k http://archive.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/ 在下载https ...