【问题标题】:Calculate standard deviation using R [closed]使用 R 计算标准偏差
【发布时间】:2020-09-17 01:50:08
【问题描述】:

使用 R 脚本解决以下问题: 一位过程控制专家表示,他有 95% 的信心认为,新的生产过程每单位将节省 26 至 38 美元,更有可能节省 32 美元左右。
如果您要使用正态分布(通过应用经验规则)来模拟该专家的意见,您会为正态分布使用什么标准差? (将您的答案四舍五入到小数点后一位。

【问题讨论】:

  • 这是家庭作业吗?你试过了吗?
  • 在 mu(平均值)的 +/- 1 sigma(标准差)内包含多少正态分布?也就是说,mu - sigma 和mu + sigma 之间有多少数据?与平均值的两个标准差之间有多少 (%)? (如果这是一门统计课程,那么我相信您拥有正态分布图,可能有 1、2 甚至 3 个偏差表示区域内。)

标签: r standard-deviation


【解决方案1】:

看来写这个问题的人很困惑,不知道他们是在问样本平均置信区间问题“95% 置信度”还是简单的总体正态分布问题。

让我们尝试合理化我们如何能或不能解决这个问题,我们会发现这个问题的措辞存在一些问题:

他说他有 95% 的信心... [暂时忽略其他所有内容并假设这是均值问题的置信区间...我们将了解为什么这是错误的] ...首先让我们计算正态分布表上的 z 分数对应于 0.95% 的累积概率。你说你想在 R 中做这个,所以使用 qnorm()

> qnorm(.95)

[1] 1.644854

现在我们知道节省的钱介于:26 美元到 38 美元之间。如果他的 95% 置信度表明这是一个样本均值,我们现在知道 26 美元比样本均值低 1.644854 个标准误,而我们现在知道的 38 美元比他们的样本均值的估计均值高出 1.644854 个标准误……(如果这是一个信心区间问题)。他们的样本均值大概是 32 美元。

假设我们尝试解决 st dev。标准错误是:

StDev / sqrt(样本大小) 置信区间为:。

下限:32 - 1.644854 * StDev / sqrt(样本大小);

上限:32 + 1.644854 * StDev / sqrt(sample size) # 我们将在下面使用它

我们可以尝试通过将上界公式放在 = 符号的左侧并将作为上界的 38 放在右侧来尝试以代数方式求解 StDev:

32 + (1.644854 * StDev / sqrt(sample size)) = $38 ... 现在求解 StDev

StDev = (sqrt(sample size)* (38-32))/1.644854) ...如果我没有在半夜没有纸的情况下搞砸我的心理代数...

这里有一个问题,这个修辞练习是要指出的:我们仍然有 2 个变量。您发布的问题根本没有告诉我们足够的信息来解决这个问题,假设这是来自样本的置信区间。如果这是他们打算这样做的地方,我们有点不走运。

看起来 95% 置信度条款(并且没有提及样本均值)是为了让你失望,但实际上,它只是让问你这个问题的人似乎对什么问题感到困惑他们在问你。

如果您重新构建问题并假设 1. 95% 置信度子句是垃圾信息 2. 我们谈论的是给定观察值等于或低于给定值的个体概率,而不是我们有 95% 置信度平均观察结果,以及 3. 写问题的人不理解短语 95% 自信的正确用法,或者在他们写问题时已经筋疲力尽......或者你错误地抄写了问题......那么问题应该be 的措辞是这样的:“我们知道,在所有情况下,95% 的客户节省不超过 38 美元,而 5% 的客户节省了 26 美元或更少。”在这种情况下,我们可以完全放弃标准误差项,然后我们只需要担心总体的标准差和均值:

人口平均数为 32

平均值 + 1.644854 标准差为 38(95% 的客户节省的金额不超过此)

38 - 32 = 6(这等于 1.644854 StDev):代数写成:

6 = 1.644854 * 标准差

两边除以 1.644854:

6/1.644854 = 标准差

标准差 = 3.64774

让我们验证一下我们做对了:

> qnorm(.95,mean=32,sd=3.64774) # Verify in R that the stdev we calculated is correct: .95 cumulative probability, mean is 32 and we assert that the StDev is 3.64774. We got:

[1] 38

38 美元或更少是 95% 的人会得到的。这似乎是正确的。

> qnorm(.05,mean=32,sd=3.64774)

[1] 26

26 或更少是 5% 的客户节省最少的钱。这似乎也对。

总结:

  1. 您发布的问题没有任何意义。它要么不完整,要么抄写错误,要么写的人似乎有点困惑。
  2. 如果您忽略 95% 置信度条款并重新构建问题以进行猜测以弥补其模棱两可的程度,那么答案是:标准差为 3.6。

【讨论】:

  • 谢谢大卫。这是一个简单的正态分布问题
【解决方案2】:

根据正态分布的经验法则:

68% 的数据在一个标准差内,95%% 在两个标准差内,99.7% 在三个标准差内。

正如数据所说的 95% 置信度,数据将在 2 个标准差范围内。

所以,min_value:26=mean-2standard_deviation 或者,最大值:38=mean+2standard_deviation

给定,mean=32,求解以上两个方程之一,standard_deviation=3.0

【讨论】:

    【解决方案3】:

    我将此代码用于下限 =2 和上限 =3,它可以正常工作,对于较低的限制值但它不适用于更大的数字,除非我将 0.5 添加到 sd

    > f <- function(lwr, upr){
    >   c("mean"= (upr+lwr)/2, 
    >     "stddev" =  (upr-lwr)/4, 
    >      "sdRound" =round((upr-lwr)/4,1)) } 
    > f(2,3)
    

    有了这个,我得到的答案是:

    mean stddev sdRound
    2.50 0.25 0.20
    

    我不能使用 R 中的四舍五入值。正确答案是 0.3,因为四舍五入时的 0.25 是 0.3。 当我在下面插入这个 sd=0.3 时,我得到了正确的上限(以及下限)

    > upperlimit = round(qnorm(0.95, mean=2.5, sd=0.3),0) 
    > lowerlimit = round(qnorm(0.05, mean=2.5, sd=0.3)) 
    

    上限=3 下限=2

    这也适用于 f(6,9)

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多