Survival regression variance estimates I would like help understanding why a survival regression with no censored
data-points does not give the same variance estimates as a linear model
(see code below).
I think it must be something to do with the fact that the variance is an
actual parameter in the survival version via the log(scale), and possibly
that different assumptions are made about the distribution of the variance.
But I really don't know, I'm just guessing.
The reason I ask is because I am moving a process, that has always been
modelled using a linear model, to a survival model (because there are
sometimes a few censored data points). In the past, the censored data
points have been treated as missing which imparts bias. The variance of the
estimates in this process is key, so I need to know why they are changing
in this systematic way?!
library(survival)

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
ctl.surv <- Surv(ctl)

trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)

lmod <- lm     (ctl      ~ trt                )
smod <- survreg(ctl.surv ~ trt,dist="gaussian")

coef(lmod)
coef(smod) # same

vcov(lmod)
vcov(smod) # smod is smaller

diag(vcov(lmod))     /
diag(vcov(smod))[1:2]  # 1.25 == 0.5*(n/(n-1))

( summary(lmod)$coef [   ,"Std. Error"] /
      summary(smod)$table[1:2,"Std. Error"]   )^2    # 1.25 = 0.5*(n/(n-1))

 A: The difference between the two models is essentially due to maximum likelihood estimates of $\sigma$ (survreg) vs. unbiased estimates (lm). 
In particular, lm uses the unbiased estimator $\hat s = \frac{\hat \sigma \sqrt n}{\sqrt{(n-k)}}$, where $\hat \sigma$ is the MLE and $k$ is the number of mean parameters estimated. 
On the other hand, survreg uses the MLE estimate of $\sigma$. As far as I know, there is little choice in this matter; I'm not aware of an unbiased estimator for $\sigma$ in the case on censored data. 
A: The lm-function would estimate the line where trt was the x-predictor and ctl was the y-outcome:

png(); plot(trt ~ ctl)
  abline(lmod <- lm     (ctl      ~ trt                ), col='red')
  dev.off()


The survreg-function would order the times in Surv() and use the number of "surviving" cases as a denominator to estimate hazard rates as a function of trt values (which would appear to make very little sense.). I cannot understand why you think these should deliver similar results.
