我有一个时间序列(称为sigma.year),长度为100.它的直方图和qqplot显示了正常性的强有力证据。
我正在计算样本平均值的置信区间(R),如下所示:
exp.sigma<-mean(sigma.year)
sd.sigma<-sd(sigma.year)
se.sigma=sd.sigma/sqrt(length(sigma.year))
me.sigma=qt(.995,df=length(sigma.year)-1)*se.sigma
low.sigma=exp.sigma-me.sigma
up.sigma=exp.sigma+me.sigma
我的问题是83/100观察值超出置信区间。你知道我为什么这么做吗?这是因为我有时间序列而不是截面数据吗?或者,我是否以错误的方式计算conf间隔?
感谢。
答案 0 :(得分:3)
如果不知道所有输入(例如,sigma.year的输入),很难完全评估,但您的置信区间似乎是均值的置信区间。因此,对于平均值,83/100观察值超出99%置信区间并不出乎意料。
澄清。如果sd.sigma
是样本的标准偏差,那么您已正确计算了平均值的99%置信区间。
同样,您的数据的行为正如您对从具有正态分布的人群中抽取的100个观察样本所期望的那样。这里有一些代码来检查:
x <- rnorm(100)
exp.x <- mean(x)
se.x <- sd(x)/sqrt(length(x))
q.x <- qt(0.995, df = length(x)-1)
interval <- c(exp.x - se.x*q.x, exp.x + se.x*q.x)
sum(x > interval[1] & x < interval[2])
# will vary, because I didn't set the seed on purpose, but try this
# you'll get a value around 20