Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: prediction of model using svy-commands


From   "Michael I. Lichter" <[email protected]>
To   [email protected]
Subject   Re: st: prediction of model using svy-commands
Date   Fri, 09 Oct 2009 17:23:07 -0400

Rune,

Here's one additional idea. Use -adjust-. I believe that the standard error of a predicted Y-hat is slightly different from the standard error of an adjusted Y-bar, but perhaps the latter will be good enough for you. Note that you will have to tell -adjust- to restrict its calculations to the estimation sample if that's what you want; -prvalue- does this automatically. You should get identical point estimates from both, but wider confidence intervals from -adjust-.

The following program shows that -adjust- and -prvalue- generate the same point estimates, and that they generate *nearly* the same CIs for the non-survey regression, but the confidence intervals using -adjust- for the survey regression are clearly wider, as you would expect.

-----
clear all
sysuse auto
set seed 20091009
bysort foreign: gen psu = runiform() >= .5
svyset psu [pw=mpg], strata(foreign)
reg price weight
prvalue, x(weight=2000)
adjust weight=2000 if e(sample), ci
svy: reg price weight
prvalue, x(weight=2000)
adjust weight=2000 if e(sample), ci
-----

Output edited to show only -adjust- and -prvalue-


. reg price weight
. prvalue, x(weight=2000)

regress: Predictions for price

                               95% Conf. Interval
 Predicted y:        4081.4   [   3137,    5025.9]

   weight
x=    2000

. adjust weight=2000 if e(sample), ci

-------------------------------------------------------------------------------
    Dependent variable: price     Command: regress
Covariate set to value: weight = 2000
-------------------------------------------------------------------------------

----------------------------------------------
     All |         xb          lb          ub
----------+-----------------------------------
         |    4081.42    [3120.83    5042.01]
----------------------------------------------
    Key:  xb         =  Linear Prediction
          [lb , ub]  =  [95% Confidence Interval]



. svy: reg price weight

. prvalue, x(weight=2000)

regress: Predictions for price

                               95% Conf. Interval
 Predicted y:        4241.1   [ 4067.2,    4415.1]

   weight
x=    2000

. adjust weight=2000 if e(sample), ci

-------------------------------------------------------------------------------
    Dependent variable: price     Command: regress
Covariate set to value: weight = 2000
-------------------------------------------------------------------------------

----------------------------------------------
     All |         xb          lb          ub
----------+-----------------------------------
         |    4241.12    [3859.26    4622.99]
----------------------------------------------
    Key:  xb         =  Linear Prediction
          [lb , ub]  =  [95% Confidence Interval]


Michael


Rune Nielsen wrote:
Michael,
your solution works out fine, thank you. I created dummys for my variables, and then set version to 10.1.

However, in their 2006 "Regression Models for Categorical Dependent Variables Using Stata" Long and Freeze says that "Unfortunately, our SPost commands do not work when the svy prefix is specified." So, now my question is whether I can trust the confidence intervals that the prvalue produces?

Grateful if anyone could answer this.

Best wishes

Rune





Den 8. okt. 2009 kl. 19.31 skrev Michael I. Lichter:

Rune,

I was hoping somebody with Stata 11.0 would answer you. That not being the case ...

1. On J Scott Long's SPost web site, he says "Stata 11 news: The package spost9_ado does not work with factor variables. We have updated prchange (v 1.8.1) and countfit (0.8.1) to work with Stata 11. We are still working with StataCorp to make SPost work with mlogit under Stata 11. In the short run, the easiest thing is run mlogit under version control. So instead of: "mlogit y a b c" use "version 10.1: mlogit y a b c" Then the SPost commands should work fine. If you encounter other problems using Stata 11, let us know. 10Sep09." (http://www.indiana.edu/~jslsoc/spost.htm)

2. I presume you were aware of this and that's why you did not use factor variables directly in -prvalue-. Nevertheless, -prvalue- is complaining about factor variables. Have you tried creating dummy variables and using those instead? You can use, e.g., -tab GOLDogrestr, gen(GOLD)- to do this. You don't have to try it with the whole model ... unless it works with a partial model.

3. You could also try what he suggests for mlogit: "version 10.1: svy: regress y a b c".

4. If I knew how to calculate confidence intervals for predictions I would tell you. Perhaps somebody else will chime in. Short of that, I can tell you that prvalue.ado calls _peciml.ado to find the upper and lower bounds, and you can see it with -viewsource _peciml.ado-.

Michael


Rune Nielsen wrote:
Hi, I'm using stata 11.0 on a Mac with os 10.6. I'm using spost 9. After setting the survey parameters I try running this regression:
/svyset [pweight=vekt_alle], strata(kilde)/
/svy: regress log_kost i.GOLDogrestr i.kjonn_omv i.smoke_bin alder2006 i.utdannelse_omv if har364dg==1 & n474==100/

when I try using prvalue:
/prvalue, x(_IGOLDogres_2=0 _IGOLDogres_3=0 _IGOLDogres_4=0 _Ikjonn_omv_1=0.415 _Ismoke_bin_1=0.559 _Iutdannels_1=0.479 _Iutdannels_2=0.3047 alder2006=61.868) /

I get this error:

/factor variables and time-series operators not allowed/

However, if I try doing this without the svy-prefix, spost manages to predict nicely. I'm not that skilled, so perhaps there is some kind of obvious error in my commands?

Best wishes,

Rune


Den 8. okt. 2009 kl. 09.42 skrev Michael I. Lichter:

What version of Stata are you using, what version of spost, what command line are you using, and what do you mean by "not possible"? In Stata 10.1, using spost9, I just ran -svy: reg depvar age gender- followed by -prvalue, x(age=50)- and got a sensible answer from -prvalue- (I did not, however, verify that the answer was correct).

Michael

Rune Nielsen wrote:
Dear statalist-members,
I'm running a model (multiple linear regression) using the /svy/-prefix to adjust for a stratified sample. The outcome is log-transformed due to large left-skewing. I would like to do some predictions using prvalue from the spost-package. However, this is not possible when I've used the survey-version of/ regress/. Does anybody know a simple solution to this? I've already tried running the model without svy, but specifying pweight and vce(cluster clustervar), but then I don't get reliable confidence intervals.
Grateful for any answers (in simple language for a non-statician)

Best wishes,

Rune Nielsen

---
Rune Nielsen, MD, research fellow
Institute of Medicine, Bergen, Norway

--
Michael I. Lichter, Ph.D. <[email protected] <mailto:[email protected]>>
Research Assistant Professor & NRSA Fellow
UB Department of Family Medicine / Primary Care Research Institute
UB Clinical Center, 462 Grider Street, Buffalo, NY 14215
Office: CC 126 / Phone: 716-898-4751 / FAX: 716-898-3536

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


--
Michael I. Lichter, Ph.D. <[email protected]>
Research Assistant Professor & NRSA Fellow
UB Department of Family Medicine / Primary Care Research Institute
UB Clinical Center, 462 Grider Street, Buffalo, NY 14215
Office: CC 126 / Phone: 716-898-4751 / FAX: 716-898-3536

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

--
Michael I. Lichter, Ph.D. <[email protected]>
Research Assistant Professor & NRSA Fellow
UB Department of Family Medicine / Primary Care Research Institute
UB Clinical Center, 462 Grider Street, Buffalo, NY 14215
Office: CC 126 / Phone: 716-898-4751 / FAX: 716-898-3536

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index