标签: standard-deviation

如何使用boost库获得SAMPLE标准偏差?

这是我所做的:

accumulator_set<double, stats<tag::variance> > accumulator;
accumulator = for_each(x.begin(), x.end(), accumulator);
double sDeviation = sqrt(variance(accumulator));
Run Code Online (Sandbox Code Playgroud)

但返回的标准差是总体标准差。我需要样本标准偏差(除以 n-1)。

Boost 能做到吗?

boost sample standard-deviation

4
推荐指数
1
解决办法
845
查看次数

双端队列上的 Python 标准差

我正在使用 Python 双端队列数据类型计算简单移动平均值,我想知道是否有办法让它将其视为某种数组并找到双端队列的标准偏差?

python deque moving-average standard-deviation

4
推荐指数
1
解决办法
4866
查看次数

快速整数标准偏差?

年龄前我有一个非常快速的仅整数标准偏差函数(在C中),它将返回"合理"准确的值,不使用除法或乘法,只需移位和加法.我已经失去了那些代码,谷歌一直无法帮助我找到类似的东西,而且我的离散数学技能有点太生疏了,无法重新推导出来.

在我的具体情况下,我有一个14位ADC值列表,我希望能够在没有浮点硬件的8位处理器上快速计算出"足够接近"的标准偏差.

这对任何人都响了吗?

c math integer standard-deviation

4
推荐指数
1
解决办法
2391
查看次数

如何计算R中一列下的数据子集的标准偏差

我想计算从第一个观察到最后一个观察的一列中每4个值的标准偏差.我已经找到了许多移动SD功能的答案,但我只需要一行代码来计算sd()每4个数据值,并将答案写入数据框中的新列,如下所示:

示例数据:

Obs Count
1   56
2   29
3   66
4   62
5   49
6   12
7   65
8   81
9   73
10  66
11  71
12  59
Run Code Online (Sandbox Code Playgroud)

期望的输出:

Obs Count SD
1   56    16.68
2   29    16.68
3   66    16.68
4   62    16.68
5   49    29.55
6   12    29.55
7   65    29.55
8   81    29.55
9   73    6.24
10  66    6.24
11  71    6.24
12  59    6.24
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但这显然是不正确的:

a <- for(i in 1: length(df)) sd(df$Count[i:(i+3)])
Run Code Online (Sandbox Code Playgroud)

这应该是一项非常简单的任务,但我无法找到答案.我还在学习,任何帮助将不胜感激.

r standard-deviation

4
推荐指数
1
解决办法
1657
查看次数

mean(rnorm(100,mean = 0,sd = 1))不为0; 和sd(rnorm(100,mean = 0,sd = 1))不是1.为什么?

(添加了可重复的示例.)我对rnorm函数有点困惑.我预计mean(rnorm(100,mean=0,sd=1))会是0; 并且sd(rnorm(100,mean=0,sd=1))是1.但是给出了不同的结果.我哪里错了?

可重复的例子:

mean(rnorm(100,mean=0,sd=1))
# [1] 0.07872548
sd(rnorm(100,mean=0,sd=1))
# [1] 1.079348
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

r mean standard-deviation

4
推荐指数
1
解决办法
3742
查看次数

如何计算一个数字与平均值的标准差有多少?

我有一个大小为 (61964, 25) 的矩阵。这是一个示例:

array([[  1.,   0.,   0.,   4.,   0.,   1.,   0.,   0.,   0.,   0.,   3.,
          0.,   2.,   1.,   0.,   0.,   3.,   0.,   3.,   0.,  14.,   0.,
          2.,   0.,   4.],
       [  0.,   0.,   0.,   1.,   2.,   0.,   0.,   0.,   0.,   0.,   1.,
          0.,   2.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   5.,   0.,
          0.,   0.,   1.]])
Run Code Online (Sandbox Code Playgroud)

Scikit-learn 提供了一个有用的函数,前提是我们的数据呈正态分布:

from sklearn import preprocessing

X_2 = preprocessing.scale(X[:, :3])
Run Code Online (Sandbox Code Playgroud)

然而,我的问题是我必须按行进行工作 - 这不仅仅包含 25 个观察值 - 因此正态分布在这里不适用。解决方案是使用 t 分布,但如何在 Python 中做到这一点?

通常,值从 0 到 …

python arrays numpy standard-deviation scikit-learn

4
推荐指数
1
解决办法
4745
查看次数

覆盖内置功能 - 标准偏差

我想有标准偏差的std.m文件.它在数据有趣的工具箱中,但是,错误地,我更改了代码,std命令不再起作用.如何运行原始std(标准偏差)命令?

matlab standard-deviation

4
推荐指数
1
解决办法
134
查看次数

标准差的等效平均值是多少?

我在这里询问并已经得到了关于averageifs excel函数 的答案。但是,我也想知道是否可以在新列中获得相同数据集的标准差。 这是示例数据的屏幕截图:

excel excel-formula standard-deviation

4
推荐指数
1
解决办法
9459
查看次数

对数正态分布的均值和标准偏差与分析值不匹配

作为我研究的一部分,我从对数正态分布中测量绘制的均值和标准差.给定基础正态分布的值,应该可以分析预测这些量(如https://en.wikipedia.org/wiki/Log-normal_distribution所示).

但是,如下图所示,情况似乎并非如此.第一个图显示对数正态数据相对于高斯西格玛的平均值,而第二个图显示对数正态数据的西格玛与高斯的西格玛.显然,"计算"线非常显着地偏离"分析"线.

我将高斯分布的均值与sigma相关联,mu = -0.5*sigma**2因为这确保了对数正态场应该具有1的均值.注意,这是由我工作的物理领域的动机:与分析值的偏差仍然如果设置mu=0.0为例,则会发生.

通过复制和粘贴问题底部的代码,应该可以重现下面的图表.任何关于可能导致这种情况的建议都将不胜感激!

高斯对数正态与西格玛的平均值: 对数正态与高斯西格玛的平均值

对数正态西格玛与高斯西格玛: 对数正态的西格玛与高斯的西格玛

注意,为了生成上面的图,我使用了N=10000,但是N=1000为了速度已经输入了下面的代码.

import numpy as np
import matplotlib.pyplot as plt

mean_calc = []
sigma_calc = []
mean_analytic = []
sigma_analytic = []
ss = np.linspace(1.0,10.0,46)
N = 1000

for s in ss:
  mu = -0.5*s*s
  ln = np.random.lognormal(mean=mu, sigma=s, size=(N,N))
  mean_calc += [np.average(ln)]
  sigma_calc += [np.std(ln)]
  mean_analytic += [np.exp(mu+0.5*s*s)]
  sigma_analytic += [np.sqrt((np.exp(s**2)-1)*(np.exp(2*mu + s*s)))]

plt.loglog(ss,mean_calc,label='calculated')
plt.loglog(ss,mean_analytic,label='analytic')
plt.legend();plt.grid()
plt.xlabel(r'$\sigma_G$')
plt.ylabel(r'$\mu_{LN}$')
plt.show()

plt.loglog(ss,sigma_calc,label='calculated') …
Run Code Online (Sandbox Code Playgroud)

python floating-point numpy mean standard-deviation

4
推荐指数
1
解决办法
561
查看次数

如何计算圆形数据的标准偏差

我已按照此处列出的建议计算循环数据的平均值:

https://en.wikipedia.org/wiki/Mean_of_circular_quantities

但我也想计算标准偏差。

#A vector of directional data (separated by 20 degrees each)
Dir2<-c(350,20,40)

#Degrees to Radians
D2R<-0.0174532925

#Radians to Degrees
Rad2<-Dir2 * D2R


Sin2<-sin(Rad2)
SinAvg<-mean(Sin2)

Cos2<-cos(Rad2)
CosAvg<-mean(Cos2)

RADAVG<-atan2(SinAvg, CosAvg)
DirAvg<-RADAVG * R2D
Run Code Online (Sandbox Code Playgroud)

以上给了我平均值,但我不知道如何计算 SD

我试图只取正弦和余弦的标准偏差的平均值,但我得到了不同的答案。

SinSD<-sd(Sin2)
CosSD<-sd(Cos2)
mean(CosSD, SinSD)
Run Code Online (Sandbox Code Playgroud)

r mean variance standard-deviation

4
推荐指数
1
解决办法
1287
查看次数