R 如何计算德明回归估计的标准误差?

R 如何计算德明回归估计的标准误差?,r,statistics,regression,standard-error,R,Statistics,Regression,Standard Error,我使用带有mcreg包的deming回归计算回归参数: dem.reg <- mcreg(x, y, method.reg="Deming") printSummary(dem.reg) dem.reg根据mcr包装说明,标准错误似乎无法直接获得。因此,在这种情况下,您必须按照所描述的原则重新计算和重写特定函数 如果我们以mcreg功能描述中的示例为例,我们有: # requirements library("mcr") data(creatinine,package="mcr") x

我使用带有
mcreg
包的deming回归计算回归参数:

dem.reg <- mcreg(x, y, method.reg="Deming")
printSummary(dem.reg)

dem.reg根据
mcr
包装说明,标准错误似乎无法直接获得。因此,在这种情况下,您必须按照所描述的原则重新计算和重写特定函数

如果我们以
mcreg
功能描述中的示例为例,我们有:

# requirements
library("mcr")
data(creatinine,package="mcr")
x <- creatinine$serum.crea
y <- creatinine$plasma.crea

# Deming regression fit.
# The confidence intercals for regression coefficients
# are calculated with analytical method
model1<- mcreg(x,y,error.ratio=1,method.reg="Deming", method.ci="analytical",
               mref.name = "serum.crea", mtest.name = "plasma.crea", na.rm=TRUE)

# Results
printSummary(model1)
getCoefficients(model1)
plot(model1)

因此,你有你的截距和斜率,如图中所示,你只需要对
标准进行编码。例如,错误
计算如下:

f.reg <- function(x){
  y <- x * 1.05453934 - 0.05891341 
  return(y)
}
y.hat <- f.reg(x)
n.items <- length(y.hat)
# please note that y has 'NA' values so you have to filter them 
standard.error <- sqrt(sum((y[ !is.na(y)]-y.hat[ !is.na(y)])^2)/n.items)
# > standard.error
# [1] 0.1566329

f.reg我建议使用deming软件包。见:请为您的公式提供参考。这看起来有点像OLS回归的残差标准误差(尽管你可以除以自由度得到一个无偏估计)。@Roland:我已经在文章的开头提供了指向维基百科定义的链接。事实上,通常使用的是未修正样本标准误差公式。我在Wolfram关于这个主题的文章中添加了一个链接:OK,IMO,这对于OLS是不正确的(见等式2.23),对于Deming回归肯定是不正确的。更重要的是,这不是“估计的标准误差”(尽管不清楚OP在这里指的是哪个估计)。@Roland:谢谢你的文档,我同意你的说法,我回答得太快了。根据您的意见(以及我的信息),使用Deming回归的合适方法是什么?我认为您应该使用bootstrap或jackknife方法使用Deming回归。
f.reg <- function(x){
  y <- x * 1.05453934 - 0.05891341 
  return(y)
}
y.hat <- f.reg(x)
n.items <- length(y.hat)
# please note that y has 'NA' values so you have to filter them 
standard.error <- sqrt(sum((y[ !is.na(y)]-y.hat[ !is.na(y)])^2)/n.items)
# > standard.error
# [1] 0.1566329