2013-02-15 174 views
0

我有散点图的数据(xy值)。我想计算加权平均值和标准差作为X的函数。对于我的每一个点,我都希望计算每个值与预测值之间的标准偏差数。我目前使用msir包中的loess.sd函数,因为它会为我计算sd。有谁知道我怎么能得到每个数据点的预测SD?或者可能有其他更好的方法来解决这个计算问题?提前致谢。用黄土预测值和标准差

我当前的代码:

#... scatter plot of data 
plot(xy,ylim=c(0,50),pch=20) 
#loess +- 1 sd 
std_loess = loess.sd(xy, nsigma =1,span=0.3) 
# ... add weighted average to plot 
lines(std_loess$x,std_loess$y,col="firebrick2") 
# .... add weighted sd to plot 
lines(std_loess$x,std_loess$y,col="firebrick2") 
#.... get observed data points 
lines(std_loess$x,std_loess$upper,col="dodgerblue2") 
# ... get expected value for each data point 
obs = xy[,2] 
# ... get predicted sd for each data point 
expected = predict(std_loess$model,data.frame(xy)) 
# ...get predicted sd for each data point 

exp_sd = ?????????????????? 

# ...get predicted sd for each data point 
sd_away = (obs - expected)/exp_sd 

回答

0

可能(但未经检验中不存在的数据):

exp.fit = expected$fit 
# ...get predicted sd for each data point 
sd_away = (obs - exp.fit)/expected$se 

predict.loess的结果是不是矢量但具有多个组件和一个列表预测值处于“适合”部分。