统计算法_数值/线性关系度量

继续统计算法,这次也没什么特别的,还没到那么深入,也是比较基础的
1、方差-样本
2、协方差(标准差)-样本
3、变异系数
4、相关系数

依然是先造个list,这次把这个功能写个函数,方便以后调用,另外上一篇写过的函数这次也会继承
def create_rand_list(min_num,max_num,count_list):
case_list = []
while len(case_list) < count_list:
rand_float = random.uniform(min_num,max_num)
if rand_float in case_list:
continue
case_list.append(rand_float)
case_list = [round(case,2) for case in case_list]
return case_list

下面是历史函数
sum_fun() #累加
len_fun() #统计个数
multiply_fun() #累乘
sum_mean_fun() #算数平均数
sum_mean_rate() #算数平均数计算回报
median_fun() #中位数
modes_fun() #众数
ext_minus_fun() #极差
geom_mean_fun() #几何平均数
geom_mean_rate() #几何平均回报

新函数代码

import random

先生成一个随机list,已有函数,不赘述
rand_list = [15.79, 6.83, 12.83, 22.32, 17.92, 6.29, 10.19, 10.13, 24.23, 25.56]

1、方差-样本S^2,list中的每个元素减整个list的平均数的平方累加,结果比个数-1,方差总量不-1
def var_fun(rand_list):
  mean_num = sum_mean_fun(rand_list) #计算平均数  len_num = len_fun(rand_list) #计算总量  var_list = [(x-mean_num)**2 for x in rand_list]  var_sum = sum_fun(var_list)  var_num = var_sum/(len_num - 1)  return var_num

2、协方差(标准差)-样本S,这个简单,用方差开平方就可以了
def covar_fun(rand_list):
  var_num = var_fun(rand_list)  covar_num = var_num ** 0.5  return covar_num

3、变异系数CV,变异程度度量,协方差/算数平均数*100%
说明(百度百科):在进行数据统计分析时,如果变异系数大于15%,则要考虑该数据可能不正常,应该剔除
def  trans_coef_fun(rand_list):
  covar_num = covar_fun(rand_list)  mean_num = sum_mean_fun(rand_list)  trans_coef_num = covar_num / mean_num  return trans_coef_num

4、相关系数-样本r,表示两个维之间的线性关系,-1 < r < 1,越接近1关系维间的关系越强
   因为是两个维,因此需要输入两维的list,算法比较麻烦
'''
((x1-mean(x))(y1-mean(y))+(x2-mean(x))(y2-mean(y))+...(xn-mean(x))(yn-mean(y)))
/((x1-mean(x))^2+(x2-mean(x))^2+...(xn-mean(x))^2)^0.5*((y1-mean(y))^2+(y2-mean(y))^2+...(yn-mean(y))^2)^0.5
'''
x_list = rand_list
y_list = [4.39, 13.84, 9.21, 9.91, 15.69, 14.92, 25.77, 23.99, 8.15, 25.07]
def pearson_fun(x_list,y_list):
  x_mean = sum_mean_fun(x_list)  y_mean = sum_mean_fun(y_list)  len_num = len_fun(x_list)  if len_num == len_fun(y_list):    xy_multiply_list = [(x_list[i]-x_mean)*(y_list[i]-y_mean) for i in range(len_num)]    xy_multiply_num = sum_fun(xy_multiply_list)  else:    print 'input list wrong,another input try'    return None  x_covar_son_list = [(x-x_mean)**2 for x in x_list]  y_covar_son_list = [(y-y_mean)**2 for y in y_list]  x_covar_son_num = sum_fun(x_covar_son_list)  y_covar_son_num = sum_fun(y_covar_son_list)  xy_covar_son_multiply_num = (x_covar_son_num ** 0.5) * (y_covar_son_num ** 0.5)  pearson_num = xy_multiply_num / xy_covar_son_multiply_num  return pearson_num

Original: https://www.cnblogs.com/xiu123/p/9420799.html
Author: 咻_python
Title: 统计算法_数值/线性关系度量

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578177/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 大数据之Hadoop集群的HDFS压力测试

    测试HDFS写性能 原文:sw-code1)写测试的原理 2)测试内容:向HDFS集群写10个128MB的文件(3个机器每个4核,2 * 4 = 8 < 10 < 3 …

    Linux 2023年6月8日
    091
  • mysql 8.0.20 忘记密码,修改密码

    由于mysql更新较快,8.0对比5.7很多操作有了变化,特别修改密码,和忘记密码这一块已经和以前完全不一样了。 一、 忘记密码 1、 在my.cnf 文件中添加skip-gran…

    Linux 2023年6月6日
    0101
  • Linux i3 用户手册(简要)

    i3 用户手册 与(mod一起使用的键 一般为Win键或为Alt键, 可以和与 Shift+\)mod 一起使用 按键参考图 红色键是您需要按下的修饰符(默认情况下),蓝色键是您的…

    Linux 2023年6月7日
    088
  • zabbix监控配置流程

    zabbix监控配置流程 管理层次: 开发人员要加监控,需要让其提供监控指标运营人员要加监控,让其找开发要监控指标运维人员要加监控,让运营人员去找开发要监控指标。 配置层次: 1….

    Linux 2023年6月6日
    0106
  • Java — 枚举

    枚举是 JDK5 中引入的特性,由 enum 关键字来定义一个枚举类。 格式: enum 枚举类名 { 枚举项1, 枚举项2, …; 成员变量; 构造方法 成员方法 } 说明:…

    Linux 2023年6月8日
    091
  • MySQL环境变量配置方法

    MySQL配置方法 下载免安装版本的MySQL数据库,大家根据自己的开发环境下载对应版本的数据库,我在此举例的是Windows系统下的配置方法,下载地址如下: https://de…

    Linux 2023年6月7日
    0100
  • 启动springboot项目很慢的解决方案-InetAddress.getLocalHost().getHostName()

    https://blog.csdn.net/qq_39595769/article/details/119573111 Original: https://www.cnblogs….

    Linux 2023年6月13日
    095
  • 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理

    服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 x86_64…

    Linux 2023年6月7日
    0162
  • linux神器sed快速入门,不好用你打我!

    为什么要学习sed sed(Stream EDitor)被誉为Linux三剑客之一,负责过滤和转换文本,功能灵活又强大,搭配正则表达式更是如虎添翼。 如果你需要向1000行文本中的…

    Linux 2023年6月7日
    088
  • css或html中添加空格

    posted @2022-08-03 16:31 七窍玲珑心 阅读(8 ) 评论() 编辑 Original: https://www.cnblogs.com/lzh93/p/16…

    Linux 2023年6月13日
    0114
  • Python环境安装

    一、下载地址: Python:Download Python | Python.org PyCharm:Download PyCharm: Python IDE for Profe…

    Linux 2023年6月13日
    0111
  • Kubenertes-实战入门

    实战入门 Namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现 多套环境的资源隔离。 默认情况下,kubernetes集群中…

    Linux 2023年6月13日
    093
  • js中div显示和隐藏钮为什么页面总是跳一下到最上面

    中心动态 产权动态 财经聚焦 点击onclick事件 是因为的href属性,使用了#的缘故,你点击a的时候回到页面的开始,然后才在做click函数,你可以不使用href属性。但是这…

    Linux 2023年6月13日
    0107
  • linux正则表达式初探

    为什么要学习正则表达式? 简单而言,仅仅用通配符无法满足处理字符的需求,这时候就是正则表达式大展身手的机会。相较而言,正则表达式比通配符更灵活,也更强大。 我们在网站注册用户的时候…

    Linux 2023年6月7日
    083
  • 【演讲】2020年马云谈疫情过后的新风口

    2020年马云谈疫情过后的新风口 【关键词】:疫情、新风口、数字化趋势、传统行业转型、教育 一、演讲背景 背景 2020线上智博会,马云8分钟演讲30次提到数字化 原视频 2020…

    Linux 2023年6月13日
    0113
  • 本篇还玩“障眼法”,一文解读HTML内联框架Iframes。

    写在开篇 假设有一个需求,想要在网页内显示其它网页,怎么搞?很简单,可以用iframe来解决,那啥是iframe?本篇的主题就是它,接下来我们一一解剖它的用法。 嵌入第三方url页…

    Linux 2023年6月7日
    0126
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球