我有兴趣计算数据的置信区间。例如,使用R:
data = c(1,0,2,1,2,0,1,0)
confidence_interv = (sd(data)/sqrt(8))*qnorm(.95)其中8是数据数组的长度。我也想对Mathematica做同样的事情,也许用一种更快的方法。那么,是否有可能在单个数据周围绘制数据和置信区间呢?谢谢
发布于 2014-03-12 00:04:18
data = {1, 0, 2, 1, 2, 0, 1, 0};
lm = LinearModelFit[data, {1, x}, x];
lm["SinglePredictionConfidenceIntervalTable", ConfidenceLevel -> 0.95]

Show[ListPlot[data],
Plot[{lm[x],
lm["SinglePredictionBands", ConfidenceLevel -> 0.95]}, {x, 0, 9},
Filling -> {2 -> {1}}], PlotRange -> {Automatic, {-4, 6}},
Frame -> True, ImageSize -> 300]

发布于 2014-03-12 16:21:01
对这个问题的解释有点不同。
Needs["HypothesisTesting`"]
data = Table[RandomVariate[NormalDistribution[1, 1]], {2000}];
ci = NormalCI[ Mean[data] , StandardDeviation[data],
ConfidenceLevel -> .99]{-1.55307,3.58071}
Histogram[data,
Epilog -> {Text[Style["99% confidence range", FontSize -> 20], {1, 100}],
Red,Line[{{#, 0}, {#, 100}}] & /@ ci ,
Arrowheads[{-.05, .05}], Arrow[{{ci[[1]], 70}, {ci[[2]], 70}}]}]

顺便说一句,您也可以得到这样的间隔:(w/o加载HypothesisTesting包)
InverseCDF[
NormalDistribution[Mean[data], StandardDeviation[data]],
(1 + # {-1, 1})/2 &@.99 ]{-1.55307,3.58071}
https://stackoverflow.com/questions/22320609
复制相似问题