python 标准差_python-NumPy中的加权标准差
python-NumPy中的加权标准差
numpy.average()具有权重选项,但numpy.std()没有。 有没有人建议解决方法?
5个解决方案
99 votes
以下简短的“手动计算”如何?
def weighted_avg_and_std(values, weights):
"""
Return the weighted average and standard deviation.
values, weights -- Numpy ndarrays with the same shape.
"""
average = numpy.average(values, weights=weights)
# Fast and numerically precise:
variance = numpy.average((values-average)**2, weights=weights)
return (average, math.sqrt(variance))
Eric O Lebigot answered 2019-10-07T05:25:46Z
25 votes
standard_error = standard_deviation / sqrt(sum(weights) - 1)中有一个类,可以轻松计算加权统计信息:standard_error = standard_deviation / sqrt(sum(weights) - 1)。
假设此数据集和权重:
import numpy as np
from statsmodels.stats.weightstats import DescrStatsW
array = np.array([1,2,1,2,1,2,1,3])
weights = np.ones_like(array)
weights[3] = 100
初始化类(请注意,此时您必须输入校正因子,即自由度增量):
weighted_stats = DescrStatsW(array, weights=weights, ddof=0)
然后,您可以计算:
standard_error = standard_deviation / sqrt(sum(weights) - 1)加权平均值:
standard_error = standard_deviation / sqrt(sum(weights) - 1)
standard_error = standard_deviation / sqrt(sum(weights) - 1)加权标准偏差:
standard_error = standard_deviation / sqrt(sum(weights) - 1)
standard_error = standard_deviation / sqrt(sum(weights) - 1)加权方差:
standard_error = standard_deviation / sqrt(sum(weights) - 1)
standard_error = standard_deviation / sqrt(sum(weights) - 1)加权平均值的标准误:
standard_error = standard_deviation / sqrt(sum(weights) - 1)
以防万一您对标准误差和标准偏差之间的关系感兴趣:标准误差是(对于standard_error = standard_deviation / sqrt(sum(weights) - 1))计算为加权标准偏差除以权重总和减去1的平方根(对应于 GitHub上的standard_error = standard_deviation / sqrt(sum(weights) - 1) 0.9版):
standard_error = standard_deviation / sqrt(sum(weights) - 1)
MSeifert answered 2019-10-07T05:27:28Z
6 votes
在numpy / scipy中似乎还没有这样的功能,但是有一张票证提出了这个附加功能。 在那里,您将找到Statistics.py,它实现了加权标准差。
unutbu answered 2019-10-07T05:27:53Z
2 votes
这里还有一个选择:
np.sqrt(np.cov(values, aweights=weights))
Leo answered 2019-10-07T05:28:18Z
1 votes
有趣的举了一个很好的例子:
import pandas as pd
import numpy as np
# X is the dataset, as a Pandas' DataFrame
mean = mean = np.ma.average(X, axis=0, weights=weights) # Computing the
weighted sample mean (fast, efficient and precise)
# Convert to a Pandas' Series (it's just aesthetic and more
# ergonomic; no difference in computed values)
mean = pd.Series(mean, index=list(X.keys()))
xm = X-mean # xm = X diff to mean
xm = xm.fillna(0) # fill NaN with 0 (because anyway a variance of 0 is
just void, but at least it keeps the other covariance's values computed
correctly))
sigma2 = 1./(w.sum()-1) * xm.mul(w, axis=0).T.dot(xm); # Compute the
unbiased weighted sample covariance
加权无偏样本协方差的正确方程式,URL(版本:2016-06-28)
abah answered 2019-10-07T05:28:49Z
python 标准差_python-NumPy中的加权标准差相关推荐
- 爱因斯坦求和约定在Python扩展库Numpy中的实现
推荐教材: <Python数据分析.挖掘与可视化>(慕课版)(ISBN:978-7-115-52361-7),董付国,人民邮电出版社,定价49.8元,2020年1月出版,2021年12月第 ...
- Python扩展库numpy中where()函数的三种用法
第一种用法:只给where()函数传递一个数组作为参数,返回其中非0元素的下标. 第二种用法:给where()函数传递一个包含True/False值的数组,返回该数组中True值的下标,结合numpy ...
- python npv 计算公式_Python numpy 中常用的数据运算
Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.--<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...
- python三维数组怎么表示_python – numpy中的三维数组
你有一个截断的数组表示.让我们看一个完整的例子: >>> a = np.zeros((2, 3, 4)) >>> a array([[[ 0., 0., 0., 0 ...
- python如何读取数据保存为新格式_Python Numpy中数据的常用保存与读取方法
在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...
- python numpy矩阵索引_python – Numpy中的矩阵索引
索引后查看形状: In [295]: A=np.matrix([1,2,3]) In [296]: A.shape Out[296]: (1, 3) In [297]: A[0] Out[297]: ...
- python数组求和_Python NumPy中的数组求和函数sum | 坐倚北风
在Python中可以使用NumPy中的sum函数来进行数值求和,sum方法的格式如下: numpy.sum(a, axis=None, dtype=None, out=None, keepdims=, ...
- python如何创建三维数组_python – numpy中的三维数组
你有一个截断的数组表示.让我们看一个完整的例子: >>> a = np.zeros((2, 3, 4)) >>> a array([[[ 0., 0., 0., 0 ...
- Python数据分析 1-5 NumPy中ufunc函数(一)主要介绍NumPy中常用的通用函数:基本数学函数、三角函数和反三角函数和统计类函数
1 引入NumPy #引入numpy import numpy as np np.__version__ '1.20.1' 2 基本数学函数 NumPy中基本数学函数有加法.减法.乘法.除法.乘方.开 ...
最新文章
- 连接池--在密码修改的影响
- 从菜鸟到老鸟--Mac篇 [五]
- 计算机网络——网络地址转换(NAT)
- 繁星屠龙软件下载_历时72小时,测试5个软件,写出的数理化教学软件推荐……(下)...
- Win10: tensorflow 学习笔记(3)
- boost::describe模块宏BOOST_DESCRIBE_PP_IS_EMPTY的测试程序
- C++插入排序(附完整源码)
- android 自定义MP4播放器
- javascript的数据检测总结
- 移动互联网初创型团队需要什么样的云计算服务?
- 高可用Hadoop平台-应用JAR部署
- 学习react的网站
- linux常用命令_linux常用命令
- 视频教程-【企业定制课】AI软件illustratorCC应用与平面印刷视频教程-UI
- FileZilla中文乱码解决方法
- BT.601和BT.656
- 12-Solidity8.0-view和pure区别
- Vue.js项目实战——Day(1)
- SQL注入:sqli-labs lesson-1 小白详解
- 诺基亚7原生android,诺基亚7.1喜提Android10系统更新
热门文章
- JAVA毕设项目售楼系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
- 数学计算机游戏49关,《数学趣味游戏》.pdf
- 安装mysql初始化失败原因_MySQL安装出错历险记 之 Framework初始化失败
- 基于creditcard数据集的经典模型性能比较
- 中班计算机计划总结怎么写,幼儿园电脑员年度工作总结
- Windows电脑申请iOS证书详细流程和工具
- 本地mysql新建用户名和密码错误_mysql创建用户和密码出现错误怎么办
- Learning Alteryx-PDF下载
- 计算机考试汉字国际码,计算机一级等级考试_汉字的编码
- 线性无关向量不一定正交