多少钱?实际问题


66

这不是家庭作业的问题,而是我们公司面临的实际问题。

最近(两天前),我们向经销商订购了10000个产品标签的制造。经销商是独立的人。他获得了从外部制造的标签,公司付款给经销商。每个标签对公司的成本为1美元。

昨天,经销商附带了标签,但标签捆绑在一起,每包100个标签。这样总共有100个数据包,每个数据包包含100个标签,因此总共有10000个标签。在向经销商支付10000美元之前,我们决定不计几包,以确保每个包中都准确地包含100个标签。当我们计算标签时,我们发现数据包不足100个标签(我们找到了97个标签)。为了确保这不是偶然的,而是有意进行的,我们再计算了5个数据包,并在每个数据包(包括第一个数据包)中找到了以下标签数:

Packet Number    Number of labels
1                97 
2                98  
3                96
4                100
5                95 
6                97  

无法计算每个小包,因此我们决定平均付款。因此,六个封包中的标签平均数量为97.166,因此总付款额为9716美元。

我只想知道统计学家必须如何处理这类问题
此外,我想知道我们应该支付多少钱才能获得95%的保证,即我们支付的总标签数量不超过实际数量。

附加信息:

P(任何大于100个标签的数据包)= 0
P(任何小于90个标签的数据包)= 0 =标签数小于90时很容易检测到小于90个标签,因为数据包的重量更小}


编辑: 经销商只是否认了这种渎职行为。我们发现这些经销商是在特定的佣金下工作的,他们从制造商那里得到公司的付款。当我们直接与制造商联系时,我们发现这既不是制造商也不是经销商的错。制造商说:“标签之所以短缺,是因为纸张的尺寸没有标准化,并且从单张纸上切下的任何数量都将它们捆成一包。”

此外,我们验证了附加信息中给出的第一个断言,因为制造商承认,由于纸张尺寸的小幅增加,因此无法裁切额外的标签,而且由于纸张尺寸的小幅缩小,因此无法裁切100个大小完全相同的标签。


7
+1(1)如何证明“其他信息”部分中的第一个断言?(2)您如何精确称量包装袋?
ub

15
300年前,英格兰和艾萨克·牛顿面临着同样的问题。(赌注更大一些,因为有问题的“标签”是铸造的硬币。)因此,您可以在stat.wisc.edu/sites/default/files/TR442_0.pdf上阅读斯蒂芬·斯蒂格勒对《 Pyx审判》的叙述
whuber

7
@Neeraj如果所有物品的重量都一致,为什么不只是权衡整个交付时间呢?
Sycorax

9
支付$ 9000并等待他们说“但我们卖给您600而不是1000”
Dean MacGregor 2016年

5
除了巨大的统计问题+1之外,我还想分享一下印刷行业多年来的直接建议:所有适当的专业打印机都具有这样的超限/不足政策,因为大多数打印机都无法提供准确的计数不使用“编号”(单个序列号)的任何内容。但是他们应该对自己给您的东西有一个很好的统计,如果做空的话,如果您的收益超过未成年人(比如说5%),您的折扣就可以。对已知欠载收取全价不是标准政策。
BrianH

Answers:


20

我会对以“反思时……”开头的段落的反馈意见感兴趣,因为该模型的特定部分一直使我无法入睡。

贝叶斯模型

修改后的问题使我认为无需使用仿真就可以显式开发模型。由于采样固有的随机性,模拟引入了更多的可变性。不过,心理学家的回答很好。

假设:每个信封的最小标签数是90,最大是100。

因此,标签的最小数量为9000 + 7 + 8 + 6 + 10 + 5 + 7 = 9043(由OP的数据提供),由于我们的下限,因此为9000,而其他标签则来自观察到的数据。

用信封的标签数表示。表示的标签数超过90,即,因此。该二项式分布模型的成功的总数(在此为成功是标签的在一个信封的存在下)在试验时的试验是独立的恒定成功概率所以取值我们取,它给出11种可能的结果。我假设由于工作表尺寸不规则,因此某些工作表仅容纳YiiXiX=Y90X{0,1,2,...,10}npX0,1,2,3,...,n.n=10X超过90的额外标签,并且每个超过90的标签的“额外空间”以概率独立发生。因此pXiBinomial(10,p).

(根据反思,独立性假设/二项式模型可能是一个奇怪的假设,因为它可以有效地将打印机纸张的组成固定为单峰,并且数据只能更改模式的位置,但模型永远不会承认例如,在另一种模式下,打印机可能的纸张尺寸分别为97、98、96、100和95:这可以满足所有规定的约束条件,数据也不排除这种可能性。将每种图纸尺寸视为自己的类别,然后将Dirichlet多项式模型拟合到数据可能更合适。我在这里不做此操作,因为数据非常稀缺,因此11个类别中每个类别的后验概率都会受到先验的强烈影响。另一方面,通过拟合更简单的模型,我们同样限制了我们可以做出的推断的种类。)

每个信封是一个iid实现。具有相同成功概率的二项式试验的总和也是二项式的,因此(这是一个定理-要验证,请使用MGF唯一性定理。)iXpiXiBinomial(60,p).

我更喜欢在贝叶斯模式下考虑这些问题,因为您可以对感兴趣的后验数量做出直接的概率陈述。未知二项式试验的典型先验条件是β分布,该分布非常灵活(0到1之间的变量可以在任一方向上对称或不对称,均匀或两个Dirac质量之一,具有反模或模。 (这是一个了不起的工具!)。在没有数据的情况下,假设概率均匀是合理的。就是说,人们可能希望看到一张纸可以容纳90个标签,而该标签通常包含91个标签,92个标签,...,多达100个标签。因此,我们的先验条件是pppBeta(1,1).如果您认为此Beta先验条件不合理,则可以用另一个Beta先验条件代替统一先验条件,并且数学难度甚至不会增加!

上后验分布是通过该模型的共轭性质。不过,这只是一个中间步骤,因为我们对关心不如对标签总数的关心。幸运的是,共轭特性还意味着薄片的后验预测分布为β-二项式,其参数为β后验。有试“试验”,即不确定其在交付中是否存在的标签,因此我们在其余标签上的后验模​​型为ppBeta(1+43,1+17)p940ZZBB(44,18,940).

在此处输入图片说明

因为我们在上有一个分布,并且每个标签都有一个价值模型(卖方同意每个标签一美元),所以我们也可以推断出批次价值的概率分布。将表示批次的总美元价值。我们知道,因为仅建模我们不确定的标签。因此,值的分布由给出。ZDD=9043+ZZD

考虑批量定价的合适方法是什么?

我们可以发现,在0.025和0.975(95%的间隔)处的分位数分别为553和769。因此D的95%间隔为。您的付款在该间隔内。(上的分布不完全对称,因此这不是中心95%的间隔-但是,不对称性可以忽略不计。无论如何,正如我在下面详细说明的那样,我不确定中心95%的间隔是否正确一个要考虑的!)[9596,9812]D

我不了解R中的beta二项式分布的分位数函数,因此我使用R的根查找编写了自己的函数。

qbetabinom.ab <- function(p, size, shape1, shape2){
    tmpFn <- function(x) pbetabinom.ab(x, size=size, shape1=shape1, shape2=shape2)-p
    q <- uniroot(f=tmpFn, interval=c(0,size))
    return(q$root)
}

考虑它的另一种方法就是考虑期望。如果您多次重复此过程,您平均要支付的费用是多少?我们可以直接计算的期望值。Beta二项式模型的期望值为,因此几乎是您所支付的。您在交易中的预期损失仅为6美元!总而言之,做得好!DE(D)=E(9043+Z)=E(Z)+9043.E(Z)=nαα+β=667.0968E(D)=9710.097,

但是我不确定这两个数字中哪一个最相关。毕竟,该供应商正试图欺骗您!如果我正在做这笔交易,我将不再担心收支平衡或公平价格,而开始计算出我多付的可能性!供应商显然试图欺骗我,所以我完全有权利尽量减少损失,而不必担心收支平衡点。在这种情况下,我提供的最高价格是9615美元,因为这是后验的5%,即我有95%的概率被少付D。卖方无法向我证明所有标签都在那里,所以我将套期保值。

(当然,卖方接受交易的事实告诉我们,他的实际损失是非负的……我没有想出一种方法来使用这些信息来帮助我们更准确地确定您被骗了多少,除非要注意那是因为他接受了要约,您充其量只能做到收支平衡。)

与引导程序的比较

我们只有6个观察值可以使用。引导程序的理由是渐近的,因此让我们考虑一下小样本的结果。该图显示了Boostrap模拟的密度。 在此处输入图片说明

“凹凸不平”模式是样本量较小的伪影。包含或排除任何一点将对均值产生戏剧性影响,从而产生这种“蓬松”的外观。贝叶斯方法使这些团块变得平滑,我认为这是对正在发生的事情的更可信的描述。垂直线是5%的分位数。


这是一个很好的答案。您通过惩罚风险提供了新的见解。谢谢
Neeraj

1
我很高兴发现您的预期损失仅为6美元。:-)再次感谢您提出了一个很好的问题。
Sycorax

1
当试验是独立的且成功概率为时,二项分布模拟了试验的成功次数,因此其取值为我们取,它给出11种可能的结果。我假设因为图纸尺寸不规则,所以某些图纸只能容纳超过90个附加标签的空间,并且每个标签的“附加空间”的发生概率为。np0,1,2,3,....,n.n=10Xp
Sycorax

1
泊松模型可以取值。因此,它为每个数据包分配标签分配了正概率。现在,在任何合理的Poisson模型下,对该数据有项的可能性很小,但是没有人使用Poisson模型,因为它不遵守约束。101 102 103 10 6 10 6 0 X 100,1,2,3,...101,102,103,...,1061060X10
Sycorax


20

编辑:悲剧!我最初的假设是错误的!(或者,至少有疑问-您是否相信卖方在告诉您的内容?不过,也要向Morten提示。)我想这是统计学的又一不错的介绍,但是现在下面添加了 “部分工作表方法” (因为人们似乎喜欢整张书,也许有人还会觉得它有用)。

首先,大问题。但我想使其更加复杂。

因此,在我开始之前,让我简化一下,然后说- 您现在使用的方法是完全合理的。价格便宜,很容易就很有意义。因此,如果您必须坚持下去,就不会感到难过。只要确保您随机选择捆绑包即可。而且,如果您可以可靠地权衡所有因素(向胡布和user777致谢),则应该这样做。

我想使其复杂一些的原因是,您已经拥有了-您只是没有告诉我们整个复杂性,那就是- 计数需要时间,时间也就是金钱。但是多少?也许实际上计算一切便宜!

因此,您真正要做的是平衡计算所需的时间与您节省的资金。(当然,如果您只玩一次此游戏。下一次您与卖方发生这种情况时,他们可能会抓住并尝试了新的技巧。在游戏理论上,这是Single Shot Games和Iterated之间的区别游戏。但现在,让我们假设卖方将始终做同样的事情。)

不过,在进行估算之前还有一件事。(而且,很抱歉写了这么多书,但仍然没有得到答案,但是,那对统计学家的工作是一个很好的答案。他们将花费大量的时间来确保他们理解问题的每个微小部分。然后他们就可以轻松地说出任何东西了。)这件事是基于以下几点的见解:

(编辑:如果他们确实在作弊...)您的卖家没有通过删除标签来节省金钱,而是通过不打印纸张来节省金钱。他们不能将您的标签卖给其他人(我想)。也许,我不知道,我也不知道你是否愿意,他们不能打印一半的东西,也不能打印其他人的东西。换句话说,在开始计数之前,您可以假定标签总数为9000, 9100, ... 9900, or 10,000。目前,这就是我要采取的方法。

整张纸法

当这样的问题有点棘手(离散且有界)时,许多统计学家会模拟可能发生的情况。这是我模拟的内容:

# The number of sheets they used
sheets <- sample(90:100, 1)
# The base counts for the stacks
stacks <- rep(90, 100)
# The remaining labels are distributed randomly over the stacks
for(i in 1:((sheets-90)*100)){
    bucket <- sample(which(stacks!=100),1)
    stacks[bucket] <- stacks[bucket] + 1
}

假设他们使用的是整张纸,并且假设正确,这将为您提供标签的可能分布(使用编程语言R)。

然后我这样做:

alpha = 0.05/2
for(i in 4:20){
    s <- replicate(1000, mean(sample(stacks, i)))
    print(round(quantile(s, probs=c(alpha, 1-alpha)), 3))
}

这使用“自举”方法找到使用4、5,...,20个样本的置信区间。换句话说,平均而言,如果您要使用N个样本,则您的置信区间将有多大?我用它来找到一个足够小的间隔来决定张数,这就是我的答案。

“足够小”是指我的95%置信区间中只有一个整数-例如,如果我的置信区间为[93.1,94.7],那么我将选择94作为正确的工作表数,因为我们知道这是一个整数。

但是还有一个困难- 你的信心取决于事实。如果您有90张纸,并且每堆都有90个标签,那么您会很快收敛。与100张相同。因此,我查看了不确定性最大的95张纸,发现要具有95%的确定性,平均需要大约15个样本。因此,总的来说,您想获取15个样本,因为您永远不知道真正的样本。

在您知道需要多少个样本之后,您将知道预期的节省:

100Nmissing15c

其中是计算一个堆栈的成本。如果您认为丢失0到10之间的每个数字的可能性均等,那么您的预期节省为 c $。但是,这就是建立方程式的重点-您也可以优化方程式,以换取您所需样本数量的信心。如果您对5个样本能给您信心十足,那么您也可以计算出您要在那里做多少。(您可以使用此代码来弄清楚。)500 - 15 *c50015

但是,您也应该让该人负责所有工作!

(编辑:添加!)分页方法

好的,所以让我们假设制造商的说法是正确的,并且不是故意的-每张纸上都会丢失一些标签。您仍然想知道,总体上大约有多少个标签?

这个问题有所不同,因为您不再有一个可以做出的明智决定-这对整张纸假设都是有利的。以前,只有11种可能的答案-现在有1100种,而确切知道有多少个标签的置信区间为95%,可能会比您想要的样本多得多。因此,让我们看看是否可以对此有所不同。

因为这实际上是您做出决定的依据,所以我们仍然缺少一些参数-您愿意在单笔交易中损失多少钱,以及计算一个堆栈需要花费多少钱。但是,让我用这些数字来设置您可以做什么。

再次模拟(尽管如果没有,则支持user777!),使用不同数量的样本时查看间隔的大小很有用。可以这样完成:

stacks <- 90 + round(10*runif(100))
q <- array(dim=c(17,2))
for(i in 4:20){
    s <- replicate(1000, mean(sample(stacks, i)))
    q[i-3,] <- quantile(s, probs=c(.025, .975))
}
plot(q[,1], ylim=c(90,100))
points(q[,2])

假设(这次)每个堆栈在90到100之间均具有统一的随机标签数,并为您提供:

置信区间的范围(按样本数)

当然,如果事情真的像是经过模拟的,则真正的平均值将是每个堆栈大约95个样本,这比真实情况要低-这实际上是贝叶斯方法的一个论据。但是,当您继续采样时,它可以使您对答案的确定性有一个很有用的感觉-现在,您可以明确地权衡采样成本和定价方面的任何交易。

我现在知道,我们都非常想知道这个消息。


6
+1这项分析直接且创造性地解决了这个问题:(好)统计学家如何看待这个问题?专注于工作表数量是一个宝贵的见解。
whuber

1
成本效益方法是一个好主意。我已经说过,专门用于解决此问题的集体人力*小时已经超过了Neeraj使用的n = 6样本所节省的284美元。:)
RobertF '16

1
好答案。按照您当前的编码方式,当打印机拿起一整堆纸时,他只是将多余的标签掉在了地上,这也许是合理的。但是,如果要9000,9100...10000在末尾添加标签总数,则可以将if逻辑替换为 bucket <- sample(which(stacks!=100),1),然后始终增加堆栈。
亚当C

1
啊,只是发现自己!谢谢你的收获。绝对是一个错误。
one_observation

1
您如何计算置信区间?使用引导程序?
罗伯特

3

这是一个相当有限的示例。(代码段在R中)

> sample <- c(97,98,96,100,95,97)

对于总人口中的预期数量和价格的95%置信度值的初步猜测,我们可以从均值和5%分位数开始

> 100*mean(sample)
[1] 9716.667
> 100*quantile(sample,0.05)
  5% 
9525 

要走得更远,我们将必须创建一个理论模型并做出其他假设。有几种不确定性在起作用-(1)数据包填充模型的功能形式的不确定性;(2)模型参数估计的不确定性;以及(3)采样误差。

pn=100p

> n <- 100
> (p<-1-mean(sample)/100)
[1] 0.02833333

n100np10

> (lambda <- n*p)
[1] 2.833333

λ=lambda

> var(sample)
[1] 2.966667

λr=100*lambda

> 100*100-100*lambda
[1] 9716.667
> 100*100-qpois(0.95,100*lambda)
[1] 9689

ppαβαβα=1β=0

α=1+583β=0+17

αβαβ

现在,假设每个数据包都是独立填充的,我们可以将整个数据包框视为10000个独立事件,而不是100个子事件中的100个事件。因此,平均值为9717.138,标准差为69.57153。使用分布函数,您可以计算出95%的置信度约为9593。在此过程中,我已使用R包VGAM作为其*betabinom.ab功能。

因此,估计参数的不确定性将95%的置信价格降低了近100,而我们最终接近了最初的简单近似值。

无论采用哪种方法或模型,都可以使用其他数据来验证模型,也就是说,在理论模型下,或者是否需要进行调整或建立新模型,可以看到其他数据是合理的。建模过程类似于科学方法。


2

紧要关头,我的第一个倾向是在截断的正态分布(介于90和100个标签的上下限之间)上为样本均值计算95%的置信区间。

使用R包,truncnorm可以在给定指定的样本均值,样本标准差,下限和上限的情况下,找到截断正态分布的置信区间。

由于您要从相对较小的总体(N = 100)中获取n = 5的样本,因此您可能希望将样本标准差乘以有限的总体因子= [(Nn)/(N-1)] ^。 5 = 0.98。


5
我不知道假设计数是离散的并且只能采用少量可能的值,那么假定正态截断的法则所带来的其他复杂性是否值得还是什至有效?
whuber

@whuber-正确,但是置信区间在样本均值的分布范围内,这是一个连续的数量。除了使用95%的置信区间,也许是一个更好的选择是找到离散量之间的分布下的面积,说93和99
RobertF

不过,您不需要截断的Normal即可处理样本均值。它看起来像是不必要的并发症。
whuber

1
CLT并未断言任何事物都会遵循截断的正态分布。引导程序可能会出现问题,因为引导程序的有效性取决于渐近结果。
ub

1
由于平均值的标准偏差迅速变得比范围小得多,因此截断实际上是无关紧要的。我们正在谈论一种实用的解决方案,该解决方案不会因不必要的可能分散注意力的细节而变得过于复杂。
ub

2

一种快速而简单的方法是考虑大小为6的所有可能的重采样。只有15,625个排列。查看这些并取每种情况的平均值,然后对平均值进行排序并提取5%的分位数,得出的值为96。

因此,您应该愿意支付的估计费用约为9600。这与一些更复杂的方法完全吻合。

这里的一个改进是模拟大量大小为6的样本,并使用相同的过程找到样本均值的第5个百分位数。使用略多于一百万的重采样,我发现第5个百分位数为96.1667,因此,与最近的美元相比,付款金额为9617美元,与user777的9615结果仅相差2美元。


1
您能解释一下为什么这是应该支付多少钱的合适答案吗?例如,为什么不使用样本的平均值呢?
ub

如果您想使付款与您认为的标签数量一致,则可以使用样本均值。但是,发问者要求95%的保证,即他支付的标签价格不会超出制造的价格。因此,我们了解了大小为6的样本的样本均值的分布,并使用了第5个百分位数。
soakley '16

1
最好在您的答案中包含该解释。您可能还会考虑解释为什么您认为此重采样过程实际上会产生有效或可靠的置信度限制。尽管它可以对许多大型数据集执行此操作,但应该考虑是否可以对如此小的数据集以相同的方式使用它。
ub

0

似乎您已经得出结论,该错误是有意为之,但是统计学家不会得出这样的结论(即使证据似乎支持这一结论)。

可以将其设置为假设检验:

H0:经销商很诚实,但马虎

H1:经销商是欺诈性的,短缺是故意的。

假设H0,则每个偏差都是均值为0且正或负机会均等的随机事件。让我们进一步假设偏差是正态分布的。基于6个数据点的偏差的正态分布的标准偏差为sd = 1.722

如果统计学家不太记得他的理论,但是附近有R(这是不太可能的情况),那么他/她可以编写以下代码来检查如果H0为零,则不接收正偏差(不大于100的组合)的可能性。真正。

numpackages=c(97,98,96,100,95,97)
error<-100-numpackages
errorStdev<-sd(error)
numSimulations<-1000000
max100orLes<-0
for(p in 1:numSimulations)
{
  simulatedError<-rnorm(6,mean=0,sd=errorStdev)

  packageDeviations<-round(simulatedError)

  maxValue<-max(packageDeviations)
  if(maxValue<=0)
  {
    max100orLes<-max100orLes+1
  }   
}
probH0<-100*max100orLes/numSimulations
cat("The probability the H0 is correct is:",probH0,"%")

仿真结果为:

The probability the H0 is correct is: 5.3471 %

经销商诚实的概率仅为5.35%,因此您很有可能成为欺诈行为的受害者。

由于您说这不是家庭作业的问题,而是公司的实际情况,因此,这不再是计算正确的预期数量标签的练习,而是一个如何处理不诚实供应商的棘手案例。

您从这里所做的事情,真的不能仅凭统计数据来回答。这在很大程度上取决于您的杠杆作用以及与经销商的关系。

祝你好运!

莫滕·布尼斯·古斯塔夫森


1
17/61.72/60.7017/6/0.704.01000.00003

失败总是一个选择,所以我可能犯了一个错误...但是我的计算却记录在我提供的R代码中,因此不应有任何理由怀疑我如何得到结果。是的,在我的情况下,H0假设是庄家诚实,然后偏差将是随机波动,平均值为100。在我的计算中,Stdev只是该系列的Stdev(-3,-2,-4, 0,-5,-3),即每个包装与100的偏差。
Morten Bunes Gustavsen

我真的只是使用此法向偏差,绘制了6个样本,并检查它们是否均不大于0。我运行了1000,000次模拟,并感到困惑了多少次我很不幸没有超过0的样本。事实证明是这种情况的5.35%。我选择此角度的原因是,该问题明确指出这是真实情况(即不是学术活动),并且他/她想知道统计学家在这种情况下会做什么。
Morten Bunes Gustavsen

3
该问题还指出,一个包中没有机会计数超过100个标签。无论如何,您所做的是对看起来像数据的数字进行广泛的模拟-但是,与问题(“我们应该支付多少”)有什么关系(如果有的话)是模糊的。
whuber

-2

诸如多项式模型之类的东西怎么样。

每个结果的概率估计为1 / 6、1 / 6,....(基于6个观察结果),因此E(x)= 97.16和Var(x)= sum(95 ^ 2 * 1/6 + ...)-E(x)^ 2 = 2.47,因此95%CI为[94,100]


3
这似乎根本不是多项式:您的CI似乎是一个使用未校正的方差公式的正常理论区间。此外,它如何回答有关支付多少的问题?
whuber

多项式适用于结果,即95、96、97 ... 100,是的,CI为正态理论,因为xe(x)/ sd〜N。要支付的金额与期望的相同,因此为97.16 * 100
Xing

4
您是否注意到根本不使用多项式假设?正如WS Gosset在1908年所观察到的那样,您的CI太短。但是,如果您仅基于样本均值来提出建议,为什么还要计算CI?
whuber
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.