Eu estaria interessado em calcular intervalos de confiança de dados. Por exemplo, usando R:
data = c(1,0,2,1,2,0,1,0)
confidence_interv = (sd(data)/sqrt(8))*qnorm(.95)
Onde 8 é o comprimento da matriz de dados. Eu gostaria de fazer o mesmo com o Mathematica, talvez usando uma maneira mais rápida. E é possível traçar os dados e o intervalo de confiança em torno dos dados individuais? obrigado
Respostas:
1 para resposta № 1data = {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]
Veja também Mostrando a correlação de duas variáveis usando um gráfico
2 para resposta № 2
Uma interpretação pouco diferente da questão.
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}}]}]
Aliás você pode obter o intervalo assim: (sem carregar o HypothesisTesting
pacote)
InverseCDF[
NormalDistribution[Mean[data], StandardDeviation[data]],
(1 + # {-1, 1})/2 &@.99 ]
{-1,55307, 3,58071}