[SciPy-User] calculate predicted values from regression + confidence intervall

Johannes Radinger jradinger at gmx.at
Mon Oct 17 15:29:47 EDT 2011


Hello again,

it is not a problem to get the covariance matrix of the parameter
estimates (with the vcov() function of R) and of course I can use
that also for the calculations...

The covariance matrix is:
             (Intercept)            L            uT  stream.order
(Intercept)   1.33059472 -0.246834193 -0.0307302435  0.0267554775
L            -0.24683419  0.054481286  0.0014007745 -0.0105982957
uT           -0.03073024  0.001400774  0.0053472652 -0.0007137384
stream.order  0.02675548 -0.010598296 -0.0007137384  0.0091419997

I probably just have to save that in the form of a python matrix (Just have
to look up how to do that).

But how can I know proceed?

I found following description of prediction intervals (Thats the thing
I want :) here: http://statmaster.sdu.dk/courses/st111/module05/module.pdf (page 11).
But can that be realised in python using the covariance matrix resp. the
other estimates and std. errors of my regression parameters?

/Johannes


Am 17.10.2011 um 19:00 schrieb scipy-user-request at scipy.org:

>> The R Coefficients are as follows:
>> ? ? ? ? ? ? Estimate Std. Error t value Pr(>|t|)
>> (Intercept) ?-9.00068 ? ?1.15351 ?-7.803 8.26e-12 ***
>> Variable X1 ?1.87119 ? ?0.23341 ? 8.017 ?2.95e-12 ***
>> Variable X2 ?0.39193 ? ?0.07312 ? 5.360 ?5.92e-07 ***
>> Variable X3 ?0.27870 ? ?0.09561 ? 2.915 ?0.00445 **
>> 
>> Can I use these results to manually calculate
>> a predicted value of Y with a give set of new Xs? like
>> X1 = 200
>> X2 = 150
>> X3 = 5
>> 
>> I can easily calculate the predicted Y as
>> Y = -9 + 200*1.87 + 150*0.39 + 5*0.28
> 
> I don't think this is enough information to get the prediction
> confidence interval. You need the entire covariance matrix of the
> parameter estimates.
> 
> Roughly (I would need to check the details):
> the parameter estimate is from a multivariate normal distribution,
> your y is a linear transformation, so the prediction should be normal
> distributed with mean y = Y = X*beta, and var(y) = X' * cov_beta * X +
> var_u_estimate (dot products for appropriate shapes)
> 
> Without knowing the covariance matrix of the parameter estimates, you
> would have to assume that cov_beta is diagonal which is almost surely
> not the case.
> 
> Josef




More information about the SciPy-User mailing list